org.biojava3.core.sequence.io
Class FileProxyDNASequenceCreator

java.lang.Object
  extended by org.biojava3.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
FileProxyDNASequenceCreator(File fastaFile, CompoundSet<NucleotideCompound> compoundSet)
          Need File so that we can store full path name in SequenceFileProxyLoader for Random File access as a quick read
 
Method Summary
 AbstractSequence<NucleotideCompound> getSequence(List<NucleotideCompound> list)
          Not sure of use case and currently not supported
 AbstractSequence<NucleotideCompound> getSequence(ProxySequenceReader<NucleotideCompound> proxyLoader, long index)
          Should be able to extend the same concept to a remote URL call or database connection.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileProxyDNASequenceCreator

public FileProxyDNASequenceCreator(File fastaFile,
                                   CompoundSet<NucleotideCompound> compoundSet)
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)
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 interface SequenceCreatorInterface<NucleotideCompound>
Parameters:
sequence -
index -
Returns:

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 interface SequenceCreatorInterface<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 interface SequenceCreatorInterface<NucleotideCompound>
Parameters:
list -
Returns: