Introdução
Introdução
A descoberta de medicamentos, enquanto fonte de inovação na medicina, é uma parte importante da investigação e desenvolvimento de novos medicamentos. A descoberta de medicamentos é implementada através da seleção e confirmação de alvos. Quando são descobertos fragmentos ou compostos principais, os compostos semelhantes são normalmente pesquisados em bibliotecas de compostos internas ou comerciais, a fim de descobrir a relação estrutura-atividade (SAR) e a disponibilidade de compostos, avaliando assim o potencial dos compostos principais para serem optimizados em compostos candidatos.
Para descobrir compostos disponíveis no espaço de fragmentos de bibliotecas de compostos à escala de milhares de milhões, a impressão digital química é normalmente recuperada para pesquisa de subestruturas e pesquisa de semelhanças. No entanto, a solução tradicional é morosa e propensa a erros quando se trata de impressões digitais químicas de elevada dimensão e em milhares de milhões de dimensões. Alguns compostos potenciais podem também perder-se no processo. Este artigo aborda a utilização do Milvus, um motor de pesquisa de semelhanças para vectores de grande escala, com o RDKit para criar um sistema de pesquisa de semelhanças de estruturas químicas de elevado desempenho.
Em comparação com os métodos tradicionais, o Milvus tem uma velocidade de pesquisa mais rápida e uma cobertura mais alargada. Ao processar impressões digitais químicas, o Milvus pode efetuar pesquisa de subestruturas, pesquisa de semelhanças e pesquisa exacta em bibliotecas de estruturas químicas, a fim de descobrir medicamentos potencialmente disponíveis.
Descrição geral do sistema
O sistema utiliza o RDKit para gerar impressões digitais químicas e o Milvus para efetuar a pesquisa por semelhança de estruturas químicas. Consulte https://github.com/milvus-io/bootcamp/tree/master/solutions/molecular_similarity_search para saber mais sobre o sistema.
1-system-overview.png
1. Geração de impressões digitais químicas
As impressões digitais químicas são normalmente utilizadas para pesquisa de subestruturas e pesquisa de semelhanças. A imagem seguinte mostra uma lista sequencial representada por bits. Cada dígito representa um elemento, um par de átomos ou um grupo funcional. A estrutura química é C1C(=O)NCO1
.
2-identifying-patterns-molecules.png
Podemos utilizar o RDKit para gerar impressões digitais Morgan, que define um raio a partir de um átomo específico e calcula o número de estruturas químicas dentro do intervalo do raio para gerar uma impressão digital química. Especifique valores diferentes para o raio e os bits para obter as impressões digitais químicas de diferentes estruturas químicas. As estruturas químicas são representadas no formato SMILES.
from rdkit import Chem
mols = Chem.MolFromSmiles(smiles)
mbfp = AllChem.GetMorganFingerprintAsBitVect(mols, radius=2, bits=512)
mvec = DataStructs.BitVectToFPSText(mbfp)
2. Pesquisa de estruturas químicas
Podemos então importar as impressões digitais de Morgan para o Milvus para criar uma base de dados de estruturas químicas. Com diferentes impressões digitais químicas, o Milvus pode efetuar uma pesquisa de subestruturas, uma pesquisa de semelhanças e uma pesquisa exacta.
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)
Pesquisa de subestruturas
Verifica se uma estrutura química contém outra estrutura química.
Pesquisa de semelhanças
Procura estruturas químicas semelhantes. A distância de Tanimoto é utilizada como métrica por defeito.
Pesquisa exacta
Verifica se existe uma estrutura química especificada. Este tipo de pesquisa requer uma correspondência exacta.
Computação de impressões digitais químicas
A distância de Tanimoto é frequentemente utilizada como uma métrica para impressões digitais químicas. Em Milvus, a distância de Jaccard corresponde à distância de Tanimoto.
3-computing-chem-fingerprings-table-1.png
Com base nos parâmetros anteriores, o cálculo das impressões digitais químicas pode ser descrito da seguinte forma
4-computing-chem-fingerprings-table-2.png
Podemos ver que 1- Jaccard = Tanimoto
. Aqui utilizamos Jaccard em Milvus para calcular a impressão digital química, o que é de facto consistente com a distância de Tanimoto.
Demonstração do sistema
Para demonstrar melhor o funcionamento do sistema, criámos uma demonstração que utiliza o Milvus para pesquisar mais de 90 milhões de impressões digitais químicas. Os dados utilizados provêm de ftp://ftp.ncbi.nlm.nih.gov/pubchem/Compound/CURRENT-Full/SDF. A interface inicial tem o seguinte aspeto:
5-system-demo-1.jpg
Podemos pesquisar estruturas químicas específicas no sistema e obter estruturas químicas semelhantes:
6-system-demo-2.gif
Conclusão
A pesquisa por semelhança é indispensável numa série de domínios, como as imagens e os vídeos. Para a descoberta de medicamentos, a pesquisa por semelhança pode ser aplicada a bases de dados de estruturas químicas para descobrir compostos potencialmente disponíveis, que são depois convertidos em sementes para síntese prática e testes no local de tratamento. O Milvus, enquanto motor de pesquisa por semelhança de código aberto para vectores de caraterísticas em grande escala, foi concebido com uma arquitetura de computação heterogénea para obter a melhor relação custo-eficácia. As pesquisas em vectores à escala de milhares de milhões demoram apenas milissegundos com recursos computacionais mínimos. Assim, Milvus pode ajudar a implementar uma pesquisa precisa e rápida de estruturas químicas em domínios como a biologia e a química.
Pode aceder à demonstração visitando http://40.117.75.127:8002/, e não se esqueça de visitar também o nosso GitHub https://github.com/milvus-io/milvus para saber mais!
- Descrição geral do sistema
- 1. Geração de impressões digitais químicas
- 2. Pesquisa de estruturas químicas
- Computação de impressões digitais químicas
- Demonstração do sistema
- Conclusão
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word