org.biojava.bio.proteomics.aaindex
Class AAindexStreamReader

java.lang.Object
  extended by org.biojava.bio.proteomics.aaindex.AAindexStreamReader
All Implemented Interfaces:
SymbolPropertyTableIterator

public class AAindexStreamReader
extends Object
implements SymbolPropertyTableIterator

Iterator over AAindex objects that are stored in a stream in the AAindex1 file format. The format of such an Amino Acid Index Database file is described in the AAindex manual . The nextTable() method returns objects of type AAindex. See this class also for further informations. To hold an AAindex1 file in memory for random access use the SimpleSymbolPropertyTableDB class:

 SimpleSymbolPropertyTableDB db = new SimpleSymbolPropertyTableDB(
         new AAindexStreamReader(new FileReader("aaindex1")));
 AAindex hydrophobicity = (AAindex) db.table("CIDH920105");
 SymbolList symbols = ProteinTools.createProtein(
     "ARNDCEQGHILKMFPSTWYV");
 double hp = 0.0;
 for (int i = 1; i <= symbols.length(); i++) {
     hp += hydrophobicity.getDoubleValue(symbols.symbolAt(i));
 }
 System.out.println("Average hydrophobicity: " + Double.toString(
         hp / symbols.length()));
 

References:

AAindex web site.

Kawashima, S. and Kanehisa, M.; AAindex: amino acid index database. Nucleic Acids Res. 28, 374 (2000).

Tomii, K. and Kanehisa, M.; Analysis of amino acid indices and mutation matrices for sequence comparison and structure prediction of proteins. Protein Eng. 9, 27-36 (1996).

Nakai, K., Kidera, A., and Kanehisa, M.; Cluster analysis of amino acid indices for prediction of protein structure and function. Protein Eng. 2, 93-100 (1988)

Version:
$Revision: 1.1 $
Author:
Martin Szugat

Constructor Summary
AAindexStreamReader(BufferedReader reader)
          Initializes the iterator.
AAindexStreamReader(Reader reader)
          Initializes the iterator.
 
Method Summary
 boolean eof()
          Checks if the end of the file or stream is reached.
 boolean hasNext()
          Checks if there is a further SymbolPropertyTable object.
 SymbolPropertyTable nextTable()
          Returns the next SymbolPropertyTable object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AAindexStreamReader

public AAindexStreamReader(Reader reader)
                    throws IOException,
                           NullPointerException
Initializes the iterator.

Parameters:
reader - reader over a stream in the AAindex file format.
Throws:
IOException - if the stream could not be read.
NullPointerException - if reader is null.

AAindexStreamReader

public AAindexStreamReader(BufferedReader reader)
                    throws IOException,
                           NullPointerException
Initializes the iterator.

Parameters:
reader - buffered reader over a stream in the AAindex file format.
Throws:
IOException - if the stream could not be read.
NullPointerException - if reader is null.
Method Detail

eof

public boolean eof()
Checks if the end of the file or stream is reached.

Returns:
true if the end of the file is reached, false otherwise.

hasNext

public boolean hasNext()
Checks if there is a further SymbolPropertyTable object.

Specified by:
hasNext in interface SymbolPropertyTableIterator
Returns:
true if a call to the SymbolPropertyTableIterator.nextTable() method is valid, false otherwise.

nextTable

public SymbolPropertyTable nextTable()
                              throws BioException
Returns the next SymbolPropertyTable object.

Specified by:
nextTable in interface SymbolPropertyTableIterator
Returns:
a symbol property table
Throws:
BioException - if the next symbol property table could not be retrieved.