public class SmilesGenerator
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private int |
ac |
private boolean |
addAtomComment |
private SimpleNode[] |
alleneStereo |
private boolean |
aromaticDouble |
private javajs.util.Lst<javajs.util.BS> |
aromaticRings |
private SimpleNode[] |
atemp |
private Node[] |
atoms |
private javajs.util.BS |
bsAromatic |
private javajs.util.BS |
bsBondsDn |
private javajs.util.BS |
bsBondsUp |
private javajs.util.BS |
bsIncludingH |
private javajs.util.BS |
bsRingKeys |
private javajs.util.BS |
bsSelected |
private javajs.util.BS |
bsToDo |
private int |
chainCheck |
private boolean |
explicitH |
private int |
flags |
(package private) boolean |
getAromatic |
private java.util.Map<java.lang.String,java.lang.Object[]> |
htRings |
private java.util.Map<java.lang.String,java.lang.Object[]> |
htRingsSequence |
private int |
iHypervalent |
private boolean |
isPolyhedral |
private boolean |
noBioComment |
private boolean |
noStereo |
private int |
nPairs |
private int |
nPairsMax |
private boolean |
openSMILES |
javajs.util.P3 |
polySmilesCenter |
private SimpleNode |
prevAtom |
private SimpleNode[] |
prevSp2Atoms |
private int |
ptAtom |
private int |
ptSp2Atom0 |
private javajs.util.Lst<javajs.util.BS> |
ringSets |
private SmilesMatcher |
sm |
private SmilesStereo |
smilesStereo |
private boolean |
topologyOnly |
private VTemp |
vTemp |
Constructor and Description |
---|
SmilesGenerator() |
Modifier and Type | Method and Description |
---|---|
private void |
addBracketedBioName(javajs.util.SB sb,
Node atom,
java.lang.String atomName,
boolean addComment) |
private java.lang.String |
addStereoCheck(int level,
int atomIndex,
SimpleNode atom,
java.lang.String s,
javajs.util.BS bsDone)
checks a group and either adds a new group to the growing check string or
returns null
|
private java.lang.String |
checkStereoPairs(SimpleNode atom,
int atomIndex,
SimpleNode[] stereo,
int stereoFlag) |
private void |
dumpRingKeys(javajs.util.SB sb,
java.util.Map<java.lang.String,java.lang.Object[]> ht) |
private void |
generateRingData()
get aromaticity, ringSets, and aromaticRings fields so that we can
assign / and \ and also provide inter-aromatic single bond
|
private java.lang.String |
getBioSmiles(javajs.util.BS bsSelected,
java.lang.String comment,
int flags) |
private java.lang.String |
getBondOrder(Edge bondPrev,
int atomIndex,
int prevIndex,
boolean isAromatic) |
private char |
getBondStereochemistry(Edge bond,
SimpleNode atomFrom)
Retrieves the saved character based on the index of the bond.
|
private java.lang.String |
getRingCache(int i0,
int i1,
java.util.Map<java.lang.String,java.lang.Object[]> ht) |
protected static java.lang.String |
getRingKey(int i0,
int i1) |
private java.lang.String |
getRingPointer(int i) |
(package private) java.lang.String |
getSmiles(SmilesMatcher sm,
Node[] atoms,
int ac,
javajs.util.BS bsSelected,
java.lang.String comment,
int flags) |
private Node |
getSmilesAt(javajs.util.SB sb,
SimpleNode atom,
boolean allowConnectionsToOutsideWorld,
boolean allowBranches,
boolean forceBrackets) |
private java.lang.String |
getSmilesComponent(Node atom,
javajs.util.BS bs,
boolean allowBioResidues,
boolean allowConnectionsToOutsideWorld,
boolean forceBrackets)
creates a valid SMILES string from a model.
|
private boolean |
isSameAromaticRing(int a1,
int a2) |
private void |
setBondDirections()
Creates global BitSets bsBondsUp and bsBondsDown.
|
(package private) void |
sortBonds(SimpleNode atom,
SimpleNode refAtom,
javajs.util.P3 center) |
private java.lang.String |
sortInorganic(SimpleNode atom,
javajs.util.Lst<Edge> v,
VTemp vTemp)
We must sort the bond vector such that a diaxial pair is
first and last.
|
private void |
swapArray(SimpleNode[] a,
int i0,
int i1,
int i2)
swap slices of an array [i0 i1) with [i1 i2)
|
private Node[] atoms
private int ac
private javajs.util.BS bsSelected
private javajs.util.BS bsAromatic
private int flags
private boolean explicitH
private javajs.util.Lst<javajs.util.BS> ringSets
private VTemp vTemp
private int nPairs
private int nPairsMax
private javajs.util.BS bsBondsUp
private javajs.util.BS bsBondsDn
private javajs.util.BS bsToDo
private SimpleNode prevAtom
private SimpleNode[] prevSp2Atoms
private SimpleNode[] alleneStereo
private java.util.Map<java.lang.String,java.lang.Object[]> htRingsSequence
private java.util.Map<java.lang.String,java.lang.Object[]> htRings
private javajs.util.BS bsRingKeys
private javajs.util.BS bsIncludingH
private boolean topologyOnly
boolean getAromatic
private boolean addAtomComment
private boolean noBioComment
private boolean aromaticDouble
private boolean noStereo
private boolean openSMILES
public javajs.util.P3 polySmilesCenter
private SmilesStereo smilesStereo
private boolean isPolyhedral
private javajs.util.Lst<javajs.util.BS> aromaticRings
private SmilesMatcher sm
private int iHypervalent
private int ptAtom
private int ptSp2Atom0
private SimpleNode[] atemp
private int chainCheck
java.lang.String getSmiles(SmilesMatcher sm, Node[] atoms, int ac, javajs.util.BS bsSelected, java.lang.String comment, int flags) throws InvalidSmilesException
InvalidSmilesException
private java.lang.String getBioSmiles(javajs.util.BS bsSelected, java.lang.String comment, int flags) throws InvalidSmilesException
InvalidSmilesException
private void addBracketedBioName(javajs.util.SB sb, Node atom, java.lang.String atomName, boolean addComment)
private java.lang.String getSmilesComponent(Node atom, javajs.util.BS bs, boolean allowBioResidues, boolean allowConnectionsToOutsideWorld, boolean forceBrackets) throws InvalidSmilesException
atom
- bs
- allowBioResidues
- allowConnectionsToOutsideWorld
- forceBrackets
- InvalidSmilesException
private void generateRingData() throws InvalidSmilesException
InvalidSmilesException
private char getBondStereochemistry(Edge bond, SimpleNode atomFrom)
bond
- atomFrom
- private void setBondDirections()
private Node getSmilesAt(javajs.util.SB sb, SimpleNode atom, boolean allowConnectionsToOutsideWorld, boolean allowBranches, boolean forceBrackets)
private void swapArray(SimpleNode[] a, int i0, int i1, int i2)
a
- i0
- i1
- i2
- private java.lang.String getBondOrder(Edge bondPrev, int atomIndex, int prevIndex, boolean isAromatic)
bondPrev
- atomIndex
- prevIndex
- isAromatic
- private boolean isSameAromaticRing(int a1, int a2)
void sortBonds(SimpleNode atom, SimpleNode refAtom, javajs.util.P3 center)
private java.lang.String sortInorganic(SimpleNode atom, javajs.util.Lst<Edge> v, VTemp vTemp)
atom
- v
- vTemp
- private java.lang.String checkStereoPairs(SimpleNode atom, int atomIndex, SimpleNode[] stereo, int stereoFlag)
private java.lang.String addStereoCheck(int level, int atomIndex, SimpleNode atom, java.lang.String s, javajs.util.BS bsDone)
level
- atomIndex
- atom
- s
- bsDone
- private java.lang.String getRingCache(int i0, int i1, java.util.Map<java.lang.String,java.lang.Object[]> ht)
private java.lang.String getRingPointer(int i)
private void dumpRingKeys(javajs.util.SB sb, java.util.Map<java.lang.String,java.lang.Object[]> ht)
protected static java.lang.String getRingKey(int i0, int i1)