org.broadinstitute.hellbender.tools.spark.pipelines.PrintVariantsSpark Maven / Gradle / Ivy
The newest version!
package org.broadinstitute.hellbender.tools.spark.pipelines;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.broadinstitute.barclay.argparser.Argument;
import org.broadinstitute.barclay.argparser.BetaFeature;
import org.broadinstitute.barclay.argparser.CommandLineProgramProperties;
import org.broadinstitute.barclay.help.DocumentedFeature;
import org.broadinstitute.hellbender.cmdline.StandardArgumentDefinitions;
import picard.cmdline.programgroups.VariantManipulationProgramGroup;
import org.broadinstitute.hellbender.engine.spark.VariantWalkerContext;
import org.broadinstitute.hellbender.engine.spark.VariantWalkerSpark;
import org.broadinstitute.hellbender.engine.spark.datasources.VariantsSparkSink;
import org.broadinstitute.hellbender.exceptions.UserException;
import java.io.IOException;
/**
* Print out variants from a VCF file.
*
* Input
*
* A VCF file.
*
*
* Output
*
* A new file containing the variants.
*
*
* Usage example
*
* gatk PrintVariantsSpark \
* -V input.vcf.gz \
* -L chr1 \
* -O output.vcf.gz
*
*
*/
@CommandLineProgramProperties(
summary = "Prints out variants from the input VCF file.",
oneLineSummary = "Prints out variants from the input VCF.",
programGroup = VariantManipulationProgramGroup.class)
@DocumentedFeature
public final class PrintVariantsSpark extends VariantWalkerSpark {
private static final long serialVersionUID = 1L;
@Argument(doc = "Uri for the output file (a local file path).",
shortName = StandardArgumentDefinitions.OUTPUT_SHORT_NAME,
fullName = StandardArgumentDefinitions.OUTPUT_LONG_NAME,
optional = false)
public String output;
@Override
protected void processVariants(JavaRDD rdd, JavaSparkContext ctx) {
try {
VariantsSparkSink.writeVariants(ctx, output, rdd.map(VariantWalkerContext::getVariant), getHeaderForVariants(),
createOutputVariantIndex, false);
} catch (IOException e) {
throw new UserException.CouldNotCreateOutputFile(output, "writing failed", e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy