epifluidlab / FinaleMe

MIT License
9 stars 2 forks source link

error Exception in thread "main" java.lang.IllegalArgumentException: Invalid reference index -1 #8

Closed mxyoyeme closed 3 weeks ago

mxyoyeme commented 5 months ago

Hello, it is great work.

However, I encontered error in the very first step following your tutorial.

The script I was using is shown below:

java -Xmx20G -cp "target/FinaleMe-0.58-jar-with-dependencies.jar:lib/gatk-package-distribution-3.3.jar:lib/sis-jhdf5-batteries_included.jar:lib/java-genomics-io.jar:lib/igv.jar" org.cchmc.epifluidlab.finaleme.utils.CpgMultiMetricsStats hg19.2bit CG_motif.hg19.common_chr.pos_only.bedgraph CG_motif.hg19.common_chr.pos_only.bedgraph BH01.chr22.bam CpgMultiMetricsStats.hg19.details.bed.gz -stringentPaired -excludeRegions wgEncodeDukeMapabilityRegionsExcludable_wgEncodeDacMapabilityConsensusExcludable.hg19.bed -valueWigs methyPrior:0:wgbs_buffyCoat_jensen2015GB.methy.hg19.bw -wgsMode

The error message is shown below:

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/mnt/d/cfDNA.zn/FinaleMe/target/FinaleMe-0.58-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/mnt/d/cfDNA.zn/FinaleMe/lib/gatk-package-distribution-3.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] INFO [2024-06-11 16:50:29,633] [CpgMultiMetricsStats.java:192] [main] Processing interval file ... INFO [2024-06-11 16:50:29,657] [CpgMultiMetricsStats.java:199] [main] Excluding intervals ... INFO [2024-06-11 16:50:29,666] [CpgMultiMetricsStats.java:407] [main] Loading value interval big wig file ... INFO [2024-06-11 16:50:29,721] [CpgMultiMetricsStats.java:437] [main] Automate generate all k-mer until length 0 INFO [2024-06-11 16:50:29,721] [CpgMultiMetricsStats.java:482] [main] Loading CpG interval file ... INFO [2024-06-11 16:50:44,803] [CpgMultiMetricsStats.java:536] [main] Get total reads number used for scaling from bam file... INFO [2024-06-11 16:51:15,272] [CpgMultiMetricsStats.java:554] [main] 27006990 reads in total ... INFO [2024-06-11 16:51:15,272] [CpgMultiMetricsStats.java:556] [main] Output value for each CpG in each DNA fragment ... Exception in thread "main" java.lang.IllegalArgumentException: Invalid reference index -1 at htsjdk.samtools.QueryInterval.(QueryInterval.java:24) at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.query(SamReader.java:503) at htsjdk.samtools.SamReader$PrimitiveSamReaderToSamReaderAdapter.queryOverlapping(SamReader.java:365) at org.cchmc.epifluidlab.finaleme.utils.CpgMultiMetricsStats.doMain(CpgMultiMetricsStats.java:598) at org.cchmc.epifluidlab.finaleme.utils.CpgMultiMetricsStats.main(CpgMultiMetricsStats.java:144)

Any advice?

Thanks a lot!

TongZhou202103 commented 3 months ago

I have the same problem as you!!!! Have you solved it?

mxyoyeme commented 2 months ago

I have the same problem as you!!!! Have you solved it?

No. Did you?

brmprnk commented 3 weeks ago

Hi all, I forked the repo on my page with a potential fix to your problem. For me this error was due to the hg19 file calling chromosome 22 by 'chr22' and the example .bam file calling chromosome 22 as '22', so couldn't access the contig. Check the file src/main/java/org/cchmc/epifluidlab/finaleme/utils/CpgMultiMetricsStats.java in my fork to see the change from the original. All the best!

dnaase commented 3 weeks ago

there is an option in CpgMultiMetricsStats: -useNoChrPrefixBam