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
Nested ClassesModifier and TypeClassDescriptionstatic interfaceUsed as a Predicate to indicate whether a particular Atom should be mapped - 
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final AtomPositionMap.GroupMatcherMatches CA atoms of protein groupsstatic final AtomPositionMap.GroupMatcherMatches all atoms - 
Constructor Summary
ConstructorsConstructorDescriptionAtomPositionMap(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()intCalculates the number of residues of the specified chain in a given range, inclusive.intgetLength(ResidueNumber start, ResidueNumber end) Calculates the number of atoms between two ResidueNumbers, inclusive.intgetLengthDirectional(int positionStart, int positionEnd, String startingChain) Calculates the number of residues of the specified chain in a given range.intgetLengthDirectional(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 ofResidueRangescorresponding 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 
ResidueNumberof the specified chain (the one highest down in the PDB file) 
 - 
getLast
- Parameters:
 chainId-- Returns:
 - The last 
ResidueNumberof the specified chain (the one farthest down in the PDB file) 
 - 
getFirst
- Returns:
 - The first 
ResidueNumberof any chain (the one farthest down in the PDB file) 
 - 
getLast
- Returns:
 - The last 
ResidueNumberof any chain (the one farthest down in the PDB file) 
 - 
getRanges
Returns a list ofResidueRangescorresponding to this entire AtomPositionMap. - 
trimToValidResidues
Trims a residue range so that both endpoints are contained in this map.- Parameters:
 rr-map-- Returns:
 
 
 -