Package org.jmol.adapter.readers.cif
Class TopoCifParser
java.lang.Object
org.jmol.adapter.readers.cif.TopoCifParser
see https://github.com/COMCIFS/TopoCif
Basic idea:
We have TLinks, TNodes, and TAtoms
TLinks each have two TNodes and may also be associated with bridging TAtom
sets.
TNode extends TAtom and may also maintain a list of TAtoms.
TAtoms extend Atom and may have symmetry aspects.
- Author:
- Bob Hanson hansonr@stolaf.edu 2020.11.17 2021.05.07
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
types set by filter TOPOSE_TYPES in the format of one or more of {v, vw, hb} separated by "+"; default is v+hbstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
PRIOR to symmetry application, process all internal symop/translation aspects.void
finalizeSymmetry
(boolean haveSymmetry) Symmetry has been applied.org.jmol.adapter.readers.cif.TopoCifParser.TNode
Called from TLink and TAtom to find a node with the given symmetry.getAtomFromName
(String atomLabel) org.jmol.adapter.readers.cif.TopoCifParser.TNet
getNetByID
(String id) Find or create a net with this netID, giving it a default name "Net"+idorg.jmol.adapter.readers.cif.TopoCifParser.TNet
Find or create a TNet for this id and label.boolean
processBlock
(String key) void
ProcessRecord
(String key, String data) process _topol_node.id 1filter "TOPOS_TYPES=hb" will only load hydrogen bonds; options include v, vw, and hb
-
Field Details
-
LINK_TYPE_GENERIC_LINK
public static final int LINK_TYPE_GENERIC_LINKtypes set by filter TOPOSE_TYPES in the format of one or more of {v, vw, hb} separated by "+"; default is v+hb- See Also:
-
LINK_TYPE_SINGLE
public static final int LINK_TYPE_SINGLE- See Also:
-
LINK_TYPE_DOUBLE
public static final int LINK_TYPE_DOUBLE- See Also:
-
LINK_TYPE_TRIPLE
public static final int LINK_TYPE_TRIPLE- See Also:
-
LINK_TYPE_QUADRUPLE
public static final int LINK_TYPE_QUADRUPLE- See Also:
-
LINK_TYPE_QUINTUPLE
public static final int LINK_TYPE_QUINTUPLE- See Also:
-
LINK_TYPE_SEXTUPLE
public static final int LINK_TYPE_SEXTUPLE- See Also:
-
LINK_TYPE_SEPTUPLE
public static final int LINK_TYPE_SEPTUPLE- See Also:
-
LINK_TYPE_OCTUPLE
public static final int LINK_TYPE_OCTUPLE- See Also:
-
LINK_TYPE_AROM
public static final int LINK_TYPE_AROM- See Also:
-
LINK_TYPE_POLY
public static final int LINK_TYPE_POLY- See Also:
-
LINK_TYPE_DELO
public static final int LINK_TYPE_DELO- See Also:
-
LINK_TYPE_PI
public static final int LINK_TYPE_PI- See Also:
-
LINK_TYPE_HBOND
public static final int LINK_TYPE_HBOND- See Also:
-
LINK_TYPE_VDW
public static final int LINK_TYPE_VDW- See Also:
-
LINK_TYPE_OTHER
public static final int LINK_TYPE_OTHER- See Also:
-
linkTypes
-
LINK_TYPE_BITS
public static final int LINK_TYPE_BITS- See Also:
-
-
Constructor Details
-
TopoCifParser
public TopoCifParser()
-
-
Method Details
-
setReader
filter "TOPOS_TYPES=hb" will only load hydrogen bonds; options include v, vw, and hb -
ProcessRecord
process _topol_node.id 1- Throws:
Exception
-
processBlock
- Throws:
Exception
-
finalizeReader
PRIOR to symmetry application, process all internal symop/translation aspects.- Throws:
Exception
-
finalizeSymmetry
Symmetry has been applied. Identify all of the connected atoms and process the group associations- Throws:
Exception
-
getNetByID
Find or create a net with this netID, giving it a default name "Net"+id- Parameters:
id
-- Returns:
- net, never null
-
getAtomFromName
-
getNetFor
public org.jmol.adapter.readers.cif.TopoCifParser.TNet getNetFor(String id, String label, boolean forceNew) Find or create a TNet for this id and label.- Parameters:
id
- or nulllabel
- or nullforceNew
- true to create a new net- Returns:
- a net, or null if not forceNew and not found
-
findNode
Called from TLink and TAtom to find a node with the given symmetry.- Parameters:
nodeID
-op
- match for linkSymoptrans
- match for linkTrans- Returns:
- the node, or null if no such node was found
-