一个氨基酸序列代表的化合物转换为MOL对象,并计算出该分子的描述符,用于机器学习。
    导入库

    1. from rdkit import Chem
    2. from rdkit.Chem import Draw
    3. from rdkit.Chem.Draw import IPythonConsole
    4. IPythonConsole.ipython_useSVG = True

    image.gif
    载入数据

    1. peptide_smiles = Chem.MolToSmiles(Chem.MolFromFASTA("RGDfK"))
    2. print(peptide_smiles)

    image.gif

    1. N=C(N)NCCC[C@H](N)C(=O)NCC(=O)N[C@@H](CC(=O)O)C(=O)N[C@@H](Cc1ccccc1)C(=O)N[C@@H](CCCCN)C(=O)O

    绘制多肽

    1. peptide_mol = Chem.MolFromSmiles(peptide_smiles)
    2. peptide_mol

    image.gif
    RDKit | 基于RDKit的氨基酸序列转换为SMILES - 图4

    绘制带原子索引的多肽

    1. def mol_with_atom_index( mol ):
    2. atoms = mol.GetNumAtoms()
    3. for idx in range( atoms ):
    4. mol.GetAtomWithIdx( idx ).SetProp( 'molAtomMapNumber', str( mol.GetAtomWithIdx( idx ).GetIdx() ) )
    5. return mol

    image.gif

    1. #With index
    2. mol_with_atom_index(peptide_mol)

    image.gif
    RDKit | 基于RDKit的氨基酸序列转换为SMILES - 图7