Package Bio :: Package AlignIO :: Module Interfaces :: Class AlignmentIterator
[hide private]
[frames] | no frames]

Class AlignmentIterator

source code

object --+
         |
        AlignmentIterator
Known Subclasses:

Base class for building MultipleSeqAlignment iterators.

You should write a next() method to return Aligment
objects.  You may wish to redefine the __init__
method as well.

Instance Methods [hide private]
 
__init__(self, handle, seq_count=None, alphabet=SingleLetterAlphabet())
Create an AlignmentIterator object.
source code
 
__next__(self)
Return the next alignment in the file.
source code
 
next(self)
Python 2 style alias for Python 3 style __next__ method.
source code
 
__iter__(self)
Iterate over the entries as MultipleSeqAlignment objects.
source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, handle, seq_count=None, alphabet=SingleLetterAlphabet())
(Constructor)

source code 
Create an AlignmentIterator object.

handle   - input file
count    - optional, expected number of records per alignment
           Recommend for fasta file format.
alphabet - optional, e.g. Bio.Alphabet.generic_protein

Note when subclassing:
- there should be a single non-optional argument, the handle,
  and optional count and alphabet IN THAT ORDER.
- you do not have to require an alphabet (?).
- you can add additional optional arguments.

Overrides: object.__init__

__next__(self)

source code 
Return the next alignment in the file.

This method should be replaced by any derived class to do something
useful.

__iter__(self)

source code 
Iterate over the entries as MultipleSeqAlignment objects.

Example usage for (concatenated) PHYLIP files:

with open("many.phy","r") as myFile:
    for alignment in PhylipIterator(myFile):
        print "New alignment:"
        for record in alignment:
            print record.id
            print record.seq