From: Julian G. <jul...@em...> - 2013-08-31 07:50:46
|
Hi, Can Picard's 'MergeSamFiles' handle a BAM header that specifies 'SO' as 'unknown'? This is valid in the current SAM specs (http://samtools.sourceforge.net/SAM1.pdf), but seems to break Picard: [Sat Aug 31 08:46:13 BST 2013] net.sf.picard.sam.MergeSamFiles INPUT=[out.bam] OUTPUT=out-sort.bam CREATE_INDEX=true SORT_ORDER=coordinate ASSUME_SORTED=false MERGE_SEQUENCE_DICTIONARIES=false USE_THREADING=false VERBOSITY=INFO QUIET=false VALIDATION_STRINGENCY=STRICT COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_MD5_FILE=false [Sat Aug 31 08:46:13 BST 2013] Executing as jge...@eb... on Linux 2.6.32-358.14.1.el6.x86_64 amd64; OpenJDK 64-Bit Server VM 1.6.0_24-b24; Picard version: 1.97(1540) [Sat Aug 31 08:46:14 BST 2013] net.sf.picard.sam.MergeSamFiles done. Elapsed time: 0.01 minutes. Runtime.totalMemory()=1138294784 To get help, see http://picard.sourceforge.net/index.shtml#GettingHelp Exception in thread "main" java.lang.IllegalArgumentException: No enum const class net.sf.samtools.SAMFileHeader$SortOrder.unknown at java.lang.Enum.valueOf(Enum.java:214) at net.sf.samtools.SAMFileHeader$SortOrder.valueOf(SAMFileHeader.java:58) at net.sf.samtools.SAMFileHeader.getSortOrder(SAMFileHeader.java:239) at net.sf.picard.sam.MergeSamFiles.doWork(MergeSamFiles.java:109) at net.sf.picard.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:177) at net.sf.picard.sam.MergeSamFiles.main(MergeSamFiles.java:79) This results from a header line: "@HD VN:1.0 SO:unknown". Changing the header to "@HD VN:1.0 SO:unsorted" fixes the problem. Best wishes Julian |