org.biojava3.core.sequence.io
Class FileProxyProteinSequenceCreator

java.lang.Object
  extended by org.biojava3.core.sequence.io.FileProxyProteinSequenceCreator
All Implemented Interfaces:
SequenceCreatorInterface<AminoAcidCompound>

public class FileProxyProteinSequenceCreator
extends Object
implements SequenceCreatorInterface<AminoAcidCompound>

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 ProteinSequence 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
FileProxyProteinSequenceCreator(File fastaFile, CompoundSet<AminoAcidCompound> compoundSet)
          Need File so that we can store full path name in SequenceFileProxyLoader for Random File access as a quick read
 
Method Summary
 AbstractSequence<AminoAcidCompound> getSequence(List<AminoAcidCompound> list)
          Not sure of use case and currently not supported
 AbstractSequence<AminoAcidCompound> getSequence(ProxySequenceReader<AminoAcidCompound> proxyLoader, long index)
          Should be able to extend the same concept to a remote URL call or database connection.
 AbstractSequence<AminoAcidCompound> 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

FileProxyProteinSequenceCreator

public FileProxyProteinSequenceCreator(File fastaFile,
                                       CompoundSet<AminoAcidCompound> 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<AminoAcidCompound> 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<AminoAcidCompound>
Parameters:
sequence -
index -
Returns:

getSequence

public AbstractSequence<AminoAcidCompound> getSequence(ProxySequenceReader<AminoAcidCompound> 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<AminoAcidCompound>
Parameters:
proxyLoader -
index -
Returns:

getSequence

public AbstractSequence<AminoAcidCompound> getSequence(List<AminoAcidCompound> list)
Not sure of use case and currently not supported

Specified by:
getSequence in interface SequenceCreatorInterface<AminoAcidCompound>
Parameters:
list -
Returns: