Search in sources :

Example 1 with FastaSequenceFile

use of htsjdk.samtools.reference.FastaSequenceFile in project gridss by PapenfussLab.

the class GenomicProcessingContext method ensureSeqeunceDictionary.

/**
 * Ensures that a sequence dictionary exists for the given reference
 * @param referenceFile reference genome fasta
 */
protected void ensureSeqeunceDictionary(File referenceFile) {
    try {
        ReferenceSequenceFile rsf = new FastaSequenceFile(referenceFile, false);
        Path path = referenceFile.toPath().toAbsolutePath();
        if (rsf.getSequenceDictionary() == null) {
            log.info("Attempting to create sequence dictionary for " + referenceFile);
            Path dictPath = path.resolveSibling(path.getFileName().toString() + htsjdk.samtools.util.IOUtil.DICT_FILE_EXTENSION);
            picard.sam.CreateSequenceDictionary csd = new picard.sam.CreateSequenceDictionary();
            if (program != null) {
                CommandLineProgramHelper.copyInputs(program, csd);
            }
            csd.instanceMain(new String[] { "OUTPUT=" + dictPath.toFile(), "REFERENCE_SEQUENCE=" + referenceFile.getAbsolutePath() });
        }
        rsf.close();
    } catch (Exception e) {
        log.error("Sequence dictionary creation failed. Please create using picard CreateSequenceDictionary.", e);
    }
}
Also used : Path(java.nio.file.Path) FastaSequenceFile(htsjdk.samtools.reference.FastaSequenceFile) IndexedFastaSequenceFile(htsjdk.samtools.reference.IndexedFastaSequenceFile) ReferenceSequenceFile(htsjdk.samtools.reference.ReferenceSequenceFile) TwoBitBufferedReferenceSequenceFile(au.edu.wehi.idsv.picard.TwoBitBufferedReferenceSequenceFile) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException)

Aggregations

TwoBitBufferedReferenceSequenceFile (au.edu.wehi.idsv.picard.TwoBitBufferedReferenceSequenceFile)1 FastaSequenceFile (htsjdk.samtools.reference.FastaSequenceFile)1 IndexedFastaSequenceFile (htsjdk.samtools.reference.IndexedFastaSequenceFile)1 ReferenceSequenceFile (htsjdk.samtools.reference.ReferenceSequenceFile)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 Path (java.nio.file.Path)1