Search in sources :

Example 6 with Pulldown

use of org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown in project gatk-protected by broadinstitute.

the class GetBayesianHetCoverage method runMatchedNormalTumor.

/**
     * The matched norrmal-tumor workflow
     */
private void runMatchedNormalTumor() {
    final BayesianHetPulldownCalculator normalHetPulldownCalculator, tumorHetPulldownCalculator;
    final Pulldown normalHetPulldown, tumorHetPulldown;
    normalHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), IntervalList.fromFile(snpFile), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new BalancedHeterozygousPileupPriorModel());
    logger.info("Calculating the Het pulldown from the normal BAM file using the BALANCED prior...");
    normalHetPulldown = normalHetPulldownCalculator.getHetPulldown(normalBamFile, hetCallingStringency);
    logger.info("Writing Het pulldown from normal reads to " + normalHetOutputFile.toString());
    normalHetPulldown.write(normalHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.FULL);
    tumorHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), normalHetPulldown.getIntervals(), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new BalancedHeterozygousPileupPriorModel());
    logger.info("Calculating the Het pulldown from the tumor BAM file on Hets detected in the normal BAM file...");
    tumorHetPulldown = tumorHetPulldownCalculator.getTumorHetPulldownFromNormalPulldown(tumorBamFile, normalHetPulldown);
    logger.info("Writing Het pulldown from tumor reads to " + tumorHetOutputFile.toString());
    tumorHetPulldown.write(tumorHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.INTERMEDIATE);
}
Also used : Pulldown(org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown) BalancedHeterozygousPileupPriorModel(org.broadinstitute.hellbender.tools.exome.pulldown.BalancedHeterozygousPileupPriorModel) BayesianHetPulldownCalculator(org.broadinstitute.hellbender.tools.exome.pulldown.BayesianHetPulldownCalculator)

Example 7 with Pulldown

use of org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown in project gatk by broadinstitute.

the class GetBayesianHetCoverage method runNormalOnly.

/**
     * The normal-only workflow
     */
private void runNormalOnly() {
    final BayesianHetPulldownCalculator normalHetPulldownCalculator;
    final Pulldown normalHetPulldown;
    normalHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), IntervalList.fromFile(snpFile), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new BalancedHeterozygousPileupPriorModel());
    logger.info("Calculating the Het pulldown from the normal BAM file using the BALANCED prior...");
    normalHetPulldown = normalHetPulldownCalculator.getHetPulldown(normalBamFile, hetCallingStringency);
    logger.info("Writing Het pulldown from normal reads to " + normalHetOutputFile.toString());
    normalHetPulldown.write(normalHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.FULL);
}
Also used : Pulldown(org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown) BalancedHeterozygousPileupPriorModel(org.broadinstitute.hellbender.tools.exome.pulldown.BalancedHeterozygousPileupPriorModel) BayesianHetPulldownCalculator(org.broadinstitute.hellbender.tools.exome.pulldown.BayesianHetPulldownCalculator)

Example 8 with Pulldown

use of org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown in project gatk by broadinstitute.

the class GetBayesianHetCoverage method runTumorOnly.

/**
     * The tumor-only workflow
     */
private void runTumorOnly() {
    final BayesianHetPulldownCalculator tumorHetPulldownCalculator;
    final Pulldown tumorHetPulldown;
    tumorHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), IntervalList.fromFile(snpFile), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new HeterogeneousHeterozygousPileupPriorModel(minimumAbnormalFraction, maximumAbnormalFraction, maximumCopyNumber, quadratureOrder));
    logger.info("Calculating the Het pulldown from the tumor BAM file using the HETEROGENEOUS prior...");
    tumorHetPulldown = tumorHetPulldownCalculator.getHetPulldown(tumorBamFile, hetCallingStringency);
    logger.info("Writing Het pulldown from tumor reads to " + tumorHetOutputFile.toString());
    tumorHetPulldown.write(tumorHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.FULL);
}
Also used : HeterogeneousHeterozygousPileupPriorModel(org.broadinstitute.hellbender.tools.exome.pulldown.HeterogeneousHeterozygousPileupPriorModel) Pulldown(org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown) BayesianHetPulldownCalculator(org.broadinstitute.hellbender.tools.exome.pulldown.BayesianHetPulldownCalculator)

Example 9 with Pulldown

use of org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown in project gatk by broadinstitute.

the class GetHetCoverage method doWork.

@Override
protected Object doWork() {
    //if tumor arguments are missing, throw exception (and do not even get normal pulldown)
    final boolean doTumorPulldown;
    if (tumorHetOutputFile != null && tumorBAMFile != null) {
        doTumorPulldown = true;
    } else if ((tumorHetOutputFile == null) != (tumorBAMFile == null)) {
        throw new CommandLineException("Must specify both BAM and output files for tumor pulldown.");
    } else {
        doTumorPulldown = false;
    }
    final HetPulldownCalculator hetPulldown = new HetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), snpFile, minimumMappingQuality, minimumBaseQuality, VALIDATION_STRINGENCY);
    logger.info("Getting normal het pulldown...");
    final Pulldown normalHetPulldown = hetPulldown.getNormal(normalBAMFile, pvalThreshold, minimumRawReads);
    normalHetPulldown.write(normalHetOutputFile, AllelicCountTableVerbosity.BASIC);
    logger.info("Normal het pulldown written to " + normalHetOutputFile.toString());
    if (doTumorPulldown) {
        final IntervalList normalHetIntervals = normalHetPulldown.getIntervals();
        logger.info("Getting tumor het pulldown...");
        final Pulldown tumorHetPulldown = hetPulldown.getTumor(tumorBAMFile, normalHetIntervals, minimumRawReads);
        tumorHetPulldown.write(tumorHetOutputFile, AllelicCountTableVerbosity.BASIC);
        logger.info("Tumor het pulldown written to " + tumorHetOutputFile.toString());
    }
    return "SUCCESS";
}
Also used : Pulldown(org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown) IntervalList(htsjdk.samtools.util.IntervalList) HetPulldownCalculator(org.broadinstitute.hellbender.tools.exome.pulldown.HetPulldownCalculator)

Example 10 with Pulldown

use of org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown in project gatk by broadinstitute.

the class GetBayesianHetCoverage method runMatchedNormalTumor.

/**
     * The matched norrmal-tumor workflow
     */
private void runMatchedNormalTumor() {
    final BayesianHetPulldownCalculator normalHetPulldownCalculator, tumorHetPulldownCalculator;
    final Pulldown normalHetPulldown, tumorHetPulldown;
    normalHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), IntervalList.fromFile(snpFile), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new BalancedHeterozygousPileupPriorModel());
    logger.info("Calculating the Het pulldown from the normal BAM file using the BALANCED prior...");
    normalHetPulldown = normalHetPulldownCalculator.getHetPulldown(normalBamFile, hetCallingStringency);
    logger.info("Writing Het pulldown from normal reads to " + normalHetOutputFile.toString());
    normalHetPulldown.write(normalHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.FULL);
    tumorHetPulldownCalculator = new BayesianHetPulldownCalculator(REFERENCE_ARGUMENTS.getReferenceFile(), normalHetPulldown.getIntervals(), minimumMappingQuality, minimumBaseQuality, readDepthThreshold, VALIDATION_STRINGENCY, errorProbabilityAdjustmentFactor, new BalancedHeterozygousPileupPriorModel());
    logger.info("Calculating the Het pulldown from the tumor BAM file on Hets detected in the normal BAM file...");
    tumorHetPulldown = tumorHetPulldownCalculator.getTumorHetPulldownFromNormalPulldown(tumorBamFile, normalHetPulldown);
    logger.info("Writing Het pulldown from tumor reads to " + tumorHetOutputFile.toString());
    tumorHetPulldown.write(tumorHetOutputFile, AllelicCountTableColumn.AllelicCountTableVerbosity.INTERMEDIATE);
}
Also used : Pulldown(org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown) BalancedHeterozygousPileupPriorModel(org.broadinstitute.hellbender.tools.exome.pulldown.BalancedHeterozygousPileupPriorModel) BayesianHetPulldownCalculator(org.broadinstitute.hellbender.tools.exome.pulldown.BayesianHetPulldownCalculator)

Aggregations

Pulldown (org.broadinstitute.hellbender.tools.exome.pulldown.Pulldown)20 CommandLineProgramTest (org.broadinstitute.hellbender.CommandLineProgramTest)10 Test (org.testng.annotations.Test)10 AllelicCount (org.broadinstitute.hellbender.tools.exome.alleliccount.AllelicCount)8 SimpleInterval (org.broadinstitute.hellbender.utils.SimpleInterval)8 File (java.io.File)6 BayesianHetPulldownCalculator (org.broadinstitute.hellbender.tools.exome.pulldown.BayesianHetPulldownCalculator)6 BalancedHeterozygousPileupPriorModel (org.broadinstitute.hellbender.tools.exome.pulldown.BalancedHeterozygousPileupPriorModel)4 SamReader (htsjdk.samtools.SamReader)2 IntervalList (htsjdk.samtools.util.IntervalList)2 HetPulldownCalculator (org.broadinstitute.hellbender.tools.exome.pulldown.HetPulldownCalculator)2 HeterogeneousHeterozygousPileupPriorModel (org.broadinstitute.hellbender.tools.exome.pulldown.HeterogeneousHeterozygousPileupPriorModel)2 BeforeClass (org.testng.annotations.BeforeClass)2