use of au.edu.wehi.idsv.GenomicProcessingContext in project gridss by PapenfussLab.
the class ComputeCoverage method initIntervalCoverageAccumulator.
private IntervalCoverageAccumulator initIntervalCoverageAccumulator() {
SAMSequenceDictionary dictionary = getReference().getSequenceDictionary();
if (VCF == null) {
return new IntervalCoverageAccumulator(COVERAGE_METHOD, dictionary, BIN_SIZE, null);
} else {
try (VCFFileReader vcfReader = new VCFFileReader(VCF, false)) {
try (CloseableIterator<VariantContext> it = vcfReader.iterator()) {
GenomicProcessingContext pc = new GenomicProcessingContext(new FileSystemContext(TMP_DIR.get(0), MAX_RECORDS_IN_RAM), REFERENCE_SEQUENCE, getReference());
Iterator<IdsvVariantContext> idsvIt = Iterators.transform(it, variant -> IdsvVariantContext.create(pc, null, variant));
Iterator<VariantContextDirectedEvidence> bpit = Iterators.filter(idsvIt, VariantContextDirectedEvidence.class);
return new IntervalCoverageAccumulator(COVERAGE_METHOD, dictionary, BIN_SIZE, bpit);
}
}
}
}
use of au.edu.wehi.idsv.GenomicProcessingContext in project gridss by PapenfussLab.
the class SoftClipsToSplitReads method doWork.
@Override
protected int doWork() {
log.debug("Setting language-neutral locale");
java.util.Locale.setDefault(Locale.ROOT);
validateParameters();
GenomicProcessingContext pc = new GenomicProcessingContext(getFileSystemContext(), REFERENCE_SEQUENCE, getReference());
pc.setCommandLineProgram(this);
pc.setFilterDuplicates(IGNORE_DUPLICATES);
SplitReadRealigner realigner = new SplitReadRealigner(pc);
realigner.setMinSoftClipLength(MIN_CLIP_LENGTH);
realigner.setMinSoftClipQuality(MIN_CLIP_QUAL);
realigner.setProcessSecondaryAlignments(PROCESS_SECONDARY_ALIGNMENTS);
realigner.setWorkerThreads(WORKER_THREADS);
try {
SamReaderFactory readerFactory = SamReaderFactory.make();
SAMFileWriterFactory writerFactory = new SAMFileWriterFactory();
if (ALIGNER_STREAMING) {
ExternalProcessStreamingAligner aligner = new ExternalProcessStreamingAligner(readerFactory, ALIGNER_COMMAND_LINE, REFERENCE_SEQUENCE, WORKER_THREADS);
realigner.createSupplementaryAlignments(aligner, INPUT, OUTPUT);
} else {
ExternalProcessFastqAligner aligner = new ExternalProcessFastqAligner(readerFactory, writerFactory, ALIGNER_COMMAND_LINE);
realigner.createSupplementaryAlignments(aligner, INPUT, OUTPUT);
}
} catch (IOException e) {
log.error(e);
return -1;
}
return 0;
}
use of au.edu.wehi.idsv.GenomicProcessingContext in project gridss by PapenfussLab.
the class GenerateChromothripsis method doWork.
protected int doWork() {
try {
java.util.Locale.setDefault(Locale.ROOT);
IOUtil.assertFileIsReadable(REFERENCE);
GenomicProcessingContext pc = getProcessingContext();
FragmentedChromosome fc;
if (REPEATMASKER_OUTPUT == null) {
fc = new FragmentedChromosome(pc, CHR, PADDING, FRAGMENT_SIZE, RANDOM_SEED);
} else {
fc = new RepeatFragmentedChromosome(pc, CHR, PADDING, FRAGMENT_SIZE, REPEATMASKER_OUTPUT, CLASS_FAMILY, RANDOM_SEED);
}
fc.assemble(FASTA, VCF, FRAGMENTS, INCLUDE_REFERENCE);
} catch (Exception e) {
e.printStackTrace();
return 1;
}
return 0;
}
use of au.edu.wehi.idsv.GenomicProcessingContext in project gridss by PapenfussLab.
the class GenerateSimpleVariants method doWork.
// private static Log log = Log.getInstance(GenerateSimpleVariants.class);
@Override
protected int doWork() {
try {
java.util.Locale.setDefault(Locale.ROOT);
IOUtil.assertFileIsReadable(REFERENCE);
GenomicProcessingContext pc = getProcessingContext();
SimpleVariantChromosome gen = new SimpleVariantChromosome(pc, CHR, PADDING, RANDOM_SEED);
gen.assemble(FASTA, VCF, INCLUDE_REFERENCE, TYPE, SIZE, COPIES == null ? Integer.MAX_VALUE : COPIES);
} catch (Exception e) {
e.printStackTrace();
return 1;
}
return 0;
}
use of au.edu.wehi.idsv.GenomicProcessingContext in project gridss by PapenfussLab.
the class SimulationGenerator method getProcessingContext.
protected GenomicProcessingContext getProcessingContext() {
GenomicProcessingContext pc = new GenomicProcessingContext(new FileSystemContext(TMP_DIR.get(0), new File("."), MAX_RECORDS_IN_RAM), REFERENCE, null);
pc.setCommandLineProgram(this);
return pc;
}
Aggregations