Skip to content
Snippets Groups Projects
Commit 99cfede4 authored by Sander Bollen's avatar Sander Bollen
Browse files

get sample names from vcf when pipeline is started by itself

parent 9bd8f666
No related branches found
No related tags found
No related merge requests found
......@@ -15,10 +15,11 @@
*/
package nl.lumc.sasc.biopet.utils
import java.io.File
import java.util
import htsjdk.variant.variantcontext.VariantContext
import htsjdk.variant.vcf.{ VCFHeader, VCFFilterHeaderLine }
import htsjdk.variant.vcf.{VCFFileReader, VCFHeader, VCFFilterHeaderLine}
import scala.collection.JavaConversions._
......@@ -90,4 +91,16 @@ object VcfUtils {
def isBlockGVcf(header: VCFHeader): Boolean = {
header.getMetaDataLine("GVCFBlock") != null
}
/**
* Get sample IDs from vcf File
* @param vcf File object pointing to vcf
* @return list of strings with sample IDs
*/
def getSampleIds(vcf: File): List[String] = {
val reader = new VCFFileReader(vcf, false)
val samples = reader.getFileHeader.getSampleNamesInOrder.toList
reader.close()
samples
}
}
......@@ -24,7 +24,7 @@ import nl.lumc.sasc.biopet.core.summary.SummaryQScript
import nl.lumc.sasc.biopet.core._
import nl.lumc.sasc.biopet.extensions.{ Ln, Gzip, VariantEffectPredictor }
import nl.lumc.sasc.biopet.extensions.tools.{ GvcfToBed, VcfFilter, VcfWithVcf, VepNormalizer }
import nl.lumc.sasc.biopet.utils.ConfigUtils
import nl.lumc.sasc.biopet.utils.{VcfUtils, ConfigUtils}
import org.broadinstitute.gatk.queue.QScript
/**
......@@ -43,7 +43,7 @@ class Toucan(val root: Configurable) extends QScript with BiopetQScript with Sum
inputFiles :+= new InputFile(inputVCF)
sampleIds = root match {
case m: MultiSampleQScript => m.samples.keys.toList
case null => Nil //TODO: get names from vcf header
case null => VcfUtils.getSampleIds(inputVCF)
case s: SampleLibraryTag => s.sampleId.toList
case _ => throw new IllegalArgumentException("You don't have any samples")
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment