AI바인드
AI-Bind는 이전에는 볼 수 없었던 단백질과 리간드에 대해 해석 가능한 결합 예측을 제공하는 딥러닝 파이프라인입니다. AI-Bind는 검증을 위해 단백질-리간드 쌍의 우선순위를 지정하여 대규모 화학 라이브러리를 신속하게 스크리닝하고 계산 비용이 많이 드는 자동 도킹 시뮬레이션을 안내할 수 있습니다. 파이프라인은 단백질의 아미노산 서열 및 리간드의 이성질체 SMILE과 같은 간단한 화학적 특징을 입력으로 요구하며, 이는 사용 가능한 3D 단백질 구조의 부족과 관련된 한계를 극복하는 데 도움이 됩니다.
사전 인쇄 가능: https://arxiv.org/abs/2112.13168
왜 AI-바인드인가?
단백질-리간드 결합 예측에 있어 기존 ML 모델의 단점
이전에 본 적이 없는 단백질 및 리간드에 대한 결합을 예측하는 데 대한 우리의 관심으로 인해 기존 기계 학습 모델(예: DeepPurpose)의 테스트 성능을 세 가지 구성 요소로 분할하게 되었습니다.
(a) 형질도입 테스트: 테스트 데이터세트의 단백질과 리간드가 모두 훈련 데이터에 존재할 때,
(b) 반유도 테스트: 테스트 데이터 세트의 리간드만 훈련 데이터에 존재하는 경우
(c) 유도 테스트: 테스트 데이터 세트의 단백질과 리간드가 모두 훈련 데이터에 없는 경우.
우리는 유도 테스트 성능만이 기계 학습 모델이 단백질과 리간드의 구조적 특징으로부터 결합을 얼마나 잘 학습했는지 평가할 수 있는 신뢰할 수 있는 지표라는 것을 알게 되었습니다. 우리는 대부분의 모델이 주로 훈련에 사용되는 단백질-리간드 상호작용 네트워크에서 보이지 않는 링크를 예측하는 것과 관련된 변환 테스트 성능을 제시한다는 점에 주목합니다. 우리는 ML 모델이 어떻게 분자 구조를 완전히 무시하고 정도 정보를 사용하여 결합 예측을 하는 훨씬 간단한 알고리즘(즉, 네트워크 구성 모델)에 필적하는 변환 성능을 달성하는지 살펴봅니다.
AI-Bind는 무엇을 제공하나요?
AI-Bind 파이프라인은 훈련 데이터에 네트워크 파생 네거티브를 포함하고 분자 임베딩에 대한 감독되지 않은 사전 훈련을 도입하여 유도 테스트 성능을 극대화합니다. 파이프라인은 VecNet, VAENet 및 Siamese 모델의 세 가지 신경 아키텍처를 통해 검증됩니다. AI-Bind에서 가장 성능이 뛰어난 아키텍처는 VecNet으로, 이는 각각 Mol2vec과 ProtVec을 사용하여 단백질과 리간드를 내장합니다. 이러한 임베딩은 디코더(다층 퍼셉트론)에 공급되어 바인딩 확률을 예측합니다.
AI-바인드의 해석 및 활성 바인딩 사이트 식별
우리는 단백질 구조의 특정 빌딩 블록(아미노산 트라이그램)을 돌연변이시켜 결합 예측에 가장 큰 영향을 미치는 영역을 인식하고 이를 잠재적인 결합 사이트로 식별합니다. 아래에서는 자동 도킹 시뮬레이션 결과를 시각화하고 예측된 위치를 리간드가 결합하는 아미노산 잔기에 매핑하여 인간 단백질 TRIM59의 AI-Bind 예측 활성 결합 위치를 검증합니다. AI-Bind 예측 바인딩 사이트는 사용자가 자동 도킹 시뮬레이션을 위한 최적의 그리드를 생성하도록 안내하여 시뮬레이션 시간을 더욱 단축할 수 있습니다.
AI-결합 설정 및 단백질-리간드 결합 예측(최종 사용자를 위한 지침)
AI-Bind를 위한 하드웨어 설정
우리는 Intel Broadwell CPU 및 NVIDIA Tesla T4 GPU를 탑재한 Google Cloud Platform의 서버를 통해 모든 모델을 훈련하고 테스트했습니다. AI-Bind에서 사용되는 Python 버전은 3.6.6입니다. 사용된 CUDA 버전은 9.0입니다.
도커 사용
AI-Bind를 실행하려면 이 도커를 사용하십시오: https://hub.docker.com/r/omairs/foodome2
요구사항 파일 사용
AI-Bind에 필요한 모든 Python 모듈과 해당 버전은 여기에 나열되어 있습니다: 요구사항.txt
관련 패키지를 설치하려면 pip install -r 요구 사항.txt를 사용하세요.
AI-Bind에 사용되는 rdkit 버전: '2017.09.1'(설치에 대한 자세한 내용은 여기에서 설명서를 확인하세요: https://www.rdkit.org/docs/Install.html, 명령: conda install -c rdkit rdkit)
VecNet-User-Frontend.ipynb 노트북과 AIBind 폴더의 세 파일(AIBind.py, init .py 및 import_modules.py)이 동일한 폴더에 있는지 확인하세요.
/data 아래에 데이터 파일을 다운로드하고 저장합니다. 다운로드 링크: https://zenodo.org/record/7226641
Docker를 사용한 대체 설치
- "Predictions.dockerfile"이라는 Docker 파일을 다운로드합니다.
- 터미널에서 dockerfile이 있는 디렉터리로 이동하고 다음을 실행합니다. docker build -t aibindpred -f ./Predictions.dockerfile ./
- 이미지를 컨테이너로 실행하려면: docker run -it --gpus all --name aibindpredcontainer -p 8888:8888 aibindpred 컨테이너 내부에 git 저장소를 복제하거나 컨테이너를 실행하는 동안 로컬 볼륨을 연결할 수 있습니다. docker run -it --gpus all --name aibindpredcontainer -p 8888:8888 -v ./local_directory:/home aibindpred
- 컨테이너 내부에서 추가 셸을 실행하려면 다음을 실행합니다. docker exec -it aibindpredcontainer /bin/bash
- 컨테이너 내에서 Jupyter 노트북 인스턴스를 실행하려면 다음을 실행합니다. jupyter Notebook --ip=0.0.0.0 --port=8888 --allow-root 위 단계에서는 필요한 모든 패키지를 설치하고 AI를 사용하여 바인딩 예측을 실행하기 위한 환경을 만듭니다. 묶다.
프런트엔드에서 예측 실행
- 'InChiKey', 'SMILE' 및 'target_aa_code' 열을 사용하여 데이터 프레임 형식으로 데이터 파일을 구성합니다. 이 데이터프레임을 .csv 파일에 저장합니다.
- VecNet-User-Frontend.ipynb라는 노트북을 실행하여 바인딩 예측을 수행합니다. 예측된 결합 확률은 '평균 예측' 열 헤더 아래에서 확인할 수 있습니다.
코드와 데이터
데이터 파일
모든 데이터 파일은 여기에서 확인할 수 있습니다: https://zenodo.org/record/7226641
- /data/sars-busters-consolidated/Database 파일: DrugBank, BindingDB 및 DTC(Drug Target Commons)에서 파생된 단백질-리간드 결합 데이터를 포함합니다.
- /data/sars-busters-consolidated/chemicals: 임베딩을 사용한 AI-Bind의 훈련 및 테스트에 사용되는 리간드가 포함되어 있습니다.
- /data/sars-busters-consolidated/GitData/DeepPurpose 및 구성 모델: Transformer-CNN(DeepPurpose) 및 이중 구성 모델의 5겹 교차 검증과 관련된 훈련 테스트 데이터입니다.
- /data/sars-busters-consolidated/GitData/interactions: AI-Bind 신경망 훈련에 사용되는 네트워크 파생 네거티브 데이터 세트를 포함합니다.
- /data/sars-busters-consolidated/GitData: 훈련된 VecNet 모델, 코로나19와 관련된 바이러스 및 인간 단백질에 대한 결합 예측, 자동 도킹 시뮬레이션 결과 요약이 포함되어 있습니다.
- /data/sars-busters-consolidated/master_files: AI-Bind 테스트에 사용되는 절대 음성(비결합) 단백질-리간드 쌍을 포함합니다.
- /data/sars-busters-consolidated/targets: 관련 임베딩과 함께 AI-Bind의 훈련 및 테스트에 사용되는 단백질을 포함합니다.
- /data/sars-busters-consolidated/interactions: DrugBank, NCFD(식품 데이터베이스의 천연 화합물), BindingDB 및 DTC에서 파생된 양성(결합) 단백질-리간드 쌍을 포함합니다.
- /data/sars-busters-consolidated/Auto Docking: 코로나19 관련 바이러스 및 인간 단백질에 대한 AI-Bind 검증의 모든 파일과 결과가 포함되어 있습니다.
- /data/sars-busters-consolidated/Binding Probability Profile Validation: 자동 DCCoking 시뮬레이션에서 활성 바인딩 사이트를 시각화하는 파일이 포함되어 있습니다.
- /data/sars-busters/Mol2vec: 사전 훈련된 Mol2vec 및 ProtVec 모델을 여기에서 사용할 수 있습니다.
- /data/sars-busters-consolidated/s4pred: TRIM59의 2차 구조를 예측하기 위한 코드와 파일이 포함되어 있습니다.
암호
여기에서는 AI-Bind에 사용되는 Jupyter Notebook, Python 모듈 및 MATLAB 스크립트를 설명합니다.
AIBind
- AIBind.py: AI-Bind용 Python 클래스가 포함되어 있습니다. VecNet, VAENet 및 Siamese 모델 등 모든 신경 아키텍처를 포함합니다.
- import_modules.py: AI-Bind를 실행하는 데 필요한 모든 Python 모듈이 포함되어 있습니다.
구성-모델-5단
- 구성 모델 - Cross-Validation.ipynb: DeepPurpose에서 사용되는 BindingDB 데이터에 대한 이중 구성 모델의 5겹 교차 검증 성능을 계산합니다.
- configuration_bipartite.m: 이중 구성 모델의 MATLAB 구현을 포함합니다.
- runscriptposneg.m: 리간드와 단백질의 차수 서열을 사용하여 이중 구성 모델을 실행합니다. 출력 파일 summat10.csv 및 summat01.csv는 구성 모델의 성능을 계산하는 데 사용됩니다.
DeepPurpose-5단
- Deep Purpose - Final DataSet - Unseen Targets.ipynb: 네트워크 파생 네거티브를 사용하여 DeepPurpose에서 보이지 않는 대상에 대해 5겹 교차 검증(반유도 테스트)을 실행합니다.
- Deep Purpose - 최종 데이터 세트 - Unseen Nodes.ipynb: 네트워크 파생 네거티브를 사용하여 DeepPurpose에서 보이지 않는 노드에 대해 5겹 교차 검증(유도 테스트)을 실행합니다.
몰트랜스
- example_initive_AI_Bind_data.py: AI-Bind 훈련에 사용되는 네트워크 파생 음성 샘플을 사용하여 MolTrans에 대한 유도 테스트를 실행합니다.
- example_initive_BindingDB.py: MolTrans 논문에 사용된 BindingDB 데이터를 사용하여 MolTrans에 대한 유도 테스트를 실행합니다.
- example_semi_initive.py: 이 스크립트는 MolTrans에서 반유도 테스트를 실행하는 데 사용할 수 있습니다.
- example_transitive.py: 이 스크립트는 MolTrans에서 변환 테스트를 실행하는 데 사용할 수 있습니다.
DeepPurpose 및 구성 모델
- DeepPurpose Rerun - Transformer CNN.ipynb: 벤치마크 BindingDB 데이터를 사용하여 DeepPurpose를 훈련 테스트합니다. DeepPurpose에 대한 여러 실험이 여기에서 수행되었으며 여기에는 화학 구조를 무작위로 섞고 DeepPurpose 성능의 정도 분석이 포함됩니다.
- DeepPurpose data.ipynb의 구성 모델: DeepPurpose에 사용된 BindingDB 데이터세트에서 이중 구성 모델의 성능을 살펴봅니다.
EigenSpokes
- Eigen Spokes Analysis.ipynb - 여기에서는 결합된 인접 행렬(행과 열 모두에 리간드와 타겟이 있는 정사각형 인접 행렬)에 대해 EigenSpokes 분석을 실행합니다.
바로가기의 출현
- Without_and_with_constant_fluctuations_p_bind=0.16.ipynb: BindingDB의 단백질 샘플을 기반으로 장난감 단일 네트워크에서 구성 모델을 생성하고 실행합니다. 여기에서는 해리 상수 값에 대한 변동 및 지속적인 변동 없이 학위와 해리 상수 사이의 연관성과 관련된 두 가지 시나리오를 탐색합니다.
- With_varying_fluctuations.ipynb: BindingDB의 단백질 샘플을 기반으로 장난감 단일 네트워크에서 구성 모델을 생성하고 실행합니다. 여기서 해리 상수 값에 대한 변동은 BindingDB 데이터와 유사한 추세를 따릅니다.
엔지니어링 기능
- 엔지니어링된 기능 이해.ipynb: 엔지니어링된 기능(리간드 및 단백질 분자를 나타내는 간단한 기능)의 설명 가능성을 탐구합니다.
- VecNet 엔지니어링 기능 - Mol2vec 및 Protvec 중요 치수.ipynb: 단백질-리간드 결합 측면에서 Mol2vec 및 ProtVec 임베딩에서 가장 중요한 치수를 식별합니다.
- VecNet 엔지니어링 기능 Concat Original Features.ipynb: 원래 단백질과 리간드 임베딩을 연결한 후 VecNet의 성능을 탐색합니다.
- VecNet Engineered Features.ipynb: Mol2vec 및 ProtVec 임베딩을 VecNet 아키텍처의 간단한 엔지니어링 기능으로 대체하고 성능을 살펴봅니다.
활성 바인딩 사이트 식별
- VecNet-Protein-Trigrams-Study-GitHub.ipynb: 단백질의 아미노산 트라이그램을 돌연변이시키고 VecNet 예측의 변동을 관찰합니다. 이 과정은 아미노산 서열에서 잠재적인 활성 결합 부위를 식별하는 데 도움이 됩니다.
무작위 입력 테스트
- VecNet-Unseen_Nodes-RANDOM.ipynb: 리간드와 단백질 임베딩이 가우스 무작위 입력으로 대체되는 보이지 않는 노드(유도 테스트)에서 VecNet을 실행합니다.
- VecNet-Unseen_Nodes-T-RANDOM-Only.ipynb: 단백질 임베딩이 가우스 무작위 입력으로 대체되는 보이지 않는 노드(유도 테스트)에서 VecNet을 실행합니다.
- VecNet-Unseen_Targets-RANDOM.ipynb: 리간드와 단백질 임베딩이 가우스 무작위 입력으로 대체되는 보이지 않는 대상(반유도 테스트)에서 VecNet을 실행합니다.
- VecNet-Unseen_Targets-T-RANDOM-Only.ipynb: 단백질 임베딩이 가우스 무작위 입력으로 대체되는 보이지 않는 대상(반유도 테스트)에서 VecNet을 실행합니다.
시암 사람
- Siamese_Unseen_Nodes.ipynb: 여기서는 네트워크 파생 네거티브 데이터 세트를 생성하고 보이지 않는 노드에 대해 5겹 교차 검증(유도 테스트)을 실행합니다.
- Siamese_Unseen_Targets.ipynb: 여기서는 보이지 않는 대상에 대해 5겹 교차 검증을 실행합니다(반유도 테스트).
VAENet
- VAENet-Unseen_Nodes.ipynb: 여기서는 네트워크 파생 네거티브를 생성하고 보이지 않는 노드에 대해 5겹 교차 검증(유도 테스트)을 실행합니다.
- VAENet-Unseen_Targets.ipynb: 여기서는 보이지 않는 대상에 대해 5겹 교차 검증을 실행합니다(반유도 테스트).
확인
- SARS-CoV-2 예측 분석 VecNet.ipynb: VecNet이 코로나19와 관련된 SARS-CoV-2 바이러스 단백질 및 인간 단백질에 대해 수행한 상위 및 하위 100개 예측에 대한 자동 도킹 검증입니다.
- Binding_Probability_Profile_Golden_Standar_Validation.py: 최적 표준 단백질 결합 데이터를 사용하여 AI-Bind 파생 결합 위치의 유효성을 검사합니다.
VecNet
- VecNet-Unseen_Nodes.ipynb: 네트워크 파생 네거티브를 생성하고, 보이지 않는 노드에 대해 5겹 교차 검증을 실행하고(유도 테스트), SARS-CoV-2 바이러스 단백질 및 코로나19와 관련된 인간 단백질에 대해 예측합니다.
- VecNet-Unseen_Targets.ipynb: 여기서는 보이지 않는 대상에 대해 5겹 교차 검증을 실행합니다(반유도 테스트).
외부 자원
- Autodock Vina를 사용한 자동 도킹 알아보기: https://www.youtube.com/watch?v=BLbXkhqbebs
- PyMOL을 사용하여 활성 바인딩 사이트를 시각화하는 방법 알아보기: https://www.youtube.com/watch?v=mBlMI82JRfI
AI-바인드 인용
연구에 AI-Bind가 유용하다고 생각되면 다음 인용을 추가하십시오.
@article{Chatterjee2023,
doi = {10.1038/s41467-023-37572-z},
url = {https://doi.org/10.1038/s41467-023-37572-z},
year = {2023},
month = apr,
publisher = {Springer Science and Business Media {LLC}},
volume = {14},
number = {1},
author = {Ayan Chatterjee and Robin Walters and Zohair Shafi and Omair Shafi Ahmed and Michael Sebek and Deisy Gysi and Rose Yu and Tina Eliassi-Rad and Albert-L{'{a}}szl{'{o}} Barab{'{a}}si and Giulia Menichetti},
title = {Improving the generalizability of protein-ligand binding predictions with {AI}-Bind},
journal = {Nature Communications}
}