Class FileProxyDNASequenceCreator
- java.lang.Object
-
- org.biojava.nbio.core.sequence.io.FileProxyDNASequenceCreator
-
- All Implemented Interfaces:
SequenceCreatorInterface<NucleotideCompound>
public class FileProxyDNASequenceCreator extends Object implements SequenceCreatorInterface<NucleotideCompound>
This class is a good example of using the SequenceCreatorInterface where during parsing of the stream the sequence and the offset index are passed to create a Protein sequence that will be loaded in lazily. This way you can load very large fasta files and store accession id and delay loading the sequence to save memory. The index is the file stream offset so when a DNASequence has a call to getSequence() the SequenceFileProxyLoader will open the file and offset to the index and retrieve the sequence. Same approach can be used for genome sequence data stored in a local fasta file, in a database or via http interface to a remote server- Author:
- Scooter Willis
-
-
Constructor Summary
Constructors Constructor Description FileProxyDNASequenceCreator(File file, CompoundSet<NucleotideCompound> compoundSet, SequenceParserInterface sequenceParser)
Need File so that we can store full path name in SequenceFileProxyLoader for Random File access as a quick read
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractSequence<NucleotideCompound>
getSequence(String sequence, long index)
Even though we are passing in the sequence we really only care about the length of the sequence and the offset index in the fasta file.AbstractSequence<NucleotideCompound>
getSequence(List<NucleotideCompound> list)
Not sure of use case and currently not supportedAbstractSequence<NucleotideCompound>
getSequence(ProxySequenceReader<NucleotideCompound> proxyLoader, long index)
Should be able to extend the same concept to a remote URL call or database connection.
-
-
-
Constructor Detail
-
FileProxyDNASequenceCreator
public FileProxyDNASequenceCreator(File file, CompoundSet<NucleotideCompound> compoundSet, SequenceParserInterface sequenceParser)
Need File so that we can store full path name in SequenceFileProxyLoader for Random File access as a quick read- Parameters:
fastaFile
-compoundSet
-
-
-
Method Detail
-
getSequence
public AbstractSequence<NucleotideCompound> getSequence(String sequence, long index) throws CompoundNotFoundException, IOException
Even though we are passing in the sequence we really only care about the length of the sequence and the offset index in the fasta file.- Specified by:
getSequence
in interfaceSequenceCreatorInterface<NucleotideCompound>
- Parameters:
sequence
-index
-- Returns:
- Throws:
CompoundNotFoundException
IOException
-
getSequence
public AbstractSequence<NucleotideCompound> getSequence(ProxySequenceReader<NucleotideCompound> proxyLoader, long index)
Should be able to extend the same concept to a remote URL call or database connection. Not supported yet- Specified by:
getSequence
in interfaceSequenceCreatorInterface<NucleotideCompound>
- Parameters:
proxyLoader
-index
-- Returns:
-
getSequence
public AbstractSequence<NucleotideCompound> getSequence(List<NucleotideCompound> list)
Not sure of use case and currently not supported- Specified by:
getSequence
in interfaceSequenceCreatorInterface<NucleotideCompound>
- Parameters:
list
-- Returns:
-
-