public class SmilesGenerator
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private int |
ac |
|
private boolean |
addAtomComment |
|
private boolean |
aromaticDouble |
|
private javajs.util.Lst<BS> |
aromaticRings |
|
private Node[] |
atemp |
|
private Node[] |
atoms |
|
private BS |
bsAromatic |
|
private BS |
bsBondsDn |
|
private BS |
bsBondsUp |
|
private BS |
bsIncludingH |
|
private BS |
bsRingKeys |
|
private BS |
bsSelected |
|
private 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 Node |
prevAtom |
|
private Node[] |
prevSp2Atoms |
|
private javajs.util.SB |
ringSets |
|
private SmilesMatcher |
sm |
|
private SmilesStereo |
smilesStereo |
|
private boolean |
topologyOnly |
|
private VTemp |
vTemp |
Constructor | Description |
---|---|
SmilesGenerator() |
Modifier and Type | Method | 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,
Node atom,
java.lang.String s,
BS bsDone) |
checks a group and either adds a new group to the growing check string or
returns null
|
private java.lang.String |
checkStereoPairs(Node atom,
int atomIndex,
Node[] 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(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,
Node 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,
BS bsSelected,
java.lang.String comment,
int flags) |
|
private Node |
getSmilesAt(javajs.util.SB sb,
Node atom,
boolean allowConnectionsToOutsideWorld,
boolean allowBranches,
boolean forceBrackets) |
|
private java.lang.String |
getSmilesComponent(Node atom,
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(Node atom,
Node refAtom,
javajs.util.P3 center) |
|
private java.lang.String |
sortInorganic(Node 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(Node[] a,
int i0,
int i1,
int i2) |
swap slices of an array [i0 i1) with [i1 i2)
|
private Node[] atoms
private int ac
private BS bsSelected
private BS bsAromatic
private int flags
private boolean explicitH
private javajs.util.SB ringSets
private VTemp vTemp
private int nPairs
private int nPairsMax
private BS bsBondsUp
private BS bsBondsDn
private BS bsToDo
private Node prevAtom
private Node[] prevSp2Atoms
private java.util.Map<java.lang.String,java.lang.Object[]> htRingsSequence
private java.util.Map<java.lang.String,java.lang.Object[]> htRings
private BS bsRingKeys
private 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<BS> aromaticRings
private SmilesMatcher sm
private int iHypervalent
private Node[] atemp
private int chainCheck
java.lang.String getSmiles(SmilesMatcher sm, Node[] atoms, int ac, BS bsSelected, java.lang.String comment, int flags) throws InvalidSmilesException
InvalidSmilesException
private java.lang.String getBioSmiles(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, 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, Node atomFrom)
bond
- atomFrom
- private void setBondDirections()
private Node getSmilesAt(javajs.util.SB sb, Node atom, boolean allowConnectionsToOutsideWorld, boolean allowBranches, boolean forceBrackets)
private void swapArray(Node[] 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)
private java.lang.String sortInorganic(Node atom, javajs.util.Lst<Edge> v, VTemp vTemp)
atom
- v
- vTemp
- private java.lang.String checkStereoPairs(Node atom, int atomIndex, Node[] stereo, int stereoFlag)
private java.lang.String addStereoCheck(int level, int atomIndex, Node atom, java.lang.String s, 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)