多用户商城网站开发,软件开发管理制度,手机如何制作代码,博客园wordpress主题#x1f31e;欢迎来到AI生物医药的世界  #x1f308;博客主页#xff1a;卿云阁 #x1f48c;欢迎关注#x1f389;点赞#x1f44d;收藏⭐️留言#x1f4dd; #x1f31f;本文由卿云阁原创#xff01; #x1f320;本阶段属于练气阶段#xff0c;希望各位仙友顺利… 欢迎来到AI生物医药的世界  博客主页卿云阁 欢迎关注点赞收藏⭐️留言 本文由卿云阁原创 本阶段属于练气阶段希望各位仙友顺利完成突破 首发时间2024年3月16日 ✉️希望可以和大家一起完成进阶之路 作者水平很有限如果发现错误请留言轰炸哦万分感谢    机器学习算法 逻辑回归算法原理  朴素贝叶斯算法原理  最近邻算法原理  支持向量机算法原理   随机森林算法原理   梯度提升算法原理   应用域    分子表示   ADMET-CYPs抑制剂预测实战 论文地址 gkaa166.pdf (silverchair.com) CYPs功能和抑制剂         细胞色素P450cytochromeP450或CYP450,简称CYP450属于单氧酶的一类。它参与内源性物质和包括药物、环境化合物在内的外源性物质的代谢。        根据氨基酸序列的同源程度其成员又依次分为家族、亚家族和酶个体三级。细胞色素P450酶系统可缩写为CYP其中家族以阿拉伯数字表示亚家族以大写英文字母表示酶个体以阿拉伯数字表示如CYP2D6、CYP2C19、CYP3A4等。人类肝细胞色素P450酶系中至少有9种P450与药物代谢相关。         细胞色素P450主要分布在内质网和线粒体内膜上研究表明细胞色素P450是药物代谢过程中的关键酶而且对细胞因子和体温调节都有重要影响。      RDKit 介绍      化合物compounds药物是一种主要的药物类型通常进行相关研究时通常需要对其结构进行操作展示及分子量化学描述符等计算。这里介绍一个操作简便友好的开源工具RDKit。       RDKit是一个用于化学信息学的开源工具包基于对化合物2D和3D分子操作利用机器学习方法进行化合物描述符生成fingerprint生成化合物结构相似性计算2D和3D分子展示等。基于PYTHON语言进行调取使用。 该工具官网https://rdkit.org 也可以根据从 The RDKit Documentation 网站进入了解RDKit并熟悉RDKit的指令操作。 以下介绍RDKit的一些基础操作。  RDKit安装      这里介绍一种最快速的安装方法由于RDKit是基于python语言使用的所以可以在anaconda上快速进行RDKit的安装。  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple rdkit-pypi   安装完成后可以在python界面进行import来check RDKit 是否安装成功。如果可能顺利import则说明安装成功。 import rdkit 读分子操作      RDKit 支持从Smiles、mol、sdf 文件中读入分子获得分子对象。 |Smiles、mol 是通常用于保存单个分子而sdf格式当初是作为分子库形式设计的。 因此读入sdf得到的是分子迭代器,读入Smiles 和mol 文件是分子对象。 SMILES简介      SMARTSSMiles ARbitrary Target Specification是一种用于描述分子模式和属性的语言。SMILES所有的符号和属性在SMARTS中同样适用因此它也是SMILES的延伸。此外SMARTS还包括了逻辑操作符和额外的分子描述符后文会一一介绍。  (1)从SMILES/SMARTS直接读取  smiCC(C)OC(O)C(C)NP(O)(OCC1C(C(C(O1)N2CCC(O)NC2O)(C)F)O)OC3CCCCC3: 这行代码定义了一个字符串变量smi其中包含了一个SMILES表示的化合物的信息。SMILESSimplified Molecular Input Line Entry System是一种用于表示分子结构的文本字符串表示法。  mol  Chem.MolFromSmiles(smi): 这行代码使用RDKit的MolFromSmiles()函数将SMILES字符串转换为RDKit的分子对象。MolFromSmiles()函数将SMILES字符串解析并创建一个分子对象mol。  sms  Chem.MolFromSmarts(Cc1ccccc1): 这行代码使用RDKit的MolFromSmarts()函数将SMARTS模式字符串转换为RDKit的分子对象。SMARTSSMILES Arbitrary Target Specification是一种类似于SMILES的表示法用于描述分子的子结构模式。  print(mol): 这行代码打印了分子对象mol的信息通常包括分子的原子、键和立体化学信息。  print(sms): 这行代码打印了分子对象sms的信息通常包括SMARTS模式的表示信息。  rdkit.Chem.rdchem.Mol object at 0x0000025E71FBC970
rdkit.Chem.rdchem.Mol object at 0x0000025E730D1120    rdkit.Chem.rdchem.Mol object at 0x0000025E71FBC970和rdkit.Chem.rdchem.Mol object at 0x0000025E730D1120表示了两个分子对象的内存地址而不是它们的化学结构。要打印出分子的化学结构你可以使用RDKit提供的其他方法来获得分子的具体信息比如通过Draw模块来绘制化学结构。 (2)文件批量读取 从.smi批量读取SmilesMolSupplier(data, delimiter, smilesColumn, nameColumn, titleLine, sanitize) data数据文件 delimiter分隔符默认为  smilesColumnSMILES所在列默认为0 nameColumnSMILES名称所在列默认为1 titleLine是否含有标题行默认True sanitize是否检查正确性默认True suppl  Chem.SmilesMolSupplier(data/batch_smiles.smi, delimiter\t)
mols  [Chem.MolToSmiles(mol) for mol in suppl]
print(mols) [C1CCCCCCC1, c1ccccc1, c1ccoc1]  (3)文本批量读取 从文本批量读取SmilesMolSupplierFromText() 参数基本同上 with open(data/batch_smiles.smi, r) as f:mols_text  f.read()
suppl  Chem.SmilesMolSupplierFromText(mols_text, delimiter\t)
mols  [Chem.MolToSmiles(mol) for mol in suppl]
print(mols) [C1CCCCCCC1, c1ccccc1, c1ccoc1] (4)DataFrame批量读取 读取DataFrame中的SMILESPandasTools.AddMoleculeColumnToFrame(frame, smilesCol, molCol, includeFingerprints) frameDataFrame对象 smilesColSMILES所在列 molCol新列名将存放产生的rdkit mol对象 includeFingerprints是否生成指纹 df  pd.read_csv(data/smiles_df.csv)
PandasTools.AddMoleculeColumnToFrame(df,SMILES,mol,includeFingerprintsTrue)
df[MW]  df[mol].apply(Descriptors.MolWt)
print(df.head(2))  读.sdf 文件批量读取  从.sdf里批量读取Chem.SDMolSupplier(fileName, sanitize, removeHs, strictParsing) fileName文件名 sanitize检查化合价计算芳香性、共轭、杂化、kekule默认True removeHs是否隐藏氢原子默认True strictParsing是否使用严格模式进行解析默认True suppl  Chem.SDMolSupplier(data/batch.sdf)
mols  [Chem.MolToSmiles(mol) for mol in suppl if mol]
print(mols) [C1C\\CC/CC\\CC/1, c1ccccc1, c1ccoc1] 压缩包批量读取 gz_file  gzip.open(data/batch.sdf.gz, r)
suppl  Chem.ForwardSDMolSupplier(gz_file)
mols  [Chem.MolToSmiles(mol) for mol in suppl if mol]
print(mols)
f.close() [C1C\\CC/CC\\CC/1, c1ccccc1, c1ccoc1] 读.mol m  Chem.MolFromMolFile(data/output.mol)
print(Chem.MolToSmiles(mol)) c1cocc1