续:关于PubChempy的使用

续:关于PubChempy的使用

继上篇整理之后,又上网查询了pubchempy中“get_compounds”与“get_properties”的用法并进行了整理,以供记录与参考。

查询单个物质的信息

import pubchempy as pcp
c = pcp.Compound.from_cid(4396)
# #分子式
print(c.molecular_formula)
# #分子质量
print(c.molecular_weight)
# #smiles
print(c.isomeric_smiles)
# #IUPAC名
print(c.iupac_name)

通过化合物的种类来检索指定化合物及信息

import pubchempy as pcp
c = pcp.Compound.from_cid(4396)
results = pcp.get_compounds('alanine', 'name')
for i in results:
    print('CID: {}\tName: {}'.format(i.cid, i.iupac_name))
# get_compounds的默认设定是2D化合物结构信息,所以如果要取得3D结构式的相关信息我们可以修改设定参数来查看
c_4396 = pcp.get_compounds(4396, 'cid', record_type='3d')
c_4396 = c_4396[0]
print(c_4396.mmff94_energy_3d, c_4396.volume_3d)

当需要获取目标化合物的多种信息时,我们可以使用get_properties()来得到多种化合物的多种指定信息。

例如我们输入,IUPAC名称,分子式,SMILES,分子量,xlogP,tPSA,分子复杂度

import pubchempy as pcp
properties = ['IUPACName', 'MolecularFormula','canonical_smiles', 'MolecularWeight', 'XLogP','complexity' ]
a = pcp.get_properties(properties, 'alanine', 'name')
print(a)

通过调整参数as_dataframe=True我们可以把所需要的信息转化成Dataframe格式便于浏览和检阅。对于分子式是C6H6Cl6的化合物,可得到六氯化苯及其所有的同分异构体的全部信息。

import pubchempy as pcp
import pandas as pd
C6H6Cl6_info = pcp.get_compounds('C6H6Cl6', 'formula', as_dataframe=True)
print(C6H6Cl6_info.head())
C6H6Cl6_info.to_csv ("D://1.csv",index=False,sep=',')

也可以利用get_properties()来得到选定的化合物性质信息

C6H6Cl6_info_properties = pcp.get_properties(['isomeric_smiles', 'iupac_name','molecular_weight','xlogp', 'rotatable_bond_count'], 'atrazine', 'name', as_dataframe=True)
print(C6H6Cl6_info_properties)
C6H6Cl6_info_properties.to_csv ("D://1.csv",index=False,sep=',')

其中“atrazine","name"可使用不同的信息进行检索,如:分子式等。

参考内容:
链接: link.

你可能感兴趣的:(PubChempy,python)