com.compomics.util.experiment.identification
Class SequenceFactory

java.lang.Object
  extended by com.compomics.util.experiment.identification.SequenceFactory

public class SequenceFactory
extends Object

Factory retrieving the information of the loaded FASTA file.

Author:
Marc Vaudel, Harald Barsnes

Field Summary
static String[] decoyFlags
          Recognized flags for a decoy protein.
 
Method Summary
 void appendDecoySequences(File destinationFile)
          Appends decoy sequences to the desired file.
 void appendDecoySequences(File destinationFile, WaitingHandler waitingHandler)
          Appends decoy sequences to the desired file while displaying progress.
 void clearFactory()
          Clears the factory getInstance() needs to be called afterwards.
 void closeFile()
          Closes the opened file.
 double computeMolecularWeight(String accession)
          Returns the protein's molecular weight.
 boolean concatenatedTargetDecoy()
          Indicates whether the database loaded contains decoy sequences.
 HashMap<String,Integer> getAAOccurrences(JProgressBar progressBar)
          Returns the occurrence of every amino acid in the database.
 ArrayList<String> getAccessions()
          Returns the sequences present in the database.
 Header getHeader(String accession)
          Returns the desired header for the protein in the FASTA file.
static SequenceFactory getInstance()
          Static method returning the instance of the factory.
static SequenceFactory getInstance(int nCache)
          Returns the instance of the factory with the specified cache size.
 int getnCache()
          Returns the size of the cache.
 int getNTargetSequences()
          Returns the number of target sequences in the database.
 Protein getProtein(String accession)
          Returns the desired protein.
static boolean isDecoy(String proteinAccession)
          Returns a boolean indicating whether a protein is decoy or not based on the protein accession.
 void loadFastaFile(File fastaFile)
          Loads a new FASTA file in the factory.
 void loadFastaFile(File fastaFile, WaitingHandler waitingHandler)
          Loads a new FASTA file in the factory.
 void setnCache(int nCache)
          Sets the size of the cache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

decoyFlags

public static final String[] decoyFlags
Recognized flags for a decoy protein.

Method Detail

getInstance

public static SequenceFactory getInstance()
Static method returning the instance of the factory.

Returns:
the instance of the factory

getInstance

public static SequenceFactory getInstance(int nCache)
Returns the instance of the factory with the specified cache size.

Parameters:
nCache - the new cache size
Returns:
the instance of the factory with the specified cache size

clearFactory

public void clearFactory()
Clears the factory getInstance() needs to be called afterwards.


getProtein

public Protein getProtein(String accession)
                   throws IOException,
                          IllegalArgumentException,
                          InterruptedException
Returns the desired protein.

Parameters:
accession - accession of the desired protein
Returns:
the desired protein
Throws:
IOException - thrown whenever an error is encountered while reading the FASTA file
IllegalArgumentException - thrown whenever an error is encountered while reading the FASTA file
InterruptedException

getHeader

public Header getHeader(String accession)
                 throws IOException,
                        IllegalArgumentException,
                        InterruptedException
Returns the desired header for the protein in the FASTA file.

Parameters:
accession - accession of the desired protein
Returns:
the corresponding header
Throws:
IOException - exception thrown whenever an error occurred while reading the FASTA file
IllegalArgumentException - exception thrown whenever a protein is not found
InterruptedException

loadFastaFile

public void loadFastaFile(File fastaFile)
                   throws FileNotFoundException,
                          IOException,
                          ClassNotFoundException
Loads a new FASTA file in the factory. Only one FASTA file can be loaded at a time.

Parameters:
fastaFile - the FASTA file to load
Throws:
FileNotFoundException - exception thrown if the file was not found
IOException - exception thrown if an error occurred while reading the FASTA file
ClassNotFoundException - exception thrown whenever an error occurred while deserializing the file index

loadFastaFile

public void loadFastaFile(File fastaFile,
                          WaitingHandler waitingHandler)
                   throws FileNotFoundException,
                          IOException,
                          ClassNotFoundException
Loads a new FASTA file in the factory. Only one FASTA file can be loaded at a time.

Parameters:
fastaFile - the FASTA file to load
waitingHandler - a waitingHandler showing the progress
Throws:
FileNotFoundException - exception thrown if the file was not found
IOException - exception thrown if an error occurred while reading the FASTA file
ClassNotFoundException - exception thrown whenever an error occurred while deserializing the file index

closeFile

public void closeFile()
               throws IOException
Closes the opened file.

Throws:
IOException - exception thrown whenever an error occurred while closing the file

isDecoy

public static boolean isDecoy(String proteinAccession)
Returns a boolean indicating whether a protein is decoy or not based on the protein accession. Recognized flags for decoy proteins are listed as a static field.

Parameters:
proteinAccession - The accession of the protein
Returns:
a boolean indicating whether the protein is Decoy.

concatenatedTargetDecoy

public boolean concatenatedTargetDecoy()
Indicates whether the database loaded contains decoy sequences.

Returns:
a boolean indicating whether the database loaded contains decoy sequences

getNTargetSequences

public int getNTargetSequences()
Returns the number of target sequences in the database.

Returns:
the number of target sequences in the database

appendDecoySequences

public void appendDecoySequences(File destinationFile)
                          throws IOException,
                                 IllegalArgumentException,
                                 InterruptedException,
                                 FileNotFoundException,
                                 ClassNotFoundException
Appends decoy sequences to the desired file.

Parameters:
destinationFile - the destination file
Throws:
IOException - exception thrown whenever an error occurred while reading or writing a file
IllegalArgumentException
InterruptedException
FileNotFoundException
ClassNotFoundException

appendDecoySequences

public void appendDecoySequences(File destinationFile,
                                 WaitingHandler waitingHandler)
                          throws IOException,
                                 IllegalArgumentException,
                                 InterruptedException,
                                 FileNotFoundException,
                                 ClassNotFoundException
Appends decoy sequences to the desired file while displaying progress.

Parameters:
destinationFile - the destination file
waitingHandler - the waiting handler
Throws:
IOException - exception thrown whenever an error occurred while reading or writing a file
IllegalArgumentException - exdeption thrown whenever a protein is not found
InterruptedException
FileNotFoundException
ClassNotFoundException

getAccessions

public ArrayList<String> getAccessions()
Returns the sequences present in the database.

Returns:
the sequences present in the database

getnCache

public int getnCache()
Returns the size of the cache.

Returns:
the size of the cache

setnCache

public void setnCache(int nCache)
Sets the size of the cache.

Parameters:
nCache - the new size of the cache

getAAOccurrences

public HashMap<String,Integer> getAAOccurrences(JProgressBar progressBar)
                                         throws IOException,
                                                IllegalArgumentException,
                                                InterruptedException
Returns the occurrence of every amino acid in the database.

Parameters:
progressBar - a progress bar, can be null
Returns:
a map containing all amino acid occurrence in the database
Throws:
IOException - exception thrown whenever an error occurred while reading the database
IllegalArgumentException
InterruptedException

computeMolecularWeight

public double computeMolecularWeight(String accession)
                              throws IOException,
                                     IllegalArgumentException,
                                     InterruptedException
Returns the protein's molecular weight.

Parameters:
accession - the protein's accession number
Returns:
the protein's molecular weight
Throws:
IOException
IllegalArgumentException
InterruptedException


Copyright © 2012. All Rights Reserved.