신약 개발 가속화
소개
의약품 혁신의 원천인 신약 발굴은 새로운 의약품 연구 개발의 중요한 부분입니다. 신약 발굴은 표적 선택과 확인을 통해 수행됩니다. 프래그먼트 또는 리드 화합물이 발견되면, 구조-활성 관계(SAR)와 화합물 가용성을 파악하여 리드 화합물이 후보 화합물로 최적화될 잠재력을 평가하기 위해 일반적으로 내부 또는 상용 화합물 라이브러리에서 유사 화합물을 검색합니다.
수십억 규모의 화합물 라이브러리에서 프래그먼트 공간 내의 이용 가능한 화합물을 발견하기 위해, 일반적으로 화학 지문을 검색하여 부분구조 검색과 유사도 검색을 수행합니다. 그러나 전통적인 솔루션은 수십억 규모의 고차원 화학 지문을 다룰 때 시간이 많이 걸리고 오류가 발생하기 쉽습니다. 또한 이 과정에서 일부 잠재적 화합물이 손실될 수도 있습니다. 이 글에서는 대규모 벡터용 유사도 검색 엔진인 Milvus를 RDKit과 함께 사용하여 고성능 화학 구조 유사도 검색 시스템을 구축하는 방법을 논의합니다.
전통적인 방법과 비교할 때, Milvus는 더 빠른 검색 속도와 더 넓은 범위를 제공합니다. 화학 지문을 처리함으로써 Milvus는 잠재적으로 이용 가능한 의약품을 발견하기 위해 화학 구조 라이브러리에서 부분구조 검색, 유사도 검색, 정확 검색을 수행할 수 있습니다.
시스템 개요
이 시스템은 RDKit을 사용하여 화학 지문을 생성하고, Milvus를 사용하여 화학 구조 유사도 검색을 수행합니다. 시스템에 대해 더 알아보려면 https://github.com/milvus-io/bootcamp/blob/master/EN_solutions/mols_search/README.md 를 참조하세요.
시스템 개요
1. 화학 지문 생성
화학 지문은 일반적으로 부분구조 검색과 유사도 검색에 사용됩니다. 다음 이미지는 비트로 표현된 순차적 목록을 보여줍니다. 각 숫자는 원소, 원자 쌍 또는 작용기를 나타냅니다. 화학 구조는 C1C(=O)NCO1입니다.
분자 패턴 식별.
RDKit을 사용하여 Morgan 지문을 생성할 수 있습니다. 이는 특정 원자로부터 반지름을 정의하고 해당 반지름 범위 내의 화학 구조 수를 계산하여 화학 지문을 생성합니다. 반지름과 비트에 서로 다른 값을 지정하여 서로 다른 화학 구조의 화학 지문을 얻습니다. 화학 구조는 SMILES 형식으로 표현됩니다.
from rdkit import Chem
mols = Chem.MolFromSmiles(smiles)
mbfp = AllChem.GetMorganFingerprintAsBitVect(mols, radius=2, bits=512)
mvec = DataStructs.BitVectToFPSText(mbfp)
2. 화학 구조 검색
그런 다음 Morgan 지문을 Milvus로 가져와 화학 구조 데이터베이스를 구축할 수 있습니다. 서로 다른 화학 지문을 사용하여 Milvus는 부분구조 검색, 유사도 검색, 정확 검색을 수행할 수 있습니다.
from milvus import Milvus
Milvus.add_vectors(table_name=MILVUS_TABLE, records=mvecs)
Milvus.search_vectors(table_name=MILVUS_TABLE, query_records=query_mvec, top_k=topk)
부분구조 검색
화학 구조가 다른 화학 구조를 포함하는지 확인합니다.
유사도 검색
유사한 화학 구조를 검색합니다. 기본적으로 Tanimoto 거리가 메트릭으로 사용됩니다.
정확 검색
지정된 화학 구조가 존재하는지 확인합니다. 이러한 종류의 검색은 정확한 일치를 요구합니다.
화학 지문 계산
Tanimoto 거리는 화학 지문의 메트릭으로 자주 사용됩니다. Milvus에서 Jaccard 거리는 Tanimoto 거리와 대응됩니다.
화학 지문 계산 표-1.
이전 매개변수를 기반으로, 화학 지문 계산은 다음과 같이 설명할 수 있습니다:
화학 지문 계산 표-2.
1- Jaccard = Tanimoto임을 알 수 있습니다. 여기서는 Milvus에서 Jaccard를 사용하여 화학 지문을 계산하며, 이는 실제로 Tanimoto 거리와 일치합니다.
시스템 데모
시스템이 어떻게 작동하는지 더 잘 보여주기 위해, Milvus를 사용하여 9천만 개 이상의 화학 지문을 검색하는 데모를 구축했습니다. 사용된 데이터는 ftp://ftp.ncbi.nlm.nih.gov/pubchem/Compound/CURRENT-Full/SDF 에서 가져왔습니다. 초기 인터페이스는 다음과 같습니다:
시스템 데모 1.
시스템에서 지정된 화학 구조를 검색하고 유사한 화학 구조를 반환할 수 있습니다:
시스템 데모 2.
결론
유사도 검색은 이미지와 비디오와 같은 여러 분야에서 필수적입니다. 신약 개발의 경우, 유사도 검색을 화학 구조 데이터베이스에 적용하여 잠재적으로 이용 가능한 화합물을 발견할 수 있으며, 이들은 이후 실제 합성과 현장 진단 검사를 위한 시드로 전환됩니다. 대규모 특징 벡터를 위한 오픈 소스 유사도 검색 엔진인 Milvus는 최고의 비용 효율성을 위해 이기종 컴퓨팅 아키텍처로 구축되었습니다. 최소한의 컴퓨팅 리소스로도 10억 규모의 벡터 검색이 밀리초밖에 걸리지 않습니다. 따라서 Milvus는 생물학 및 화학과 같은 분야에서 정확하고 빠른 화학 구조 검색을 구현하는 데 도움이 될 수 있습니다.
http://40.117.75.127:8002/ 를 방문하여 데모에 접속할 수 있으며, 자세히 알아보려면 GitHub https://github.com/milvus-io/milvus 도 꼭 방문해 보세요!
계속 읽기

Zilliz Cloud BYOC Now Available Across AWS, GCP, and Azure
Zilliz Cloud BYOC is now generally available on all three major clouds. Deploy fully managed vector search in your own AWS, GCP, or Azure account — your data never leaves your VPC.

Announcing the General Availability of Single Sign-On (SSO) on Zilliz Cloud
SSO is GA on Zilliz Cloud, delivering the enterprise-grade identity management capabilities your teams need to deploy vectorDB with confidence.

Introducing DeepSearcher: A Local Open Source Deep Research
In contrast to OpenAI’s Deep Research, this example ran locally, using only open-source models and tools like Milvus and LangChain.



