Package htsjdk.samtools.reference
Class IndexedFastaSequenceFile
java.lang.Object
htsjdk.samtools.reference.IndexedFastaSequenceFile
- All Implemented Interfaces:
ReferenceSequenceFile,Closeable,AutoCloseable
A fasta file driven by an index for fast, concurrent lookups. Supports two interfaces:
the ReferenceSequenceFile for old-style, stateful lookups and a direct getter.
-
Constructor Summary
ConstructorsConstructorDescriptionIndexedFastaSequenceFile(File file) Open the given indexed fasta sequence file.IndexedFastaSequenceFile(File file, FastaSequenceIndex index) Open the given indexed fasta sequence file.IndexedFastaSequenceFile(String source, SeekableStream in, FastaSequenceIndex index, SAMSequenceDictionary dictionary) Initialise the given indexed fasta sequence file stream.IndexedFastaSequenceFile(Path path) Open the given indexed fasta sequence file.IndexedFastaSequenceFile(Path path, FastaSequenceIndex index) Open the given indexed fasta sequence file. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleancanCreateIndexedFastaReader(File fastaFile) Deprecated.static booleancanCreateIndexedFastaReader(Path fastaFile) Deprecated.voidclose()protected SAMSequenceDictionaryAttempts to find and load the sequence dictionary if present.protected static PathfindFastaIndex(Path fastaFile) protected static PathfindRequiredFastaIndexFile(Path fastaFile) protected static FilefindSequenceDictionary(File file) Deprecated.use findSequenceDictionary(Path) instead.protected static PathfindSequenceDictionary(Path fastaPath) Attempts to locate the sequence dictionary file adjacent to the reference fasta file.protected StringReturns the full path to the reference file.getIndex()protected PathgetPath()Returns the path to the reference file.getSequence(String contig) Retrieves the complete sequence described by this contig.Returns the list of sequence records associated with the reference sequence if found otherwise null.protected StringReturns the named source of the reference file.getSubsequenceAt(String contig, long start, long stop) Gets the subsequence of the contig in the range [start,stop]final booleandefault implementation -- override if index is supportedGets the next sequence if available, or null if not present.protected intreadFromPosition(ByteBuffer buffer, long position) Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.voidreset()Reset the iterator over the index.protected static voidsanityCheckDictionaryAgainstIndex(String fastaFile, SAMSequenceDictionary sequenceDictionary, FastaSequenceIndex index) Do some basic checking to make sure the dictionary and the index match.toString()Returns the full path to the reference file, or the source if no path was specified.
-
Constructor Details
-
IndexedFastaSequenceFile
Open the given indexed fasta sequence file. Throw an exception if the file cannot be opened.- Parameters:
file- The file to open.index- Pre-built FastaSequenceIndex, for the case in which one does not exist on disk.- Throws:
FileNotFoundException- If the fasta or any of its supporting files cannot be found.
-
IndexedFastaSequenceFile
Open the given indexed fasta sequence file. Throw an exception if the file cannot be opened.- Parameters:
file- The file to open.- Throws:
FileNotFoundException- If the fasta or any of its supporting files cannot be found.
-
IndexedFastaSequenceFile
Open the given indexed fasta sequence file. Throw an exception if the file cannot be opened.- Parameters:
path- The file to open.index- Pre-built FastaSequenceIndex, for the case in which one does not exist on disk.
-
IndexedFastaSequenceFile
Open the given indexed fasta sequence file. Throw an exception if the file cannot be opened.- Parameters:
path- The file to open.- Throws:
FileNotFoundException- If the fasta or any of its supporting files cannot be found.
-
IndexedFastaSequenceFile
public IndexedFastaSequenceFile(String source, SeekableStream in, FastaSequenceIndex index, SAMSequenceDictionary dictionary) Initialise the given indexed fasta sequence file stream.- Parameters:
source- The named source of the reference file (used in error messages).in- The input stream to read the fasta file from.index- The fasta index.dictionary- The sequence dictionary, or null if there isn't one.
-
-
Method Details
-
canCreateIndexedFastaReader
Deprecated. -
canCreateIndexedFastaReader
Deprecated. -
readFromPosition
Reads a sequence of bytes from this channel into the given buffer, starting at the given file position.- Parameters:
buffer- the buffer into which bytes are to be transferredposition- the position to start reading at- Returns:
- the number of bytes read
- Throws:
IOException- if an I/O error occurs while reading
-
close
- Throws:
IOException
-
findRequiredFastaIndexFile
- Throws:
FileNotFoundException
-
findFastaIndex
-
sanityCheckDictionaryAgainstIndex
protected static void sanityCheckDictionaryAgainstIndex(String fastaFile, SAMSequenceDictionary sequenceDictionary, FastaSequenceIndex index) Do some basic checking to make sure the dictionary and the index match.- Parameters:
fastaFile- Used for error reporting only.sequenceDictionary- sequence dictionary to check against the index.index- index file to check against the dictionary.
-
getIndex
-
nextSequence
Gets the next sequence if available, or null if not present.- Returns:
- next sequence if available, or null if not present.
-
reset
public void reset()Reset the iterator over the index. -
isIndexed
public final boolean isIndexed()default implementation -- override if index is supported- Specified by:
isIndexedin interfaceReferenceSequenceFile- Returns:
- true if getSequence and getSubsequenceAt methods are allowed.
-
getSequence
Retrieves the complete sequence described by this contig.- Specified by:
getSequencein interfaceReferenceSequenceFile- Parameters:
contig- contig whose data should be returned.- Returns:
- The full sequence associated with this contig.
-
getSubsequenceAt
Gets the subsequence of the contig in the range [start,stop]- Specified by:
getSubsequenceAtin interfaceReferenceSequenceFile- Parameters:
contig- Contig whose subsequence to retrieve.start- inclusive, 1-based start of region.stop- inclusive, 1-based stop of region.- Returns:
- The partial reference sequence associated with this range.
-
findAndLoadSequenceDictionary
Attempts to find and load the sequence dictionary if present. -
findSequenceDictionary
Deprecated.use findSequenceDictionary(Path) instead. -
findSequenceDictionary
Attempts to locate the sequence dictionary file adjacent to the reference fasta file. -
getPath
Returns the path to the reference file. -
getSource
Returns the named source of the reference file. -
getSequenceDictionary
Returns the list of sequence records associated with the reference sequence if found otherwise null.- Specified by:
getSequenceDictionaryin interfaceReferenceSequenceFile- Returns:
- a list of sequence records representing the sequences in this reference file
-
getAbsolutePath
Returns the full path to the reference file. -
toString
Returns the full path to the reference file, or the source if no path was specified.- Specified by:
toStringin interfaceReferenceSequenceFile- Overrides:
toStringin classObject- Returns:
- Reference name, file name, or something other human-readable representation.
-
ReferenceSequenceFileFactory.canCreateIndexedFastaReader(Path)instead.