Rdkit을 사용한 구조화

의 목적


python 라이브러리의 Rdkit을 사용하여 화합물을 2차원 가시화
※ 참고로 이 글을 쓴 사람은 완전히 문과생이라 전문 지식이 없습니다.(책과 인터넷에서 얻은 지식을 자신의 방식으로 해석한다.)그래서 잘못되면 교수님!

이루어지다


우선 데이터부터 시작한다.
이번에python 라이브러리 중 하나인'pubcheempy'를 사용하여 pubchem에서 화합물 데이터를 얻습니다!
※ pubchempy는 아나콘다에게서 획득https://anaconda.org/bioconda/pubchempy
from rdkit.Chem import Draw #可視化する時に使う
import pubchempy as pcp #pubchemからデータを入手に使う
우선 이것들을 도입해라.
columns = ['IUPACName', 'MolecularFormula', 'CanonicalSMILES']
먼저 pubchem에서 구하고 싶은 열명을 결정합니다.(왼쪽부터 "IUPA 이름, 분자식, smiles")
이번에는 pubchem에서 혈청소를 꺼냈다.

이어서 pubchem에서 DataFrame으로 혈청을 얻는다


sample.py
sero = pcp.get_properties(properties, 'Serotonin','name', as_dataframe=True)
sero #=> CanonicalSMILES:C1=CC2=C(C=C1O)C(=CN2)CCN    IUPACName:3-(2-aminoethyl)-1H-indol-5-ol  MolecularFormula:C10H12N2O
sample.py
pcp.get_properties(properties, 'Serotonin','name', as_dataframe=True)
as_데이터프레임=True이면 팬더스의 데이터프레임 같은 형태가 된다.

다음은 시각화입니다.


sample.py
a = sero.iloc[:, 0].values

for i in a:
    mol = Chem.MolFromSmiles(i)

Draw.MolToImage(mol) #=>MolToImageが描写するメソッド
아름답지는 않지만 이번 목적이'가시화'여서 생략했습니다.
이것에 근거하여 꺼낸 것은

이렇게 표시됩니다.위키와 pubchem으로 실제 형식을 보면 좌우상반, 어쨌든 OK!?
(SMILES식 묘사. 다르면 지적해 주십시오.)

총결산


이번에는 Rdkit을 사용해 묘사했지만 다른 계산과 3차원 묘사도 할 수 있을 것 같다.아직 막 사용하기 시작했지만 도전해 보고 싶어요.

참고 문헌

  • https://pubchem.ncbi.nlm.nih.gov/compound/5202#section=Top
  • https://qiita.com/mojaie/items/2113274201038b29af3d
  • https://future-chem.com/pub-chem-py/
  • 좋은 웹페이지 즐겨찾기