Wenn Sie die Standardoptionen nicht verstehen und Chem.MolToSmiles irgendwie verwenden, ist es Zeit für einen Abschluss. Ein Memo, das dadurch zusammengefasst wird.
RDkit 2020.03.5
Möglichkeit | Erläuterung |
---|---|
iosomericSmiles | Fügen Sie Informationen zur sterischen Chemie in SMILES ein. Der Standardwert ist true |
kekuleSmiles | Verwenden Sie das Kekule-Format (keine aromatische Bindung) mit SMILES. Der Standardwert ist false |
rootedAtAtom | Wenn nicht negativ, zwingt dies SMILES, an einem bestimmten Atom zu beginnen. Der Standardwert ist-1 |
canonical | Wenn false, wird es nicht normalisiert. Der Standardwert ist true. |
allBondsExplicit | Wenn true, werden alle Join-Bestellungen explizit in der Ausgabe SMILES gedruckt. Der Standardwert ist false. |
allHsExplicit | Wenn true, werden alle H-Zählungen explizit in der Ausgabe SMILES ausgegeben. Der Standardwert ist false. |
Erstellen Sie diese Methode, um die andere Operation als rootedAtAtom zu überprüfen.
def generate_smiles(old_smiles, isometric=True, kekule=False, allBondsExplicit=False, allHsExplicit=False, canonical=True):
print(f"\n\ngenerate smiles {old_smiles}")
print(f"prev smiles = {old_smiles}")
old_mol = Chem.MolFromSmiles(old_smiles)
new_smiles = Chem.MolToSmiles(old_mol, isomericSmiles=isometric, kekuleSmiles=kekule,
allBondsExplicit=allBondsExplicit, allHsExplicit=allHsExplicit, canonical=canonical)
print(f"new smiles = {new_smiles}")
Lassen Sie uns mit diesem Typen sprechen, der dreidimensionale Informationen und aromatische Ringinformationen hat.
C[C@H]1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
CC1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
Oh, die dreidimensionale Information ist verschwunden.
C[C@H]1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
Keine Änderung. Es ist möglich, dass das ursprüngliche SMILES kanonisch war.
C[C@H]1COC2=C1C(=O)C(=O)C1:C2:C:C:C2:C:1CCCC2(C)C
c wurde groß geschrieben und die Anzahl der Doppelpunkte hat zugenommen. -And = alternativ, ist es nicht ein Muster?
C-[C@H]1-C-O-C2=C-1-C(=O)-C(=O)-c1:c-2:c:c:c2:c:1-C-C-C-C-2(-C)-C
Die Einfachbindung ist auch richtig herausgekommen. Nun, es ist laut (lacht).
[CH3][C@H]1[CH2][O][C]2=[C]1[C](=[O])[C](=[O])[c]1[c]2[cH][cH][c]2[c]1[CH2][CH2][CH2][C]2([CH3])[CH3]
Impliziter Wasserstoff wurde entdeckt. Noch lauter (lacht)
[CH3]-[C@H]1-[CH2]-[O]-[C]2=[C]-1-[C](=[O])-[C](=[O])-[c]1:[c]-2:[cH]:[cH]:[c]2:[c]:1-[CH2]-[CH2]-[CH2]-[C]-2(-[CH3])-[CH3]
Für Leute, die nicht zwischen Zeilen lesen können.
https://www.rdkit.org/docs/source/rdkit.Chem.rdmolfiles.html
Recommended Posts