Bio.Align.interfaces module

Bio.Align support module (not for general use).

Unless you are writing a new parser or writer for Bio.Align, you should not use this module. It provides base classes to try and simplify things.

class Bio.Align.interfaces.AlignmentIterator(source)

Bases: Bio.Align.AlignmentsAbstractBaseClass

Base class for building Alignment iterators.

You should write a parse method that returns an Alignment generator. You may wish to redefine the __init__ method as well.

Subclasses may define the following class attributes: - mode - ‘t’ or ‘b’ for text or binary files, respectively - fmt - a human-readable name for the file format.

mode = 't'
fmt: Optional[str] = None
__init__(source)

Create an AlignmentIterator object.

Arguments: - source - input file stream, or path to input file

This method MAY be overridden by any subclass.

Note when subclassing: - there should be a single non-optional argument, the source. - you can add additional optional arguments.

__next__()

Return the next alignment.

__len__()

Return the number of alignments.

The number of alignments is cached. If not yet calculated, the iterator is rewound to the beginning, and the number of alignments is calculated by iterating over the alignments. The iterator is then returned to its original position in the file.

__enter__()
__exit__(exc_type, exc_value, exc_traceback)
rewind()

Rewind the iterator to let it loop over the alignments from the beginning.

__abstractmethods__ = frozenset({'_read_next_alignment'})
__annotations__ = {'fmt': typing.Optional[str]}
class Bio.Align.interfaces.AlignmentWriter(target)

Bases: abc.ABC

Base class for alignment writers. This class should be subclassed.

It is intended for alignment file formats with an (optional) header, one or more alignments, and an (optional) footer.

The user may call the write_file() method to write a complete file containing the alignments.

Alternatively, users may call the write_header(), followed by multiple calls to format_alignment() and/or write_alignments(), followed finally by write_footer().

Subclasses may define the following class attributes: - mode - ‘w’ or ‘wb’ for text or binary files, respectively - fmt - a human-readable name for the file format.

mode = 'w'
fmt: Optional[str] = None
__init__(target)

Create the writer object.

Arguments: - target - output file stream, or path to output file

This method MAY be overridden by any subclass.

Note when subclassing: - there should be a single non-optional argument, the target. - you can add additional optional arguments.

write_header(stream, alignments)

Write the file header to the output file.

Write the file footer to the output file.

format_alignment(alignment)

Format a single alignment as a string.

alignment - an Alignment object

write_single_alignment(stream, alignments)

Write a single alignment to the output file, and return 1.

alignments - A list or iterator returning Alignment objects stream - Output file stream.

write_multiple_alignments(stream, alignments)

Write alignments to the output file, and return the number of alignments.

alignments - A list or iterator returning Alignment objects stream - Output file stream.

write_alignments(stream, alignments)

Write alignments to the output file, and return the number of alignments.

alignments - A list or iterator returning Alignment objects stream - Output file stream.

write_file(stream, alignments)

Write the alignments to the file strenm, and return the number of alignments.

alignments - A list or iterator returning Alignment objects stream - Output file stream.

write(alignments)

Write a file with the alignments, and return the number of alignments.

alignments - A list or iterator returning Alignment objects

__abstractmethods__ = frozenset({})
__annotations__ = {'fmt': typing.Optional[str]}