public class ProteinTree extends Object
Modifier and Type | Class and Description |
---|---|
class |
ProteinTree.PeptideIterator
Alphabetical iterator for the tree.
|
Modifier and Type | Field and Description |
---|---|
static int |
proteinBatchSize
The number of proteins which should be imported at a time.
|
static String |
version
The version of the protein tree.
|
Constructor and Description |
---|
ProteinTree(int memoryAllocation,
int cacheSize)
Creates a tree based on the proteins present in the sequence factory.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes all connections to files.
|
boolean |
deleteDb()
Try to delete the current database.
|
void |
emptyCache()
Empties the cache.
|
int |
getCacheSize()
Returns the size of the cache used for peptide mappings (note that there
are two of them).
|
Integer |
getInitialTagSize()
Returns the initial tag size of the tree.
|
HashMap<String,ArrayList<Integer>> |
getMatchedPeptideSequences(String peptideSequence,
String proteinAccession,
SequenceMatchingPreferences sequenceMatchingPreferences)
Returns a list of peptides matched using the given peptide sequence in
the given protein according the provided matching settings.
|
int |
getMemoryAllocation()
Returns the memory allocation.
|
int |
getNodesInCache()
Returns the number of nodes currently loaded in cache.
|
ProteinTree.PeptideIterator |
getPeptideIterator()
Returns a PeptideIterator which iterates alphabetically all peptides
corresponding to the end of a branch in the tree.
|
Integer |
getProteinLength(String accession)
Retrieves the length of a protein.
|
HashMap<String,HashMap<String,ArrayList<Integer>>> |
getProteinMapping(String peptideSequence,
SequenceMatchingPreferences proteinInferencePrefeerences)
Returns the protein mapping in the sequence factory for the given peptide
sequence.
|
HashMap<Peptide,HashMap<String,ArrayList<Integer>>> |
getProteinMapping(Tag tag,
SequenceMatchingPreferences sequenceMatchingPreferences,
Double massTolerance,
ArrayList<String> fixedModifications,
ArrayList<String> variableModifications,
boolean reportFixedPtms)
Returns the protein mappings for the given peptide sequence.
|
void |
initiateTree(int initialTagSize,
int maxNodeSize,
int maxPeptideSize,
Enzyme enzyme,
WaitingHandler waitingHandler,
boolean printExpectedImportTime,
boolean displayProgress,
int nThreads)
Initiates the tree.
|
void |
initiateTree(int initialTagSize,
int maxNodeSize,
int maxPeptideSize,
WaitingHandler waitingHandler,
boolean printExpectedImportTime,
boolean displayProgress,
int nThreads)
Initiates the tree.
|
void |
reduceNodeCacheSize(double share)
Reduces the node cache size by the given share.
|
void |
setCacheSize(int cacheSize)
Sets the size of the cache used for peptide mappings (note that there are
two of them).
|
void |
setMemoryAllocation(int memoryAllocation)
Sets the memory allocation.
|
public static final String version
public static final int proteinBatchSize
public ProteinTree(int memoryAllocation, int cacheSize) throws IOException
memoryAllocation
- the number of MB available for the tree in
memory.cacheSize
- the peptide queries caches size (note, there are two of
them)IOException
public int getMemoryAllocation()
public void setMemoryAllocation(int memoryAllocation)
memoryAllocation
- the memory allocationpublic void initiateTree(int initialTagSize, int maxNodeSize, int maxPeptideSize, WaitingHandler waitingHandler, boolean printExpectedImportTime, boolean displayProgress, int nThreads) throws IOException, IllegalArgumentException, InterruptedException, ClassNotFoundException, SQLException
nThreads
- the number of threads to useinitialTagSize
- the initial tag sizemaxNodeSize
- the maximal size of a node. large nodes will be fast
to initiate but slow to query. I typically use 500 giving an approximate
query time <20ms.maxPeptideSize
- the maximum peptide sizewaitingHandler
- the waiting handler used to display progress to the
user. Can be null but strongly recommended :)printExpectedImportTime
- if true the expected import time will be
printed to the waiting handlerdisplayProgress
- display progressIOException
IllegalArgumentException
InterruptedException
ClassNotFoundException
SQLException
public void initiateTree(int initialTagSize, int maxNodeSize, int maxPeptideSize, Enzyme enzyme, WaitingHandler waitingHandler, boolean printExpectedImportTime, boolean displayProgress, int nThreads) throws IOException, IllegalArgumentException, InterruptedException, IOException, IllegalArgumentException, InterruptedException, ClassNotFoundException, SQLException
nThreads
- the number of threads to useinitialTagSize
- the initial size of peptide tag. Large initial size
are fast to query, low initial size are fast to initiate. I typically use
3 for databases containing less than 100 000 proteins giving an
approximate initiation time of 60ms per accession.maxNodeSize
- the maximal size of a node. large nodes will be fast
to initiate but slow to query. I typically use 500 giving an approximate
query time <20ms.maxPeptideSize
- the maximum peptide sizeenzyme
- the enzyme used to select peptides. If null all possible
peptides will be indexedwaitingHandler
- the waiting handler used to display progress to the
user. Can be null.printExpectedImportTime
- if true the expected import time will be
printed to the waiting handlerdisplayProgress
- display progressIOException
IllegalArgumentException
InterruptedException
ClassNotFoundException
SQLException
public boolean deleteDb()
public HashMap<String,HashMap<String,ArrayList<Integer>>> getProteinMapping(String peptideSequence, SequenceMatchingPreferences proteinInferencePrefeerences) throws IOException, InterruptedException, ClassNotFoundException, SQLException
peptideSequence
- the peptide sequenceproteinInferencePrefeerences
- the sequence matching preferencesIOException
InterruptedException
ClassNotFoundException
SQLException
public HashMap<Peptide,HashMap<String,ArrayList<Integer>>> getProteinMapping(Tag tag, SequenceMatchingPreferences sequenceMatchingPreferences, Double massTolerance, ArrayList<String> fixedModifications, ArrayList<String> variableModifications, boolean reportFixedPtms) throws IOException, InterruptedException, ClassNotFoundException, SQLException
tag
- the tag to look for in the tree. Must contain a consecutive
amino acid sequence of longer or equal size than the initialTagSize of
the tree.sequenceMatchingPreferences
- the sequence matching preferencesmassTolerance
- the ms2 m/z tolerancefixedModifications
- the fixed modifications to considervariableModifications
- the variable modifications to considerreportFixedPtms
- a boolean indicating whether fixed PTMs should be
reported in the Peptide objectIOException
InterruptedException
ClassNotFoundException
SQLException
public void close() throws IOException, SQLException
IOException
SQLException
public int getCacheSize()
public void setCacheSize(int cacheSize)
cacheSize
- the size of the cache used for peptide mappingspublic void emptyCache()
public void reduceNodeCacheSize(double share)
share
- the share of the cache to remove. 0.5 means 50%public int getNodesInCache()
public HashMap<String,ArrayList<Integer>> getMatchedPeptideSequences(String peptideSequence, String proteinAccession, SequenceMatchingPreferences sequenceMatchingPreferences) throws IOException, InterruptedException, ClassNotFoundException, SQLException
peptideSequence
- the original peptide sequenceproteinAccession
- the accession of the protein of interestsequenceMatchingPreferences
- the sequence matching preferencesIOException
InterruptedException
SQLException
ClassNotFoundException
public ProteinTree.PeptideIterator getPeptideIterator() throws SQLException, IOException, ClassNotFoundException, InterruptedException
SQLException
IOException
ClassNotFoundException
InterruptedException
public Integer getProteinLength(String accession) throws SQLException, ClassNotFoundException, IOException, InterruptedException
accession
- the accession of the protein of interestSQLException
ClassNotFoundException
IOException
InterruptedException
public Integer getInitialTagSize() throws SQLException, IOException, ClassNotFoundException, InterruptedException
SQLException
IOException
ClassNotFoundException
InterruptedException
Copyright © 2014. All rights reserved.