10.2.3. Topology attribute objects — MDAnalysis.core.topologyattrs
¶
Common TopologyAttr
instances that are used by most topology
parsers.
TopologyAttrs are used to contain attributes such as atom names or resids. These are usually read by the TopologyParser.
-
class
MDAnalysis.core.topologyattrs.
AltLocs
(values, guessed=False)[source]¶ AltLocs for each atom
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Angles
(values, types=None, guessed=False, order=None)[source]¶ Angles between three atoms
Initialise with a list of 3 long tuples E.g., [(0, 1, 2), (1, 2, 3), (2, 3, 4)]
These indices refer to the atom indices.
-
class
MDAnalysis.core.topologyattrs.
AtomAttr
(values, guessed=False)[source]¶ Base class for atom attributes.
-
get_residues
(rg)[source]¶ By default, the values for each atom present in the set of residues are returned in a single array. This behavior can be overriden in child attributes.
-
-
class
MDAnalysis.core.topologyattrs.
Atomids
(values, guessed=False)[source]¶ ID for each atom.
-
dtype
¶ alias of
builtins.int
-
-
class
MDAnalysis.core.topologyattrs.
Atomindices
[source]¶ Globally unique indices for each atom in the group.
If the group is an AtomGroup, then this gives the index for each atom in the group. This is the unambiguous identifier for each atom in the topology, and it is not alterable.
If the group is a ResidueGroup or SegmentGroup, then this gives the indices of each atom represented in the group in a 1-D array, in the order of the elements in that group.
-
class
MDAnalysis.core.topologyattrs.
Atomnames
(values, guessed=False)[source]¶ Name for each atom.
-
chi1_selection
()[source]¶ AtomGroup corresponding to the chi1 sidechain dihedral N-CA-CB-CG.
Returns: - AtomGroup – 4-atom selection in the correct order. If no CB and/or CG is found
then this method returns
None
. - .. versionadded:: 0.7.5
- AtomGroup – 4-atom selection in the correct order. If no CB and/or CG is found
then this method returns
-
dtype
¶ alias of
builtins.object
-
omega_selection
()[source]¶ AtomGroup corresponding to the omega protein backbone dihedral CA-C-N’-CA’.
omega describes the -C-N- peptide bond. Typically, it is trans (180 degrees) although cis-bonds (0 degrees) are also occasionally observed (especially near Proline).
Returns: 4-atom selection in the correct order. If no C’ found in the previous residue (by resid) then this method returns None
.Return type: AtomGroup
-
-
class
MDAnalysis.core.topologyattrs.
Atomtypes
(values, guessed=False)[source]¶ Type for each atom
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Bfactors
(values, guessed=False)[source]¶ Crystallographic B-factors in A**2 for each atom
-
dtype
¶ alias of
builtins.float
-
-
class
MDAnalysis.core.topologyattrs.
Bonds
(values, types=None, guessed=False, order=None)[source]¶ Bonds between two atoms
Must be initialised by a list of zero based tuples. These indices refer to the atom indices. E.g., ` [(0, 1), (1, 2), (2, 3)]`
Also adds the bonded_atoms, fragment and fragments attributes.
-
class
MDAnalysis.core.topologyattrs.
ChainIDs
(values, guessed=False)[source]¶ ChainID per atom
Note
This is an attribute of the Atom, not Residue or Segment
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Charges
(values, guessed=False)[source]¶ -
dtype
¶ alias of
builtins.float
-
get_residues
(rg)[source]¶ By default, the values for each atom present in the set of residues are returned in a single array. This behavior can be overriden in child attributes.
-
-
class
MDAnalysis.core.topologyattrs.
Dihedrals
(values, types=None, guessed=False, order=None)[source]¶ A connection between four sequential atoms
-
class
MDAnalysis.core.topologyattrs.
Elements
(values, guessed=False)[source]¶ Element for each atom
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
ICodes
(values, guessed=False)[source]¶ Insertion code for Atoms
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Impropers
(values, types=None, guessed=False, order=None)[source]¶ An imaginary dihedral between four atoms
-
class
MDAnalysis.core.topologyattrs.
Masses
(values, guessed=False)[source]¶ -
align_principal_axis
(axis, vector)[source]¶ Align principal axis with index axis with vector.
Parameters: - axis ({0, 1, 2}) – Index of the principal axis (0, 1, or 2), as produced by
principal_axes()
. - vector (array_like) – Vector to align principal axis with.
Notes
To align the long axis of a channel (the first principal axis, i.e. axis = 0) with the z-axis:
u.atoms.align_principal_axis(0, [0,0,1]) u.atoms.write("aligned.pdb")
- axis ({0, 1, 2}) – Index of the principal axis (0, 1, or 2), as produced by
-
asphericity
(pbc=None)[source]¶ Asphericity.
See [Dima2004b] for background information.
Parameters: pbc (bool, optional) – If True
, move all atoms within the primary unit cell before calculation. IfNone
use value defined in MDAnalysis.core.flags[‘use_pbc’]Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.References
[Dima2004b] Dima, R. I., & Thirumalai, D. (2004). Asymmetry in the shapes of folded and denatured states of proteins. J Phys Chem B, 108(21), 6564-6570. doi:10.1021/jp037128y New in version 0.7.7.
Changed in version 0.8: Added pbc keyword
-
center_of_mass
(pbc=None, compound='group')[source]¶ Center of mass of (compounds of) the group.
Computes the center of mass of atoms in the group. Centers of mass per residue or per segment can be obtained by setting the compound parameter accordingly.
Parameters: - pbc (bool, optional) – If
True
and compound is ‘group’, move all atoms to the primary unit cell before calculation. IfTrue
and compound is ‘segments’ or ‘residues’, the centers of mass of each compound will be calculated without moving any atoms to keep the compounds intact. Instead, the resulting center-of-mass position vectors will be moved to the primary unit cell after calculation. - compound ({'group', 'segments', 'residues'}, optional) – If ‘group’, the center of mass of all atoms in the atomgroup will be returned as a single position vector. Else, the centers of mass of each segment or residue will be returned as an array of position vectors, i.e. a 2d array. Note that, in any case, only the positions of atoms belonging to the atomgroup will be taken into account.
Returns: center – Position vector(s) of the center(s) of mass of the group. If compound was set to ‘group’, the output will be a single position vector. If compound was set to ‘segments’ or ‘residues’, the output will be a 2d array of shape
(n, 3)
wheren
is the number compounds.Return type: Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.Changed in version 0.8: Added pbc parameter
Changed in version 0.19.0: Added compound parameter
- pbc (bool, optional) – If
-
dtype
¶ alias of
numpy.float64
-
get_residues
(rg)[source]¶ By default, the values for each atom present in the set of residues are returned in a single array. This behavior can be overriden in child attributes.
-
get_segments
(sg)[source]¶ By default, the values for each atom present in the set of residues are returned in a single array. This behavior can be overriden in child attributes.
-
moment_of_inertia
(**kwargs)[source]¶ Tensor moment of inertia relative to center of mass as 3x3 numpy array.
Parameters: pbc (bool, optional) – If True
, move all atoms within the primary unit cell before calculation. [False
]Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.Changed in version 0.8: Added pbc keyword
-
principal_axes
(pbc=None)[source]¶ Calculate the principal axes from the moment of inertia.
e1,e2,e3 = AtomGroup.principal_axes()
The eigenvectors are sorted by eigenvalue, i.e. the first one corresponds to the highest eigenvalue and is thus the first principal axes.
Parameters: pbc (bool, optional) – If True
, move all atoms within the primary unit cell before calculation. IfNone
use value defined in setup flags.Returns: axis_vectors – 3 x 3 array with v[0]
as first,v[1]
as second, andv[2]
as third eigenvector.Return type: array Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.Changed in version 0.8: Added pbc keyword
-
radius_of_gyration
(**kwargs)[source]¶ Radius of gyration.
Parameters: pbc (bool, optional) – If True
, move all atoms within the primary unit cell before calculation. [False
]Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.Changed in version 0.8: Added pbc keyword
-
shape_parameter
(**kwargs)[source]¶ Shape parameter.
See [Dima2004a] for background information.
Parameters: pbc (bool, optional) – If True
, move all atoms within the primary unit cell before calculation. [False
]Note
The
MDAnalysis.core.flags
flag use_pbc when set toTrue
allows the pbc flag to be used by default.References
[Dima2004a] Dima, R. I., & Thirumalai, D. (2004). Asymmetry in the shapes of folded and denatured states of proteins. J Phys Chem B, 108(21), 6564-6570. doi:10.1021/jp037128y New in version 0.7.7.
Changed in version 0.8: Added pbc keyword
-
-
class
MDAnalysis.core.topologyattrs.
Molnums
(values, guessed=False)[source]¶ Name of the molecule type
Two molecules that share a molecule type share a common template topology.
-
dtype
¶ alias of
builtins.int
-
-
class
MDAnalysis.core.topologyattrs.
Moltypes
(values, guessed=False)[source]¶ Name of the molecule type
Two molecules that share a molecule type share a common template topology.
-
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Occupancies
(values, guessed=False)[source]¶ -
dtype
¶ alias of
builtins.float
-
-
class
MDAnalysis.core.topologyattrs.
Radii
(values, guessed=False)[source]¶ Radii for each atom
-
dtype
¶ alias of
builtins.float
-
-
class
MDAnalysis.core.topologyattrs.
RecordTypes
(values, guessed=False)[source]¶ For PDB-like formats, indicates if ATOM or HETATM
Defaults to ‘ATOM’
-
get_residues
(rg)[source]¶ By default, the values for each atom present in the set of residues are returned in a single array. This behavior can be overriden in child attributes.
-
-
class
MDAnalysis.core.topologyattrs.
Resids
(values, guessed=False)[source]¶ Residue ID
-
dtype
¶ alias of
builtins.int
-
-
class
MDAnalysis.core.topologyattrs.
ResidueAttr
(values, guessed=False)[source]¶
-
class
MDAnalysis.core.topologyattrs.
Resindices
[source]¶ Globally unique resindices for each residue in the group.
If the group is an AtomGroup, then this gives the resindex for each atom in the group. This unambiguously determines each atom’s residue membership. Resetting these values changes the residue membership of the atoms.
If the group is a ResidueGroup or SegmentGroup, then this gives the resindices of each residue represented in the group in a 1-D array, in the order of the elements in that group.
-
class
MDAnalysis.core.topologyattrs.
Resnames
(values, guessed=False)[source]¶ -
dtype
¶ alias of
builtins.object
-
sequence
(**kwargs)[source]¶ Returns the amino acid sequence.
The format of the sequence is selected with the keyword format:
format description ‘SeqRecord’ Bio.SeqRecord.SeqRecord
(default)‘Seq’ Bio.Seq.Seq
‘string’ string The sequence is returned by default (keyword
format = 'SeqRecord'
) as aBio.SeqRecord.SeqRecord
instance, which can then be further processed. In this case, all keyword arguments (such as the id string or the name or the description) are directly passed toBio.SeqRecord.SeqRecord
.If the keyword format is set to
'Seq'
, all kwargs are ignored and aBio.Seq.Seq
instance is returned. The difference to the record is that the record also contains metadata and can be directly used as an input for other functions inBio
.If the keyword format is set to
'string'
, all kwargs are ignored and a Python string is returned.Example: Write FASTA file
Use
Bio.SeqIO.write()
, which takes sequence records:import Bio.SeqIO # get the sequence record of a protein component of a Universe protein = u.select_atoms("protein") record = protein.sequence(id="myseq1", name="myprotein") Bio.SeqIO.write(record, "single.fasta", "fasta")
A FASTA file with multiple entries can be written with
Bio.SeqIO.write([record1, record2, ...], "multi.fasta", "fasta")
Parameters: - format (string, optional) –
"string"
: return sequence as a string of 1-letter codes"Seq"
: return aBio.Seq.Seq
instance"SeqRecord"
: return aBio.SeqRecord.SeqRecord
instance
Default is"SeqRecord"
- id (optional) – Sequence ID for SeqRecord (should be different for different sequences)
- name (optional) – Name of the protein.
- description (optional) – Short description of the sequence.
- kwargs (optional) – Any other keyword arguments that are understood by class:Bio.SeqRecord.SeqRecord.
Raises: ValueError
if a residue name cannot be converted to a1-letter IUPAC protein amino acid code; make sure to only
select protein residues.
TypeError
if an unknown format is selected.New in version 0.9.0.
- format (string, optional) –
-
-
class
MDAnalysis.core.topologyattrs.
Resnums
(values, guessed=False)[source]¶ -
dtype
¶ alias of
builtins.int
-
-
class
MDAnalysis.core.topologyattrs.
Segids
(values, guessed=False)[source]¶ -
dtype
¶ alias of
builtins.object
-
-
class
MDAnalysis.core.topologyattrs.
Segindices
[source]¶ Globally unique segindices for each segment in the group.
If the group is an AtomGroup, then this gives the segindex for each atom in the group. This unambiguously determines each atom’s segment membership. It is not possible to set these, since membership in a segment is an attribute of each atom’s residue.
If the group is a ResidueGroup or SegmentGroup, then this gives the segindices of each segment represented in the group in a 1-D array, in the order of the elements in that group.
-
class
MDAnalysis.core.topologyattrs.
SegmentAttr
(values, guessed=False)[source]¶ Base class for segment attributes.
-
class
MDAnalysis.core.topologyattrs.
Tempfactors
(values, guessed=False)[source]¶ Tempfactor for atoms
-
dtype
¶ alias of
builtins.float
-
-
class
MDAnalysis.core.topologyattrs.
TopologyAttr
(values, guessed=False)[source]¶ Base class for Topology attributes.
Note
This class is intended to be subclassed, and mostly amounts to a skeleton. The methods here should be present in all
TopologyAttr
child classes, but by default they raise appropriate exceptions.-
attrname
¶ str – the name used for the attribute when attached to a
Topology
object
-
singular
¶ str – name for the attribute on a singular object (Atom/Residue/Segment)
-
per_object
¶ str – If there is a strict mapping between Component and Attribute
-
dtype
¶ int/float/object – Type to coerce this attribute to be. For string use ‘object’
-
top
¶ Topology – handle for the Topology object TopologyAttr is associated with
-
classmethod
from_blank
(n_atoms=None, n_residues=None, n_segments=None, values=None)[source]¶ Create a blank version of this TopologyAttribute
Parameters:
-
is_guessed
¶ Bool of if the source of this information is a guess
-