org.jmol.modelsetbio
Class Resolver

java.lang.Object
  extended by org.jmol.modelsetbio.Resolver
All Implemented Interfaces:
JmolBioResolver

public final class Resolver
extends Object
implements JmolBioResolver


Nested Class Summary
(package private)  class Resolver.BondSorter
           
 
Field Summary
private  int baseBondIndex
           
private  BitSet bsAddedHydrogens
           
private  BitSet bsAtomsForHs
           
private  boolean haveHsAlready
           
private  String[] hNames
           
private  Map<String,String> htBondMap
           
private  Map<String,Boolean> htGroupBonds
           
private  int lastSetH
           
private  int maxSerial
           
private  ModelLoader modelLoader
           
private  ModelSet modelSet
           
private  Point4f plane
           
private  Vector3f vAB
           
private  Vector3f vAC
           
private  Vector3f vNorm
           
 
Constructor Summary
Resolver()
           
 
Method Summary
 void addImplicitHydrogenAtoms(JmolAdapter adapter, int iGroup)
           
 Polymer buildBioPolymer(Group group, Group[] groups, int i, boolean checkPolymerConnections)
           
 void clearBioPolymers(Group[] groups, int groupCount, BitSet bsModelsExcluded)
           
private  void deleteUnneededAtoms()
          Delete hydrogen atoms that are still in bsAddedHydrogens, because they were not actually added.
 Group distinguishAndPropagateGroup(Chain chain, String group3, int seqcode, int firstAtomIndex, int maxAtomIndex, int modelIndex, int[] specialAtomIndexes, Atom[] atoms)
           
 void finalizeHydrogens()
           
private  void finalizePdbCharges()
           
private  void finalizePdbMultipleBonds()
           
 void getBondInfo(JmolAdapter adapter, String group3, Object model)
           
private  String[][] getLigandBondInfo(JmolAdapter adapter, Object model, String group3)
          reads PDB ligand CIF info and creates a bondInfo object.
 void initialize(ModelSet modelSet)
           
 void initializeHydrogenAddition(ModelLoader modelLoader, int bondCount)
           
 void setHaveHsAlready(boolean b)
           
private  void setHydrogen(int iTo, int iAtom, String name, Point3f pt)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

modelLoader

private ModelLoader modelLoader

modelSet

private ModelSet modelSet

bsAddedHydrogens

private BitSet bsAddedHydrogens

bsAtomsForHs

private BitSet bsAtomsForHs

htBondMap

private Map<String,String> htBondMap

htGroupBonds

private Map<String,Boolean> htGroupBonds

hNames

private String[] hNames

lastSetH

private int lastSetH

maxSerial

private int maxSerial

baseBondIndex

private int baseBondIndex

haveHsAlready

private boolean haveHsAlready

vAB

private Vector3f vAB

vAC

private Vector3f vAC

vNorm

private Vector3f vNorm

plane

private Point4f plane
Constructor Detail

Resolver

public Resolver()
Method Detail

distinguishAndPropagateGroup

public Group distinguishAndPropagateGroup(Chain chain,
                                          String group3,
                                          int seqcode,
                                          int firstAtomIndex,
                                          int maxAtomIndex,
                                          int modelIndex,
                                          int[] specialAtomIndexes,
                                          Atom[] atoms)
Specified by:
distinguishAndPropagateGroup in interface JmolBioResolver

buildBioPolymer

public Polymer buildBioPolymer(Group group,
                               Group[] groups,
                               int i,
                               boolean checkPolymerConnections)
Specified by:
buildBioPolymer in interface JmolBioResolver

clearBioPolymers

public void clearBioPolymers(Group[] groups,
                             int groupCount,
                             BitSet bsModelsExcluded)
Specified by:
clearBioPolymers in interface JmolBioResolver

setHaveHsAlready

public void setHaveHsAlready(boolean b)
Specified by:
setHaveHsAlready in interface JmolBioResolver

initialize

public void initialize(ModelSet modelSet)
Specified by:
initialize in interface JmolBioResolver

initializeHydrogenAddition

public void initializeHydrogenAddition(ModelLoader modelLoader,
                                       int bondCount)
Specified by:
initializeHydrogenAddition in interface JmolBioResolver

addImplicitHydrogenAtoms

public void addImplicitHydrogenAtoms(JmolAdapter adapter,
                                     int iGroup)
Specified by:
addImplicitHydrogenAtoms in interface JmolBioResolver

getBondInfo

public void getBondInfo(JmolAdapter adapter,
                        String group3,
                        Object model)

getLigandBondInfo

private String[][] getLigandBondInfo(JmolAdapter adapter,
                                     Object model,
                                     String group3)
reads PDB ligand CIF info and creates a bondInfo object.

Parameters:
adapter -
model -
group3 -
Returns:
[[atom1, atom2, order]...]

finalizeHydrogens

public void finalizeHydrogens()
Specified by:
finalizeHydrogens in interface JmolBioResolver

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


finalizePdbCharges

private void finalizePdbCharges()

finalizePdbMultipleBonds

private void finalizePdbMultipleBonds()

setHydrogen

private void setHydrogen(int iTo,
                         int iAtom,
                         String name,
                         Point3f pt)