1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
# Copyright 2012 by Wibowo Arindrarto. All rights reserved.
# This code is part of the Biopython distribution and governed by its
# license. Please see the LICENSE file that should have been included
# as part of this package.
"""Bio.SearchIO objects to model similarity search program outputs.
The SearchIO object model consists of a hierarchy of four nested objects:
* QueryResult, to represent a search query.
This is the top-level object returned by the main SearchIO ``parse`` and
``read`` functions. QueryResult objects may contain zero or more Hit
objects, each accessible by its ID string (like in Python dictionaries)
or integer index (like in Python lists).
* Hit, to represent a database entry containing a full or partial sequence
match with the query sequence.
Hit objects contain one or more HSP objects, each accessible by its integer
index. They behave very similar to a Python list.
* HSP, to represent a region of significant alignment(s) between the query
and hit sequences.
HSP objects contain one or more HSPFragment objects, each accessible by
its integer index. In most cases, the HSP objects are where the bulk of
search result statistics (e.g. e-value, bitscore) are stored. Like Hit
objects, HSPs also behave very similar to a Python list.
* HSPFragment, to represent a single contiguous alignment between the query
and hit sequences.
HSPFragment objects may store hit and query sequences resulting from the
sequence search. If present, these sequences are stored as SeqRecord
objects (see SeqRecord). If both of them are present, HSPFragment will
create a MultipleSeqAlignment object from both sequences.
Most search programs only have HSPs with one HSPFragment in them, making
these two objects inseparable. However, there are programs (e.g. BLAT and
Exonerate) which may have more than one HSPFragment objects in any given
HSP. If you are not using these programs, you can safely consider HSP and
HSPFragment as a single union.
"""
from .query import QueryResult
from .hit import Hit
from .hsp import HSP, HSPFragment
__all__ = ['QueryResult', 'Hit', 'HSP', 'HSPFragment']
# if not used as a module, run the doctest
if __name__ == "__main__":
from Bio._utils import run_doctest
run_doctest()
|