Class SequenceFileProxyLoader<C extends Compound>
- java.lang.Object
-
- org.biojava.nbio.core.sequence.loader.SequenceFileProxyLoader<C>
-
- Type Parameters:
C
-
- All Implemented Interfaces:
Iterable<C>
,Accessioned
,ProxySequenceReader<C>
,Sequence<C>
,SequenceReader<C>
public class SequenceFileProxyLoader<C extends Compound> extends Object implements ProxySequenceReader<C>
This class represents the storage container of a sequence stored in a fasta file where the initial parsing of the file we store the offset and length of the sequence. When a call is made to any method that needs sequence data then the file will be opened and the sequence loaded. This class could be improved by using the hints or a some algorithm that indicates the sequence data once loaded should stay loaded. Could keep track of the last time sequence data was loaded and then after X amount of time clear the contents to free up memory.- Author:
- Scooter Willis
-
-
Constructor Summary
Constructors Constructor Description SequenceFileProxyLoader(File file, SequenceParserInterface sequenceParser, long sequenceStartIndex, int sequenceLength, CompoundSet<C> compoundSet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
countCompounds(C... compounds)
Returns the number of times we found a compound in the Sequenceboolean
equals(Object o)
AccessionID
getAccession()
Returns the AccessionID this location is currently bound withList<C>
getAsList()
Returns the Sequence as a List of compoundsC
getCompoundAt(int position)
Returns the Compound at the given biological indexCompoundSet<C>
getCompoundSet()
Gets the compound set used to back this Sequenceint
getIndexOf(C compound)
Scans through the Sequence looking for the first occurrence of the given compoundSequenceView<C>
getInverse()
Does the right thing to get the inverse of the current Sequence.int
getLastIndexOf(C compound)
Scans through the Sequence looking for the last occurrence of the given compoundint
getLength()
Returns the length of the SequenceString
getSequenceAsString()
Returns the String representation of the SequenceString
getSequenceAsString(Integer bioBegin, Integer bioEnd, Strand strand)
SequenceView<C>
getSubSequence(Integer bioBegin, Integer bioEnd)
Returns a portion of the sequence from the different positions.int
hashCode()
Iterator<C>
iterator()
void
setCompoundSet(CompoundSet<C> compoundSet)
void
setContents(String sequence)
String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
SequenceFileProxyLoader
public SequenceFileProxyLoader(File file, SequenceParserInterface sequenceParser, long sequenceStartIndex, int sequenceLength, CompoundSet<C> compoundSet) throws IOException, CompoundNotFoundException
- Parameters:
file
- The file where the sequence will be foundsequenceParser
- The parser to use to load the sequencesequenceStartIndex
- The file offset to the start of the sequencesequenceLength
- The length of the sequencecompoundSet
-- Throws:
IOException
- if problems occur while reading the fileCompoundNotFoundException
- if a compound in the sequence can't be found in the given compoundSet
-
-
Method Detail
-
setCompoundSet
public void setCompoundSet(CompoundSet<C> compoundSet)
- Specified by:
setCompoundSet
in interfaceSequenceReader<C extends Compound>
- Parameters:
compoundSet
-
-
setContents
public void setContents(String sequence) throws CompoundNotFoundException
- Specified by:
setContents
in interfaceSequenceReader<C extends Compound>
- Parameters:
sequence
-- Throws:
CompoundNotFoundException
-
getLength
public int getLength()
Description copied from interface:Sequence
Returns the length of the Sequence
-
getCompoundAt
public C getCompoundAt(int position)
Description copied from interface:Sequence
Returns the Compound at the given biological index- Specified by:
getCompoundAt
in interfaceSequence<C extends Compound>
- Parameters:
position
-- Returns:
-
getIndexOf
public int getIndexOf(C compound)
Description copied from interface:Sequence
Scans through the Sequence looking for the first occurrence of the given compound- Specified by:
getIndexOf
in interfaceSequence<C extends Compound>
- Parameters:
compound
-- Returns:
-
getLastIndexOf
public int getLastIndexOf(C compound)
Description copied from interface:Sequence
Scans through the Sequence looking for the last occurrence of the given compound- Specified by:
getLastIndexOf
in interfaceSequence<C extends Compound>
- Parameters:
compound
-- Returns:
-
getSequenceAsString
public String getSequenceAsString()
Description copied from interface:Sequence
Returns the String representation of the Sequence- Specified by:
getSequenceAsString
in interfaceSequence<C extends Compound>
- Returns:
-
getSequenceAsString
public String getSequenceAsString(Integer bioBegin, Integer bioEnd, Strand strand)
- Parameters:
bioBegin
-bioEnd
-strand
-- Returns:
-
getAsList
public List<C> getAsList()
Description copied from interface:Sequence
Returns the Sequence as a List of compounds
-
getSubSequence
public SequenceView<C> getSubSequence(Integer bioBegin, Integer bioEnd)
Description copied from interface:Sequence
Returns a portion of the sequence from the different positions. This is indexed from 1- Specified by:
getSubSequence
in interfaceSequence<C extends Compound>
- Parameters:
bioBegin
-bioEnd
-- Returns:
-
getCompoundSet
public CompoundSet<C> getCompoundSet()
Description copied from interface:Sequence
Gets the compound set used to back this Sequence- Specified by:
getCompoundSet
in interfaceSequence<C extends Compound>
- Returns:
-
getAccession
public AccessionID getAccession()
Description copied from interface:Accessioned
Returns the AccessionID this location is currently bound with- Specified by:
getAccession
in interfaceAccessioned
- Returns:
-
countCompounds
public int countCompounds(C... compounds)
Description copied from interface:Sequence
Returns the number of times we found a compound in the Sequence- Specified by:
countCompounds
in interfaceSequence<C extends Compound>
- Parameters:
compounds
-- Returns:
-
getInverse
public SequenceView<C> getInverse()
Description copied from interface:Sequence
Does the right thing to get the inverse of the current Sequence. This means either reversing the Sequence and optionally complementing the Sequence.- Specified by:
getInverse
in interfaceSequence<C extends Compound>
- Returns:
-
-