org.jmol.modelsetbio
Class Resolver

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

public final class Resolver
extends java.lang.Object
implements JmolBioResolver


Nested Class Summary
(package private)  class Resolver.BondSorter
           
 
Field Summary
private  int baseBondIndex
           
private  java.util.BitSet bsAddedHydrogens
           
private  java.util.BitSet bsAtomsForHs
           
private  boolean haveHsAlready
           
private  java.lang.String[] hNames
           
private  java.util.Map<java.lang.String,java.lang.String> htBondMap
           
private  java.util.Map<java.lang.String,java.lang.Boolean> htGroupBonds
           
private  int lastSetH
           
private  int maxSerial
           
private  ModelLoader modelLoader
           
private  ModelSet modelSet
           
private  javax.vecmath.Point4f plane
           
private  javax.vecmath.Vector3f vAB
           
private  javax.vecmath.Vector3f vAC
           
private  javax.vecmath.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, java.util.BitSet bsModelsExcluded)
           
private  void deleteUnneededAtoms()
          Delete hydrogen atoms that are still in bsAddedHydrogens, because they were not actually added.
 Group distinguishAndPropagateGroup(Chain chain, java.lang.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, java.lang.String group3, java.lang.Object model)
           
private  java.lang.String[][] getLigandBondInfo(JmolAdapter adapter, java.lang.Object model, java.lang.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, java.lang.String name, javax.vecmath.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 java.util.BitSet bsAddedHydrogens

bsAtomsForHs

private java.util.BitSet bsAtomsForHs

htBondMap

private java.util.Map<java.lang.String,java.lang.String> htBondMap

htGroupBonds

private java.util.Map<java.lang.String,java.lang.Boolean> htGroupBonds

hNames

private java.lang.String[] hNames

lastSetH

private int lastSetH

maxSerial

private int maxSerial

baseBondIndex

private int baseBondIndex

haveHsAlready

private boolean haveHsAlready

vAB

private javax.vecmath.Vector3f vAB

vAC

private javax.vecmath.Vector3f vAC

vNorm

private javax.vecmath.Vector3f vNorm

plane

private javax.vecmath.Point4f plane
Constructor Detail

Resolver

public Resolver()
Method Detail

distinguishAndPropagateGroup

public Group distinguishAndPropagateGroup(Chain chain,
                                          java.lang.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,
                             java.util.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,
                        java.lang.String group3,
                        java.lang.Object model)

getLigandBondInfo

private java.lang.String[][] getLigandBondInfo(JmolAdapter adapter,
                                               java.lang.Object model,
                                               java.lang.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,
                         java.lang.String name,
                         javax.vecmath.Point3f pt)