io.g96.in
Class InTopoG96

java.lang.Object
  extended byio.g96.in.InTopoG96

public class InTopoG96
extends java.lang.Object

The InTopoG96 class reads in a GROMOS96 topology file.

Version:
0.2, August 2005
Author:
Vincent Kraeutler, Mika Kastenholz

Nested Class Summary
 class InTopoG96.Topology
          A collection of stuff to hold data read from the topology file.
 
Constructor Summary
InTopoG96()
           
 
Method Summary
static int[] determineMolecules(Particles atoms, Bonds bonds)
          Fast method for determining molecule bounds.
static int[] determineMoleculesFloyd(Particles atoms, Bonds bonds)
          slow (N^3) but accurate molecule bounds method.
static int[] getBoundaryAtoms(int[] molecule)
          Find the last atom of each molecule.
static Angles parseAngleBlock(java.util.ArrayList block, java.util.Hashtable angleTypes)
           
static void parseAtomTypeNameBlock(java.util.ArrayList block, InteractionParameters intpara)
           
static java.util.Hashtable parseBondAngleTypeBlock(java.util.ArrayList block)
           
static Bonds parseBondBlock(java.util.ArrayList block, java.util.Hashtable bondTypes)
           
static java.util.Hashtable parseBondTypeBlock(java.util.ArrayList block)
           
static Dihedrals parseDihedralBlock(java.util.ArrayList block, java.util.Hashtable dihedralType)
           
static java.util.Hashtable parseDihedralTypeBlock(java.util.ArrayList block)
           
static java.util.ArrayList parseExclusionLine(java.lang.String[] words, int offset, java.util.ArrayList exclusionList)
          Parse the remaining exclusions from an array of Strings.
static java.util.Hashtable parseImpDihedralTypeBlock(java.util.ArrayList block)
           
static ImproperDihedrals parseImproperBlock(java.util.ArrayList block, java.util.Hashtable impDihedralTypes)
           
static LJTypeHashMap parseLJBlock(java.util.ArrayList block)
           
static java.util.ArrayList parseResNameBlock(java.util.ArrayList block)
           
static Particles parseSoluteAtomBlock(java.util.ArrayList block, java.util.ArrayList residueNames, SimSystem sys)
           
static G96SolventTopology parseSolventAtomBlock(java.util.ArrayList block)
           
static Bonds parseSolventConstraintBlock(java.util.ArrayList block)
           
static void parseTopPhysConBlock(java.util.ArrayList block, SimSystem sys)
           
static void parseTopVersionBlock(java.util.ArrayList block, InteractionParameters intpara)
           
static InTopoG96.Topology readTopology(java.lang.String topologyFileName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InTopoG96

public InTopoG96()
Method Detail

readTopology

public static InTopoG96.Topology readTopology(java.lang.String topologyFileName)
                                       throws java.io.IOException
Parameters:
topologyFileName -
Returns:
the topology
Throws:
java.io.IOException

parseSolventConstraintBlock

public static Bonds parseSolventConstraintBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the constraints

parseSolventAtomBlock

public static G96SolventTopology parseSolventAtomBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the solvent topology

parseLJBlock

public static LJTypeHashMap parseLJBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the LJTypes

parseDihedralTypeBlock

public static java.util.Hashtable parseDihedralTypeBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the dihedral types

parseImpDihedralTypeBlock

public static java.util.Hashtable parseImpDihedralTypeBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the ImpDihedralTypes

parseBondAngleTypeBlock

public static java.util.Hashtable parseBondAngleTypeBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the angle types

parseBondTypeBlock

public static java.util.Hashtable parseBondTypeBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the bond types

parseSoluteAtomBlock

public static Particles parseSoluteAtomBlock(java.util.ArrayList block,
                                             java.util.ArrayList residueNames,
                                             SimSystem sys)
Parameters:
block -
Returns:
the particles (contents of SOLUTEATOM block)

parseExclusionLine

public static java.util.ArrayList parseExclusionLine(java.lang.String[] words,
                                                     int offset,
                                                     java.util.ArrayList exclusionList)
Parse the remaining exclusions from an array of Strings.

Parameters:
words -
offset -
exclusionList -
Returns:
the (remaining) exclusions

parseResNameBlock

public static java.util.ArrayList parseResNameBlock(java.util.ArrayList block)
Parameters:
block -
Returns:
the residue names

parseAtomTypeNameBlock

public static void parseAtomTypeNameBlock(java.util.ArrayList block,
                                          InteractionParameters intpara)
Parameters:
block -
intpara -

parseTopVersionBlock

public static void parseTopVersionBlock(java.util.ArrayList block,
                                        InteractionParameters intpara)
Parameters:
block - the lines of the block
intpara - add the topology version to this

parseTopPhysConBlock

public static void parseTopPhysConBlock(java.util.ArrayList block,
                                        SimSystem sys)
Parameters:
block -
sys -

parseBondBlock

public static Bonds parseBondBlock(java.util.ArrayList block,
                                   java.util.Hashtable bondTypes)
Parameters:
block - ArrayList containing the Bond block
bondTypes -
Returns:
Bonds the parsed Bonds object

parseAngleBlock

public static Angles parseAngleBlock(java.util.ArrayList block,
                                     java.util.Hashtable angleTypes)
Parameters:
block - the block to be parsed
angleTypes - available angleTypes
Returns:
angles

parseImproperBlock

public static ImproperDihedrals parseImproperBlock(java.util.ArrayList block,
                                                   java.util.Hashtable impDihedralTypes)
Parameters:
block -
impDihedralTypes -
Returns:
the improper dihedrals

parseDihedralBlock

public static Dihedrals parseDihedralBlock(java.util.ArrayList block,
                                           java.util.Hashtable dihedralType)
Parameters:
block -
dihedralType -
Returns:
the dihedrals

determineMolecules

public static int[] determineMolecules(Particles atoms,
                                       Bonds bonds)
Fast method for determining molecule bounds. Scales N * M, where N is the number of bonds and M is the number of molecules. Assumes that Molecule determination is performed via inspection of each bond in turn and incremental construction of the molecules.

Parameters:
atoms -
bonds -
Returns:
the index of the last atom of each molecule
See Also:
determineMoleculesFloyd(core.Particles, forcefield.Bonds)

determineMoleculesFloyd

public static int[] determineMoleculesFloyd(Particles atoms,
                                            Bonds bonds)
slow (N^3) but accurate molecule bounds method. works via explicit graph analysis of the connectivity matrix.

Parameters:
atoms -
bonds -
Returns:
the index of the last atom of each molecule
See Also:
determineMolecules(core.Particles, forcefield.Bonds)

getBoundaryAtoms

public static int[] getBoundaryAtoms(int[] molecule)
Find the last atom of each molecule.

Parameters:
molecule -
Returns:
the boundary atoms