분자수준의 데이터를 다루는 방법
분자 구조 데이터를 벡터로 변환하는 분자 피쳐화(Molecular Featurization)이 필요하다. 예를 들어 다음과 같은 표현법을 사용할 수 있다.
1) 화학표현자 벡터
2) 2D Graph
3) 3D Electrostatic Grid
4) 오비탈 궤도 기반 함수(Orbital Basis Function)
주로 사용하는 모델링 방법
분자수준의 데이터를 사용하여 물성을 예측하는 모델링을 개발하는데 있어 주로 사용하는 방법으로는
1) 머신러닝
2) 단순신경망
3) 그래프 합성곱(Graph Convolution)
분자간 결합
분자간 결합은 여러가지가 있으며 다음과 같다.
1) 공유결합 : 두 원자간 전자를 공유하고 분자는 공유결합에 의한 결합된 원자 집합이라고 할 수 있다.
2) 비공유결합 : 전자를 직접 공유하지 않고 전자기 상호작용을 한다. 비공유 결합은 공유결합보다 약한 결합으로 일시적인 결합이 계속 생기고 깨지는 형태를 갖는다. 비공유결합은 공유결합처럼 강하지는 않지만 분자 모양을 결정하고 다른 분자와의 상호 작용에 큰 영향을 준다.
대부분의 약물은 비공유 결합으로 생물학적 분자와 상호작용하므로 신약 개발에서 중요한 역할을 한다.
비공유결합에는 다음과 같은 결합이 있다.
- 수소결합
- 이온결합
- 파이겹침(Pi-stacking)
분자데이터의 피쳐화
DeepChem라이브러리의 dc.feat함수를 사용하여 피쳐 벡터로 변환하는 방법으로 다음과 같은 방법이 존재한다.
1) SMILE 문자열과 RDKit
SMILE(Simplified Molecular-Input Line-Entry System)은 분자화학식을 문자열로 변환하여 처리하는 방법으로 널리 사용되고 있다. SMILE문자열은 보통 사람에게는 의미없는 무작위 문자열로 보이지만, 과학자에게 간결하고 합리적인 방식으로 원자들의 화학결합을 표현해주는 방법이다.
2) DeepChem라이브러리
데이터셋 내의 분자를 표현하는 형식으로 SMILE문자열을 사용한다. 딥러닝 모델은 입력값을 SMILE문자열로 바로 받아 의미있는 피쳐를 알아서 식별하기도 한다(Feature Engineering). 하지만 대체로 문제 해결에 사용자가 직접 SMILES 문자열을 피쳐화한다.
DeepChem은 분자 데이터를 다루기 위해 다른 오픈소스 라이브러리인 RDKit을 사용한다. RDKit은 SMILES문자열에 관한 많은 기능을 갖고 있어서 SMILES 문자열을 분자 그래프 및 아래 설명된 다른 표현으로 변환하는데 중요한 역할을 수행한다.
3) 확장연결지문
화학지문(Chemical FingerPrint)는 분자의 특성 유무를 1과 0으로 나타낸 벡터이다. 확장 연결지문(Extended-Connectivity Finger-Print, ECFP)는 화학지문의 몇가지 유용한 특성을 결합한 피쳐화 방법으로 임의의 크기의 분자를 고정 길이의 벡터로 변환해준다.
대부분의 머신러닝 모델은 입력값으로 동일 크기의 벡터를 사용해야 하는 관계로, 확장 연결지문은 서로 다른 크기의 분자를 대상으로 동일한 학습 모델을 가능하게 해주는 장점이 있다.
ECFP = 입력 데이터의 사이즈를 동일하게 만들어줌
댓글 없음:
댓글 쓰기