public class SmilesGenerator extends Object
Modifier and Type | Field and Description |
---|---|
private int |
atomCount |
private JmolNode[] |
atoms |
private BS |
bsAromatic |
private BS |
bsBondsDn |
private BS |
bsBondsUp |
private BS |
bsIncludingH |
private BS |
bsSelected |
private BS |
bsToDo |
private Map<String,Object[]> |
htRings |
private Map<String,Object[]> |
htRingsSequence |
private int |
nPairs |
private JmolNode |
prevAtom |
private JmolNode[] |
prevSp2Atoms |
private javajs.util.SB |
ringSets |
private VTemp |
vTemp |
Constructor and Description |
---|
SmilesGenerator() |
Modifier and Type | Method and Description |
---|---|
private void |
addBracketedBioName(javajs.util.SB sb,
JmolNode a,
String atomName) |
private String |
addStereoCheck(int atomIndex,
JmolNode[] stereo,
int i,
String s)
checks a group and either adds a new group to the growing
check string or returns null
|
private String |
checkStereoPairs(JmolNode atom,
int atomIndex,
JmolNode[] stereo,
int stereoFlag) |
private void |
dumpRingKeys(javajs.util.SB sb,
Map<String,Object[]> ht) |
(package private) String |
getBioSmiles(JmolNode[] atoms,
int atomCount,
BS bsSelected,
boolean allowUnmatchedRings,
boolean addCrossLinks,
String comment) |
private char |
getBondStereochemistry(JmolEdge bond,
JmolNode atomFrom)
Retrieves the saved character based on the index of the bond.
|
private String |
getRingCache(int i0,
int i1,
Map<String,Object[]> ht) |
protected static String |
getRingKey(int i0,
int i1) |
(package private) String |
getSmiles(JmolNode[] atoms,
int atomCount,
BS bsSelected) |
private JmolNode |
getSmiles(javajs.util.SB sb,
JmolNode atom,
boolean allowConnectionsToOutsideWorld,
boolean allowBranches) |
private String |
getSmilesComponent(JmolNode atom,
BS bs,
boolean allowConnectionsToOutsideWorld)
creates a valid SMILES string from a model.
|
private static String |
getStereoFlag(JmolNode atom0,
JmolNode[] atoms,
int nAtoms,
VTemp v) |
private void |
setBondDirections()
Creates global BitSets bsBondsUp and bsBondsDown.
|
private String |
sortInorganic(JmolNode atom,
javajs.util.List<JmolEdge> v)
We must sort the bond vector such that a diaxial pair is
first and last.
|
private JmolNode[] atoms
private int atomCount
private BS bsSelected
private BS bsAromatic
private javajs.util.SB ringSets
private VTemp vTemp
private int nPairs
private BS bsBondsUp
private BS bsBondsDn
private BS bsToDo
private JmolNode prevAtom
private JmolNode[] prevSp2Atoms
private BS bsIncludingH
String getSmiles(JmolNode[] atoms, int atomCount, BS bsSelected) throws InvalidSmilesException
InvalidSmilesException
String getBioSmiles(JmolNode[] atoms, int atomCount, BS bsSelected, boolean allowUnmatchedRings, boolean addCrossLinks, String comment) throws InvalidSmilesException
InvalidSmilesException
private void addBracketedBioName(javajs.util.SB sb, JmolNode a, String atomName)
private String getSmilesComponent(JmolNode atom, BS bs, boolean allowConnectionsToOutsideWorld) throws InvalidSmilesException
atom
- bs
- allowConnectionsToOutsideWorld
- InvalidSmilesException
private char getBondStereochemistry(JmolEdge bond, JmolNode atomFrom)
bond
- atomFrom
- private void setBondDirections()
private JmolNode getSmiles(javajs.util.SB sb, JmolNode atom, boolean allowConnectionsToOutsideWorld, boolean allowBranches)
private String sortInorganic(JmolNode atom, javajs.util.List<JmolEdge> v)
atom
- v
- private String checkStereoPairs(JmolNode atom, int atomIndex, JmolNode[] stereo, int stereoFlag)
private static String getStereoFlag(JmolNode atom0, JmolNode[] atoms, int nAtoms, VTemp v)
atom0
- atoms
- nAtoms
- v
- private String addStereoCheck(int atomIndex, JmolNode[] stereo, int i, String s)
atomIndex
- stereo
- i
- s
- protected static String getRingKey(int i0, int i1)