Package org.biojava.nbio.structure
Class AtomPositionMap
java.lang.Object
org.biojava.nbio.structure.AtomPositionMap
A map from
ResidueNumbers
to ATOM record positions in a PDB file.
To use:
Atom[] atoms = new AtomCache().getAtoms("1w0p"); AtomPositionMap map = new AtomPositionMap(atoms); ResidueNumber start = new ResidueNumber("A", 100, null); ResidueNumber end = map.getEnd("A"); int pos = map.getPosition(start); int length = map.calcLength(start, end);
Note: The getLength() methods were introduced in BioJava 4.0.0 to replace the calcLength methods. The new method returns the number of residues between two residues, inclusive, whereas the previous method returned 1 less than that.
- Author:
- dmyerstu
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Used as a Predicate to indicate whether a particular Atom should be mapped -
Field Summary
Modifier and TypeFieldDescriptionstatic final AtomPositionMap.GroupMatcher
Matches CA atoms of protein groupsstatic final AtomPositionMap.GroupMatcher
Matches all atoms -
Constructor Summary
ConstructorDescriptionAtomPositionMap
(Atom[] atoms) Creates a new AtomPositionMap containing peptide alpha-carbon atomsAtomPositionMap
(Atom[] atoms, AtomPositionMap.GroupMatcher matcher) Creates a new AtomPositionMap containing only atoms matched bymatcher
.Creates a new AtomPositionMap containing representative atoms from a structure. -
Method Summary
Modifier and TypeMethodDescriptiongetFirst()
getLast()
int
Calculates the number of residues of the specified chain in a given range, inclusive.int
getLength
(ResidueNumber start, ResidueNumber end) Calculates the number of atoms between two ResidueNumbers, inclusive.int
getLengthDirectional
(int positionStart, int positionEnd, String startingChain) Calculates the number of residues of the specified chain in a given range.int
getLengthDirectional
(ResidueNumber start, ResidueNumber end) Calculates the number of atoms between two ResidueNumbers, inclusive.getPosition
(ResidueNumber residueNumber) Gets the 0-based index of residueNumber to the matched atomsReturns a list ofResidueRanges
corresponding to this entire AtomPositionMap.Trims a residue range so that both endpoints are contained in this map.
-
Field Details
-
AMINO_ACID_MATCHER
Matches CA atoms of protein groups -
ANYTHING_MATCHER
Matches all atoms
-
-
Constructor Details
-
AtomPositionMap
Creates a new AtomPositionMap containing peptide alpha-carbon atoms- Parameters:
atoms
-
-
AtomPositionMap
Creates a new AtomPositionMap containing only atoms matched bymatcher
. If multiple atoms are present from a group, the first atom encountered will be used.- Parameters:
atoms
-
-
AtomPositionMap
Creates a new AtomPositionMap containing representative atoms from a structure.- Parameters:
s
-
-
-
Method Details
-
getLength
Calculates the number of residues of the specified chain in a given range, inclusive.- Parameters:
positionA
- index of the first atom to countpositionB
- index of the last atom to countstartingChain
- Case-sensitive chain- Returns:
- The number of atoms between A and B inclusive belonging to the given chain
-
getLengthDirectional
Calculates the number of residues of the specified chain in a given range. Will return a negative value if the start is past the end.- Parameters:
positionStart
- index of the first atom to countpositionEnd
- index of the last atom to countstartingChain
- Case-sensitive chain- Returns:
- The number of atoms from A to B inclusive belonging to the given chain
-
getLength
Calculates the number of atoms between two ResidueNumbers, inclusive. Both residues must belong to the same chain.- Parameters:
start
- First residueend
- Last residue- Returns:
- The number of atoms from A to B inclusive
- Throws:
IllegalArgumentException
- if start and end are on different chains, or if either of the residues doesn't exist
-
getLengthDirectional
Calculates the number of atoms between two ResidueNumbers, inclusive. Both residues must belong to the same chain. Will return a negative value if the start is past the end.- Parameters:
start
- First residueend
- Last residue- Returns:
- The number of atoms from A to B inclusive
- Throws:
IllegalArgumentException
- if start and end are on different chains, or if either of the residues doesn't exist
-
getPosition
Gets the 0-based index of residueNumber to the matched atoms- Parameters:
residueNumber
-- Returns:
- The position of the ATOM record in the PDB file corresponding to
the
residueNumber
, or null if the residueNumber was not found
-
getFirst
- Parameters:
chainId
-- Returns:
- The first
ResidueNumber
of the specified chain (the one highest down in the PDB file)
-
getLast
- Parameters:
chainId
-- Returns:
- The last
ResidueNumber
of the specified chain (the one farthest down in the PDB file)
-
getFirst
- Returns:
- The first
ResidueNumber
of any chain (the one farthest down in the PDB file)
-
getLast
- Returns:
- The last
ResidueNumber
of any chain (the one farthest down in the PDB file)
-
getRanges
Returns a list ofResidueRanges
corresponding to this entire AtomPositionMap. -
trimToValidResidues
Trims a residue range so that both endpoints are contained in this map.- Parameters:
rr
-map
-- Returns:
-