Multiple Sequence Alignment
This module defines MSA analysis functions.
- class prody.sequence.msa.MSA(msa, title='Unknown', labels=None, **kwargs)[source]
Store and manipulate multiple sequence alignments.
- getIndex(label)[source]
Returns index of the sequence that label maps onto. If label maps onto multiple sequences or label is a list of labels, a list of indices is returned. If an index for a label is not found, return None.
- getLabel(index, full=False)[source]
Returns label of the sequence at given index. Residue numbers will be removed from the sequence label, unless full is True.
- getResnums(index)[source]
Returns starting and ending residue numbers (resnum) for the sequence at given index.
- iterLabels(full=False)[source]
Yield sequence labels. By default the part of the label used for indexing sequences is yielded.
- numIndexed()[source]
Returns number of sequences that are indexed using the identifier part or all of their labels. The return value should be equal to number of sequences.
- property split
Return split label when iterating or indexing.
- prody.sequence.msa.mergeMSA(*msa, **kwargs)[source]
Returns an
MSAobtained from merging parts of the sequences of proteins present in multiple msa instances. Sequences are matched based on protein identifiers found in the sequence labels. Order of sequences in the merged MSA will follow the order of sequences in the first msa instance. Note that protein identifiers that map to multiple sequences will be excluded.MSAs with different identifiers can be merged with the ignore_ids kwarg. This only works when all MSAs have the same number of sequences.
- prody.sequence.msa.refineMSA(msa, index=None, label=None, rowocc=None, seqid=None, colocc=None, **kwargs)[source]
Refine msa by removing sequences (rows) and residues (columns) that contain gaps.
- Parameters:
msa (
MSA) – multiple sequence alignmentindex (int) – remove columns that are gaps in the sequence with that index
label (str) – remove columns that are gaps in the sequence matching label,
msa.getIndex(label)must return a sequence index, a PDB identifier is also acceptablerowocc (float) – row occupancy, sequences with less occupancy will be removed after label refinement is applied
seqid (float) – keep unique sequences at specified sequence identity level, unique sequences are identified using
uniqueSequences()colocc (float) – column occupancy, residue positions with less occupancy will be removed after other refinements are applied
keep – keep columns corresponding to residues not resolved in the PDB structure, default is False, applies when label is a PDB identifier
type – bool
For Pfam MSA data, label is UniProt entry name for the protein. You may also use PDB structure and chain identifiers, e.g.
'1p38'or'1p38A', for label argument and UniProt entry names will be parsed usingparsePDBHeader()function (see alsoPolymerandDBRef).The order of refinements are applied in the order of arguments. If label and unique is specified, sequence matching label will be kept in the refined
MSAalthough it may be similar to some other sequence.
- prody.sequence.msa.specMergeMSA(*msa, **kwargs)[source]
Returns an
MSAobtained from merging parts of the sequences of proteins present in multiple msa instances. Sequences are matched based on species section of protein identifiers found in the sequence labels. Order of sequences in the merged MSA will follow the order of sequences in the first msa instance. Note that protein identifiers that map to multiple sequences will be excluded.