broadinstitute / pilon

Pilon is an automated genome assembly improvement and variant detection tool
GNU General Public License v2.0
340 stars 60 forks source link

Caused by: java.lang.IllegalArgumentException: Cannot add sequence that already exists in SAMSequenceDictionary: #61

Closed tiramisutes closed 5 years ago

tiramisutes commented 6 years ago

I git follows error when used this software:

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.simontuffs.onejar.Boot.run(Boot.java:340)
    at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.IllegalArgumentException: Cannot add sequence that already exists in SAMSequenceDictionary: m160724_231041_42278_c100905242550000001823198804291694_s1_X0/56082/11510_49152
    at htsjdk.samtools.SAMSequenceDictionary.setSequences(SAMSequenceDictionary.java:68)
    at htsjdk.samtools.SAMSequenceDictionary.<init>(SAMSequenceDictionary.java:45)
    at htsjdk.samtools.SAMTextHeaderCodec.decode(SAMTextHeaderCodec.java:113)
    at htsjdk.samtools.BAMFileReader.readHeader(BAMFileReader.java:502)
    at htsjdk.samtools.BAMFileReader.<init>(BAMFileReader.java:165)
    at htsjdk.samtools.BAMFileReader.<init>(BAMFileReader.java:124)
    at htsjdk.samtools.SamReaderFactory$SamReaderFactoryImpl.open(SamReaderFactory.java:249)
    at htsjdk.samtools.SamReaderFactory$SamReaderFactoryImpl.open(SamReaderFactory.java:130)
    at org.broadinstitute.pilon.BamFile.reader(BamFile.scala:40)
    at org.broadinstitute.pilon.BamFile.<init>(BamFile.scala:46)
    at org.broadinstitute.pilon.Pilon$.optionParse(Pilon.scala:156)
    at org.broadinstitute.pilon.Pilon$.main(Pilon.scala:72)
    at org.broadinstitute.pilon.Pilon.main(Pilon.scala)
    ... 6 more

Have any suggestions? Thanks.

astewart-twist commented 5 years ago

It means that you have multiple sequences in your reference with the same id. For example:

>seq1
ACTG
>seq1
ACTG

You need to differentiate the IDs.