Package org.jmol.modelsetbio
Class BioResolver
java.lang.Object
org.jmol.modelsetbio.BioResolver
- All Implemented Interfaces:
Comparator<String[]>
a class used by ModelLoader to handle all loading
of operations specific to PDB/mmCIF files. By loading
only by class name, only loaded if PDB file is called.
In addition, constants relating only to PDB files are here
-- for coloring by chain, selecting by protein, etc.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
this form is used for counting groups in ModelSet GLX added for 13.1.16private static final int[]
private static final int[]
some pastel colors C0D0FF - pastel blue B0FFB0 - pastel green B0FFFF - pastel cyan FFC0C8 - pink FFC0FF - pastel magenta FFFF80 - pastel yellow FFDEAD - navajowhite FFD070 - pastel gold FF9898 - light coral B4E444 - light yellow-green C0C000 - light olive FF8060 - light tomato 00FF7F - springgreen cpk on; select atomno>100; label %i; color chain; select selected invalid input: '&' hetero; cpk offprivate static final int[]
private static final int[]
private static final int[]
static final int
private int
private javajs.util.BS
private javajs.util.BS
private javajs.util.BS
private javajs.util.BS
private static int
static short
private boolean
private boolean
private String[]
private int
private int
private ModelLoader
private ModelSet
private static int[]
static final String[]
pdbBondInfo describes in a compact way what the hydrogen atom names are for each standard amino acid.private static final int[]
private javajs.util.P4
(package private) static final char[]
private static final String[]
private static final String[]
private static STR[]
private javajs.util.V3
private javajs.util.V3
private Viewer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static short
addGroup3Name
(String group3) These can overrun 3 characters; that is not significant.private void
void
addImplicitHydrogenAtoms
(JmolAdapter adapter, int iGroup, int nH) Get bonding info for double bonds and add implicit hydrogen atoms, if needed.(package private) static BioPolymer
allocateBioPolymer
(Group[] groups, int firstGroupIndex, boolean checkConnections, int pt0) private static final boolean
checkCarbohydrate
(String group3) int
private void
deleteAtoms
(javajs.util.BS bsDeletedAtoms) called from org.jmol.modelsetbio.resolver when adding hydrogens.private void
Delete hydrogen atoms that are still in bsAddedHydrogens, because they were not actually added.distinguishAndPropagateGroup
(Chain chain, String group3, int seqcode, int firstAtomIndex, int lastAtomIndex, int[] specialAtomIndexes, Atom[] atoms) void
private void
private void
private void
fixAnnotations
(int i, String name, int type) fixPropertyValue
(javajs.util.BS bsAtoms, Object data, boolean toHydrogens) int[]
getArgbs
(int tok) getBioModel
(int modelIndex, int trajectoryBaseIndex, String jmolData, Properties modelProperties, Map<String, Object> modelAuxiliaryInfo) getBioModelSet
(ModelSet modelSet) private void
getBondInfo
(JmolAdapter adapter, String group3, Object model) short
getGroupID
(String g3) (package private) static short
getGroupIdFor
(String group3) private String[][]
getLigandBondInfo
(JmolAdapter adapter, Object model, String group3) reads PDB ligand CIF info and creates a bondInfo object.private String[][]
getPdbBondInfo
(String group3, boolean isLegacy) (package private) static final String
getSpecialAtomName
(int atomID) private static int
getStandardPdbHydrogenCount
(String group3) void
boolean
MMCif, Gromacs, MdTop, Mol2 readers onlyboolean
isKnownPDBGroup
(String g3, int max) void
iterateOverAllNewStructures
(JmolAdapter adapter, Object atomSetCollection) Pull in all spans of helix, etc.static short
knownGroupID
(String group3) byte
lookupSpecialAtomID
(String name) void
setGroupLists
(int ipt) void
setHaveHsAlready
(boolean b) private void
setHydrogen
(int iTo, int iAtom, String name, javajs.util.P3 pt) setLoader
(ModelLoader modelLoader) private void
setStructure
(JmolAdapterStructureIterator iterStructure) note that istart and iend will be adjusted.toStdAmino3
(String g1) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
htGroup
-
vwr
-
vAB
private javajs.util.V3 vAB -
vNorm
private javajs.util.V3 vNorm -
plane
private javajs.util.P4 plane -
ml
-
ms
-
bsAddedMask
private javajs.util.BS bsAddedMask -
lastSetH
private int lastSetH -
maxSerial
private int maxSerial -
haveHsAlready
private boolean haveHsAlready -
bsAddedHydrogens
private javajs.util.BS bsAddedHydrogens -
bsAtomsForHs
private javajs.util.BS bsAtomsForHs -
htBondMap
-
htGroupBonds
-
hNames
-
baseBondIndex
private int baseBondIndex -
hasCONECT
private boolean hasCONECT -
bsAssigned
private javajs.util.BS bsAssigned -
types
-
mytypes
private static int[] mytypes -
htPdbBondInfo
-
pdbBondInfo
pdbBondInfo describes in a compact way what the hydrogen atom names are for each standard amino acid. This list consists of pairs of attached atom/hydrogen atom names, with abbreviations N, C, O, B, D, G, 1, and 2 (for N, C, O, CB, CD, CG, C1', and C2', respectively) given in pdbHAttachments, above. Note that we never add HXT or NH3 "?" here is for methyl groups with H1, H2, H3. "@" indicates a prochiral center, with the assignment order given here -
pdbHydrogenCount
private static final int[] pdbHydrogenCount -
allCarbohydrates
this form is used for counting groups in ModelSet GLX added for 13.1.16- See Also:
-
group3Count
private static int group3Count -
predefinedGroup1Names
static final char[] predefinedGroup1Names -
group3NameCount
public static short group3NameCount -
predefinedGroup3Names
-
specialAtomNames
-
ATOMID_MAX
public static final int ATOMID_MAX -
htSpecialAtoms
-
argbsAmino
private static final int[] argbsAmino -
argbsNucleic
private static final int[] argbsNucleic -
argbsChainAtom
private static final int[] argbsChainAtomsome pastel colors C0D0FF - pastel blue B0FFB0 - pastel green B0FFFF - pastel cyan FFC0C8 - pink FFC0FF - pastel magenta FFFF80 - pastel yellow FFDEAD - navajowhite FFD070 - pastel gold FF9898 - light coral B4E444 - light yellow-green C0C000 - light olive FF8060 - light tomato 00FF7F - springgreen cpk on; select atomno>100; label %i; color chain; select selected invalid input: '&' hetero; cpk off -
argbsChainHetero
private static final int[] argbsChainHetero -
argbsShapely
private static final int[] argbsShapely
-
-
Constructor Details
-
BioResolver
public BioResolver()
-
-
Method Details
-
setLoader
-
setViewer
-
getBioModel
-
distinguishAndPropagateGroup
-
setHaveHsAlready
public void setHaveHsAlready(boolean b) -
initializeHydrogenAddition
public void initializeHydrogenAddition() -
addImplicitHydrogenAtoms
Get bonding info for double bonds and add implicit hydrogen atoms, if needed.- Parameters:
adapter
-iGroup
- this groupnH
- legacy quirk
-
getBondInfo
-
getLigandBondInfo
reads PDB ligand CIF info and creates a bondInfo object.- Parameters:
adapter
-model
-group3
-- Returns:
- [[atom1, atom2, order]...]
-
compare
- Specified by:
compare
in interfaceComparator<String[]>
-
finalizeHydrogens
public void finalizeHydrogens() -
addHydrogens
private void addHydrogens() -
deleteUnneededAtoms
private void deleteUnneededAtoms()Delete hydrogen atoms that are still in bsAddedHydrogens, because they were not actually added. Also delete ligand hydrogen atoms from CO2- and PO3(2-) Note that we do this AFTER all atoms have been added. That means that this operation will not mess up atom indexing -
deleteAtoms
private void deleteAtoms(javajs.util.BS bsDeletedAtoms) called from org.jmol.modelsetbio.resolver when adding hydrogens.- Parameters:
bsDeletedAtoms
-
-
fixAnnotations
-
finalizePdbCharges
private void finalizePdbCharges() -
finalizePdbMultipleBonds
private void finalizePdbMultipleBonds() -
setHydrogen
-
fixPropertyValue
-
allocateBioPolymer
static BioPolymer allocateBioPolymer(Group[] groups, int firstGroupIndex, boolean checkConnections, int pt0) -
iterateOverAllNewStructures
Pull in all spans of helix, etc. in the file(s) We do turn first, because sometimes a group is defined twice, and this way it gets marked as helix or sheet if it is both one of those and turn. Jmol 14.3 - adds sequence ANNOTATION- Parameters:
adapter
-atomSetCollection
-
-
setStructure
note that istart and iend will be adjusted.- Parameters:
iterStructure
-
-
setGroupLists
public void setGroupLists(int ipt) -
isKnownPDBGroup
- Parameters:
g3
-max
- max ID (e.g. 20); can be Integer.MAX_VALUE to allow carbohydrate- Returns:
- true if found
-
lookupSpecialAtomID
-
getPdbBondInfo
-
knownGroupID
-
checkCarbohydrate
- Parameters:
group3
- a potential group3 name- Returns:
- whether this is a carbohydrate from the list
-
isHetero
MMCif, Gromacs, MdTop, Mol2 readers only- Parameters:
group3
-- Returns:
- true if an identified hetero group
-
toStdAmino3
-
getGroupID
-
getGroupIdFor
-
addGroup3Name
These can overrun 3 characters; that is not significant.- Parameters:
group3
-- Returns:
- a short group ID
-
getStandardPdbHydrogenCount
-
getSpecialAtomName
-
getArgbs
public int[] getArgbs(int tok) -
getBioModelSet
-