Si vous ne comprenez pas les options par défaut et que vous utilisez Chem.MolToSmiles, il est temps de passer votre diplôme. Une note résumée par cela.
RDkit 2020.03.5
option | La description |
---|---|
iosomericSmiles | Incluez des informations sur la chimie stérique dans SMILES. La valeur par défaut est true |
kekuleSmiles | Utilisez le format Kekule (pas de liaison aromatique) avec SMILES. Le défaut est faux |
rootedAtAtom | Si ce n'est pas négatif, cela force SMILES à commencer à un atome particulier. La valeur par défaut est-1 |
canonical | Si faux, il ne sera pas normalisé. La valeur par défaut est true. |
allBondsExplicit | Si true, tous les ordres de jointure sont explicitement imprimés dans la sortie SMILES. Le défaut est faux. |
allHsExplicit | Si vrai, tous les comptages H sont explicitement sortis dans la sortie SMILES. Le défaut est faux. |
Créez une telle méthode pour vérifier l'opération autre que rootedAtAtom.
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}")
Vérifions avec ce gars qui a des informations en trois dimensions et des informations sur les anneaux aromatiques.
C[C@H]1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
CC1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
Oh, les informations tridimensionnelles ont disparu.
C[C@H]1COC2=C1C(=O)C(=O)c1c2ccc2c1CCCC2(C)C
Pas de changement. Il est possible que le SMILES original soit canonique.
C[C@H]1COC2=C1C(=O)C(=O)C1:C2:C:C:C2:C:1CCCC2(C)C
c est devenu une majuscule et le nombre de deux points a augmenté. -Et = alternatif, n'est-ce pas un modèle?
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
La liaison simple est également sortie correctement. Eh bien, c'est bruyant (rires).
[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]
L'hydrogène implicite a été révélé. Encore plus bruyant (rires)
[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]
Pour les personnes qui ne savent pas lire entre les lignes.
https://www.rdkit.org/docs/source/rdkit.Chem.rdmolfiles.html
Recommended Posts