續 關於PubChempy的使用

2021-10-25 17:31:32 字數 2153 閱讀 1167

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)

例如我們輸入,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:"

,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:"

,index=false,sep=

',')

其中「atrazine","name"可使用不同的資訊進行檢索,如:分子式等。

關於64進製續

其實進行進製轉換關鍵是要把位 位元組 字元 字串的概念弄清楚。乙個帶符號的位元組能表示的數值範圍是 127 128,因此我們無論轉換進製為2進製 8進製 16進製制等等,甚至是128進製都可以考慮按位操作進行進製轉換,apache的commons codec專案中針對16進製制轉換的方法 如下 pu...

IT領域關於什麼(續)

在計算機出現之前,人們已經在廣泛的研究數學 應用數學。即便如此,數位化的開始也是在計算機出現之後,而從那以後,以計算機為主的it領域徹底改變了這個世界。雖然稱作傳統的it領域,但仍然是年輕而生機勃勃的領域,不僅因為從第一台電腦出現到現在才短短的五十多年,更因為這個領域還在飛速發展,它的市場已經開啟,...

關於Contacts的那點事兒 續

昨天沒有寫delete update insert,今天又試了一下。我的需求不是整個新建聯絡人,是在現有聯絡人的基礎上新增乙個字段。所以 應該是 values.put data.raw contact id,long.tostring 1 values.put data.mimetype,commo...