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 Stringthis 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 & hetero; cpk offprivate static final int[]private static final int[]private static final int[]static final intprivate intprivate javajs.util.BSprivate javajs.util.BSprivate javajs.util.BSprivate javajs.util.BSprivate static intstatic shortprivate booleanprivate booleanprivate String[]private intprivate intprivate ModelLoaderprivate ModelSetprivate 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.V3private javajs.util.V3private Viewer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static shortaddGroup3Name(String group3) These can overrun 3 characters; that is not significant.private voidvoidaddImplicitHydrogenAtoms(JmolAdapter adapter, int iGroup, int nH) Get bonding info for double bonds and add implicit hydrogen atoms, if needed.(package private) static BioPolymerallocateBioPolymer(Group[] groups, int firstGroupIndex, boolean checkConnections, int pt0) private static final booleancheckCarbohydrate(String group3) intprivate voiddeleteAtoms(javajs.util.BS bsDeletedAtoms) called from org.jmol.modelsetbio.resolver when adding hydrogens.private voidDelete 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) voidprivate voidprivate voidprivate voidfixAnnotations(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 voidgetBondInfo(JmolAdapter adapter, String group3, Object model) shortgetGroupID(String g3) (package private) static shortgetGroupIdFor(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 StringgetSpecialAtomName(int atomID) private static intgetStandardPdbHydrogenCount(String group3) voidbooleanMMCif, Gromacs, MdTop, Mol2 readers onlybooleanisKnownPDBGroup(String g3, int max) voiditerateOverAllNewStructures(JmolAdapter adapter, Object atomSetCollection) Pull in all spans of helix, etc.static shortknownGroupID(String group3) bytelookupSpecialAtomID(String name) voidsetGroupLists(int ipt) voidsetHaveHsAlready(boolean b) private voidsetHydrogen(int iTo, int iAtom, String name, javajs.util.P3 pt) setLoader(ModelLoader modelLoader) private voidsetStructure(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, waitMethods 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 & 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:
comparein 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
-