반응형

연구 18

mean field approximation 설명

mean field approximation (평균장 근사)는 상호작용하는 입자로 구성된 시스템에서 approximate partition function(근사 분배 함수) 를 계산하는데 사용한다. 모든 가능한 microstate(미시상태) 에 대한 에너지를 계산 할 때, partition function(분배함수)를 구하려면 brute force 알고리즘으로 풀기에는 시간이 너무 많이 소요되고, hamilton을 이용해서는 풀 수 없다. mean field theory에서 external field로 적절하게 선택함으로서 N-body system을 1-body system으로 대체할 수 있다. 이 external field는 남아있는 입자로 인해서 average field와 동일하게 설정된다. --> ..

연구 2022.09.18

SMILES를 그래프로 표현하기

dgl (deep graph library) 를 이용해서 SMILES를 그래프로 표현하는 방법을 알아보겠다! 아스피린을 예로 들어보겠다. 아스피린의 SMILES는 CC(=O)OC1=CC=CC=C1C(=O)O 이다. (Pubchem에서 가져옴) 그리고 그림을 그려보면, from rdkit.Chem.Draw import rdMolDraw2D from IPython.display import SVG smi='CC(=O)OC1=CC=CC=C1C(=O)O' mol = Chem.MolFromSmiles(smi) 이렇게 생겼다!! 이제 그래프로 바꿔보겠다. from rdkit import Chem from rdkit.Chem import MolFromSmiles from dgllife.utils import Base..

연구 2022.09.17

rdkit으로 SMILES를 canonical smiles로 바꾸는 법

rdkit을 이용해서 compound의 SMILES를 canonical, 또는 isomeric SMILES로 바꾸는 방법이다. from rdkit import Chem from rdkit.Chem import MolFromSmiles import rdkit ligand = 'CC1=C2C=C(C=CC2=NN1)C3=CC(=CN=C3)OCC(CC4=CC=CC=C4)N' can_smi = Chem.MolToSmiles(Chem.MolFromSmiles(ligand),canonical=True) iso_smi = Chem.MolToSmiles(Chem.MolFromSmiles(ligand),isomericSmiles=True) print(can_smi) print(iso_smi) Cc1[nH]nc2ccc(-c..

연구 2022.09.14

multiple sequence alignment(MSA)

MSA는 bioligical sequence (예를 들면 protein, DNA, RNA)를 sequence align한 결과이다. sequence align이란 두가지 이상 시퀀스를 비교해서, 그 시퀀스들 사이에서 유사성을 발견하는 것이다. (시퀀스 사이의 유사성을 이용해서 기능적, 진화적, 구조적 관계를 밝혀낼 수도 있음!) MSA의 입력은 진화적으로 관계가있는 시퀀스들이다. (공통조상을 가지고있어서 시퀀스들 사이에 관계가 있는 그런 시퀀스들) MSA의 결과값을 이용하면 sequence homology를 추론 할 수 있고, 진화 기원을 평가하기 위해서 phylogenetic analysis를 수행할 수도 있다. 시각적으로 보면 아래와 같다. 출처 : MSA 위키 single alignment colu..

연구 2022.09.10

empirical probability란 무엇일까

논문을 읽다가 empirical probability라는 단어를 보았다. empirical probability가 무엇인지 알아보겠다! empirical probability/relative frequency/experimental probability라고 도 부른다. 이론적인 실험공간에서가 아니라 실제 실험 에서 총 시행횟수에서 특정 사건이 발생한 결과 갯수의 비율이다. (즉, 실제 실험했을때 특정 사건이 얼마나 일어났는지에 대한 비율) 더 일반적으로 말하자면 실제 실험과 관찰에서의 확률이다. 장점 -실험 가정에서 자유롭다 예를 들어서, 두가지 조건을 만족하는 여성 집단에서의 확률을 추정해보자 조건 1. 키가 160이상 조건 2. 딸기잼보다 블루베리잼을 더 좋아함. 두가지 조건을 모두 만족하는 여성의 ..

연구 2022.09.09

HMMER

HMMER은 시퀀스 분석을 위한 소프트웨어 패키지이다. homologous protein이나 nucleotide sequence를 확인하기 위해서 사용되고, sequence alignment를 수행한다. 시퀀스의 profile-HMM을 비교해서 homology를 탐지한다. null model 과 비교해서 더 좋은 score를 내는 시퀀스가 profie-HMM을 구성한 시퀀스와 homologous하다는 것을 의미한다. profile-HMM은 multiple sequence alignment로 만들어진다.(HMMER 패키지 내의 hmmbuild program 사용) HMMER는 pFam과 InterPRo와 같은 protein family database의 core utility이다. Profile HMM p..

연구 2022.09.06

deep graph library - pad_packed_tensor

dgl의 backend 부분에 pad_packed_tensor라는 함수가 있다. 아무래도 백엔드를 다루는 함수이다보니, 함수내부는 파이썬으로 코딩이 안되어있나보다. 사용 방법만 나와있다. 이 함수가 하는 역할은 "Pads a packed batch of variable length tensors with given value." 인데, 어떤 값으로 가변 길이의 텐서 배치를 패딩하는 것이다. 다시한번 자세히 설명해보겠다! dgl에서 graphconv를 예로들어보자. dgl에서 forward함수를 통해 graph가 들어오고, graphconv를 통과시키면 결과 차원은 (배치의 전체 노드갯수 x dimension)으로 나온다. 그런데 이렇게 되면 배치 안에 존재하는 compound 한개가 atom을 몇개 가지..

연구 2022.08.31

dgl GraphConv

dgl은 그래프 신경망을 쉽게 사용할 수 있도록 해주는 라이브러리이다. 그중에서도 GraphConv라는 함수를 알아보겠다. https://docs.dgl.ai/en/0.4.x/api/python/nn.pytorch.html?highlight=graphconv#graphconv NN Modules (PyTorch) — DGL 0.4.3post2 documentation The output feature of shape \((N, H, D_{out})\) where \(H\) is the number of heads, and \(D_{out}\) is size of output feature. docs.dgl.ai GraphConv는 아래의 ' semi-supervised classification with..

연구 2022.08.30
반응형