diff --git a/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala b/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala index 2cfb86e50c557435e44cf082dee40312391a0070..08788a294d7e70237d8f7c88263e778d077c6323 100644 --- a/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala +++ b/biopet-utils/src/main/scala/nl/lumc/sasc/biopet/utils/intervals/BedRecordList.scala @@ -14,12 +14,12 @@ */ package nl.lumc.sasc.biopet.utils.intervals -import java.io.{ PrintWriter, File } +import java.io.{ File, PrintWriter } +import htsjdk.samtools.SAMSequenceDictionary import htsjdk.samtools.reference.FastaSequenceFile import scala.collection.JavaConversions._ - import scala.collection.mutable import scala.collection.mutable.ListBuffer import scala.io.Source @@ -154,8 +154,13 @@ object BedRecordList { def fromReference(file: File) = { val referenceFile = new FastaSequenceFile(file, true) + val dict = referenceFile.getSequenceDictionary + referenceFile.close() + fromDict(dict) + } - fromList(for (contig <- referenceFile.getSequenceDictionary.getSequences) yield { + def fromDict(dict: SAMSequenceDictionary) = { + fromList(for (contig <- dict.getSequences) yield { BedRecord(contig.getSequenceName, 0, contig.getSequenceLength) }) }