Incorporação de biografia
Recursos para aprender sobre Bio_embeddings:
- Preveja rapidamente a estrutura e a função da proteína da sequência via incorporação: incorpore.protein.properties.
- Leia a documentação atual: docs.bioembeddings.com.
- Converse conosco: chat.bioembeddings.com.
- Apresentamos o pipeline Bio_Embeddings como uma palestra no ISMB 2020 & LMRL 2020. Você pode encontrar a palestra no YouTube, o pôster no F1000 e nosso manuscrito atual do protocolo.
- Confira os
examples de configurações de pipeline A e notebooks .
Objetivos do projeto:
- Facilitar o uso de representações de sequência biológica baseadas em modelos de linguagem para aprendizado de transferência, fornecendo uma interface única e consistente e de perto de zero-zero
- Fluxos de trabalho reproduzíveis
- Profundidade de representação (diferentes modelos de diferentes laboratórios treinados em diferentes conjuntos de dados para diferentes fins)
- Exemplos extensos, lidar com a complexidade para os usuários (por exemplo, Cuda oom abstração) e avisos e mensagens de erro bem documentados.
O projeto inclui:
- INCEDIDOS DE PYTHON DE POSTENCIAMENTOS GERAIS Com base em modelos abertos treinados em representações de sequência biológica (SEQVEC, Prottrans, Unirep, ...)
- Um oleoduto que:
- Incorpore sequências em representação de matriz (per-aminoácido) ou representações vetoriais (por sequência) que podem ser usadas para treinar modelos de aprendizado ou para fins analíticos
- Projetos por sequência incorporados em representações dimensionais mais baixas usando umap ou t-sne (para manuseio de dados e visualizações da Lightwieght)
- Visualiza conjuntos de baixa dimensão de incorporações por sequência em parcelas interativas 2D e 3D (com e sem anotações)
- Extrações de anotações das incorporações por sequência e por aminoácidos usando abordagens supervisionadas (quando disponíveis) e não supervisionadas (por exemplo, por análise de rede)
- Um servidor da web que envolve o pipeline em uma API distribuída para trabalhos escaláveis e consistentes
Instalação
Você pode instalar bio_embeddings via Pip ou usá -lo via Docker. Lembre -se das dependências adicionais para align .
Pip
Instale o pipeline e todos os extras como assim:
pip install bio-embeddings[all]
Para instalar a versão instável, instale o pipeline como assim:
pip install -U " bio-embeddings[all] @ git+https://github.com/sacdallago/bio_embeddings.git "
Se você precisar executar apenas um modelo específico (por exemplo, um modelo ESM ou Prottrans), poderá instalar bio-incorporação sem dependências e instalar a dependência específica do modelo, por exemplo:
pip install bio-embeddings
pip install bio-embeddings[prottrans]
Os extras são:
- Seqvec
- Prottrans
- prottrans_albert_bfd
- prottrans_bert_bfd
- prottrans_t5_bfd
- prottrans_t5_uniref50
- prottrans_t5_xl_u50
- prottrans_xlnet_uniref100
- Esm
- Unirep
- CPCPROT
- mais
- bepler
- Deepblast
Docker
Fornecemos uma imagem do docker em ghcr.io/bioembeddings/bio_embeddings . Exemplo de uso simples:
docker run --rm --gpus all
-v "$(pwd)/examples/docker":/mnt
-v bio_embeddings_weights_cache:/root/.cache/bio_embeddings
-u $(id -u ${USER}):$(id -g ${USER})
ghcr.io/bioembeddings/bio_embeddings:v0.1.6 /mnt/config.yml
Veja o exemplo docker na pasta examples para obter instruções. Você também pode usar ghcr.io/bioembeddings/bio_embeddings:latest , que é construído a partir da última confirmação.
Dependências
Para usar o protocolo mmseqs_search , ou as funções mmsesq2 no align , você também precisa ter MMSEQS2 no seu caminho.
Notas de instalação
bio_embeddings foi desenvolvido para máquinas UNIX com recursos de GPU e CUDA instalado. Se a sua configuração divergir disso, você poderá encontrar algumas inconsistências (por exemplo, a velocidade é significativamente afetada pela ausência de uma GPU e CUDA). Para usuários do Windows, recomendamos fortemente o uso do subsistema Windows para o Linux.
Qual modelo é certo para você?
Cada modelos tem seus pontos fortes e fracos (velocidade, especificidade, pegada de memória ...). Não existe um "único" e o encorajamos a tentar pelo menos dois modelos diferentes ao tentar um novo projeto exploratório.
Os modelos prottrans_t5_xl_u50 , esm1b , esm , prottrans_bert_bfd , prottrans_albert_bfd , seqvec e prottrans_xlnet_uniref100 foram todos treinados com o objetivo das previsões sistemáticas. A partir deste pool, acreditamos que o modelo ideal seja prottrans_t5_xl_u50 , seguido pelo esm1b .
Uso e exemplos
É altamente recomendável que você verifique a pasta examples para exemplos de pipeline e a pasta notebooks para execuções de pipeline de pós-processamento e uso de propósito geral dos incorporadores.
Depois de instalar o pacote, você pode:
Use o oleoduto como:
bio_embeddings config.yml
Um plano do arquivo de configuração e uma configuração de exemplo podem ser encontrados no diretório examples deste repositório.
Use os objetos incorporadores de propósito geral via Python, por exemplo:
from bio_embeddings . embed import SeqVecEmbedder
embedder = SeqVecEmbedder ()
embedding = embedder . embed ( "SEQVENCE" )
Mais exemplos podem ser encontrados na pasta notebooks deste repositório.
Citar
Se você usar bio_embeddings para sua pesquisa, agradeceríamos se você pudesse citar o seguinte artigo:
Dallago, C., Schütze, K., Heinzinger, M., Olenyi, T., Littmann, M., Lu, Ax, Yang, KK, Min, S., Yoon, S., Morton, Jt, & Rost, B. (2021). As incorporações aprendidas do aprendizado profundo para visualizar e prever conjuntos de proteínas. Protocolos atuais, 1, E113. doi: 10.1002/cpz1.113
O correspondente bibtex:
@article{https://doi.org/10.1002/cpz1.113,
author = {Dallago, Christian and Schütze, Konstantin and Heinzinger, Michael and Olenyi, Tobias and Littmann, Maria and Lu, Amy X. and Yang, Kevin K. and Min, Seonwoo and Yoon, Sungroh and Morton, James T. and Rost, Burkhard},
title = {Learned Embeddings from Deep Learning to Visualize and Predict Protein Sets},
journal = {Current Protocols},
volume = {1},
number = {5},
pages = {e113},
keywords = {deep learning embeddings, machine learning, protein annotation pipeline, protein representations, protein visualization},
doi = {https://doi.org/10.1002/cpz1.113},
url = {https://currentprotocols.onlinelibrary.wiley.com/doi/abs/10.1002/cpz1.113},
eprint = {https://currentprotocols.onlinelibrary.wiley.com/doi/pdf/10.1002/cpz1.113},
year = {2021}
}
Additionally, we invite you to cite the work from others that was collected in `bio_embeddings` (see section _"Tools by category"_ below). We are working on an enhanced user guide which will include proper references to all citable work collected in `bio_embeddings`.
Colaboradores
- Christian Dallago (chumbo)
- Konstantin Schütze
- Tobias Olenyi
- Michael Heinzinger
Quer adicionar seu próprio modelo? Consulte Contribuindo para obter instruções.
Lista não exaustiva de ferramentas disponíveis (consulte a seção a seguir para obter mais detalhes):
- FastExt
- Luva
- Word2vec
- Seqvec (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- SEQVECSEC e SEQVECLOC para estrutura secundária e previsão de subcelulares
- Prottrans (Protbert, Protalbert, Prott5) (https://doi.org/10.1101/2020.07.12.199554)
- Protbertsec e Protbertloc para estrutura secundária e previsão de localização subcelular
- Unirep (https://www.nature.com/articles/s41592-019-0598-1)
- Esm/Esm1b (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCProt (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)
- Pb-tucker (https://www.biorxiv.org/content/10.1101/2021.01.21.427551v1)
- GoPredsim (https://www.nature.com/articles/s41598-020-80786-0)
- DeepBlast (https://www.biorxiv.org/content/10.1101/2020.11.03.365932v1)
Conjuntos de dados
-
prottrans_t5_xl_u50 Resíduos e incorporações de sequência do proteoma humano com precisão + previsões de estrutura secundária + previsões de localização subcelular: -
prottrans_t5_xl_u50 Resíduos e incorporações de sequência do proteoma da mosca com precisão total + previsões de estrutura secundária + previsões de localização sub-celular + previsão de conservação + previsão de variação:
Ferramentas por categoria
Oleoduto
- alinhar:
- DeepBlast (https://www.biorxiv.org/content/10.1101/2020.11.03.365932v1)
- Incorporar:
- Prottrans Bert treinado no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Seqvec (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- Prottrans Albert treinou no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans XLNet treinado no UNiref100 (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 treinado no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 treinado em BFD e ajustado no UNiref50 (interno)
- Unirep (https://www.nature.com/articles/s41592-019-0598-1)
- Esm/Esm1b (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCProt (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)
- projeto:
- t-sne
- Umap
- Pb-tucker (https://www.biorxiv.org/content/10.1101/2021.01.21.427551v1)
- visualizar:
- Espaço de incorporação de sequência 2D/3D
- extrair:
- supervisionado:
- SEQVEC: DSSP3, DSSP8, Transtorno, Localização Subcelular e limite de membrana como em https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3220-8
- Protbertsec e Protbertloc, conforme relatado em https://doi.org/10.1101/2020.07.12.199554
- Não supervisionado:
- via seqüência no nível (reduzido_embeddings), distância pareada (euclidiana como GoPredSim, mais opções disponíveis, por exemplo, cosseno)
Incorporadores de uso geral
- Prottrans Bert treinado no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Seqvec (https://bmcbioinformatics.biomedcentral.com/articles/10.1186/S12859-019-3220-8)
- Prottrans Albert treinou no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans XLNet treinado no UNiref100 (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 treinado no BFD (https://doi.org/10.1101/2020.07.12.199554)
- Prottrans T5 treinado no BFD + ajustado no UNiref50 (https://doi.org/10.1101/2020.07.12.19954)
- FastExt
- Luva
- Word2vec
- Unirep (https://www.nature.com/articles/s41592-019-0598-1)
- Esm/Esm1b (https://www.biorxiv.org/content/10.1101/622803v3)
- Plus (https://github.com/mswzeus/plus/)
- CPCProt (https://www.biorxiv.org/content/10.1101/2020.09.04.283929v1.full.pdf)