diff --git a/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala index 7b0e5d1be..b078bcd4f 100644 --- a/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala +++ b/public/scala/src/org/broadinstitute/sting/queue/util/QScriptUtils.scala @@ -79,8 +79,23 @@ object QScriptUtils { if (sample.isEmpty) sample = r.getSample else if (sample != r.getSample) - return true; + return true } false } + + /** + * Returns all distinct samples in the BAM file + * + * @param bam the bam file + * @return a set with all distinct samples (in no particular order) + */ + def getSamplesFromBAM(bam: File) : Set[String] = { + val reader = new SAMFileReader(bam) + var samples: Set[String] = Set() + for (rg <- reader.getFileHeader.getReadGroups) { + samples += rg.getSample + } + samples + } }