ColabFold em seu PC local (ou macOS). Veja também o repositório ColabFold.
LocalColabFold é um script de instalação projetado para disponibilizar a funcionalidade do ColabFold nas máquinas locais dos usuários. Ele oferece suporte a uma ampla variedade de sistemas operacionais, como Windows 10 ou posterior (usando o subsistema Windows para Linux 2), macOS e Linux.
Se você pretende prever apenas um pequeno número de proteínas que ocorrem naturalmente, recomendo usar o notebook ColabFold ou baixar estruturas do banco de dados de estrutura de proteínas AlphaFold ou UniProt. LocalColabFold é adequado para aplicações mais avançadas, como processamento em lote de previsões de estrutura para complexos naturais, proteínas não naturais ou previsões com MSAs/modelos especificados manualmente.
A inferência e o relaxamento da estrutura serão acelerados se o seu PC tiver drivers Nvidia GPU e CUDA.
Sem tempo limite (90 minutos e 12 horas)
Sem limitações de GPU
NÃO é necessário preparar o grande banco de dados necessário para o AlphaFold2 nativo .
Como o atual jax> 0.4.26 suportado pela GPU requer CUDA 12.1 ou posterior e cudnn 9, atualize ou instale seu driver CUDA e cudnn. CUDA 12.4 é recomendado.
ColabFold agora atualiza para 1.5.5 (compatível com AlphaFold 2.3.2). Agora LocalColabFold requer CUDA 12.1 ou posterior . Atualize seu driver CUDA se ainda não tiver feito isso.
Agora (Local)ColabFold pode prever estruturas de proteínas sem conectar-se à Internet. Use o script setup_databases.sh
para baixar e construir os bancos de dados (consulte também Downloads do ColabFold). Uma instrução para executar colabfold_search
para obter o MSA e os modelos localmente está escrita neste comentário.
30 de janeiro de 2024, ColabFold 1.5.5 (compatível com AlphaFold 2.3.2). Agora LocalColabFold requer CUDA 12.1 ou posterior . Atualize seu driver CUDA.
30 de abril de 2023, atualizado para usar python 3.10 para compatibilidade com Google Colaboratory.
09 de março de 2023, versão 1.5.1 lançada. O diretório base foi alterado para localcolabfold
de colabfold_batch
para distingui-lo do comando de execução.
09 de março de 2023, versão 1.5.0 lançada. Consulte a versão v1.5.0
05 de fevereiro de 2023, versão 1.5.0 pré-lançada.
16 de junho de 2022, versão 1.4.0 lançada. Consulte a versão v1.4.0
07 de maio de 2022, update_linux.sh
atualizado. Veja também Como atualizar. Use uma nova opção --use-gpu-relax
se o relaxamento da GPU for necessário (recomendado).
12 de abril de 2022, versão 1.3.0 lançada. Consulte a versão v1.3.0
09 de dezembro de 2021, versão 1.2.0-beta lançada. scripts de atualização fáceis de usar adicionados. Consulte Como atualizar.
04 de dezembro de 2021, LocalColabFold agora é compatível com o mais recente ColabFold instalável por pip. Neste repositório, irei fornecer um script para instalar o ColabFold com alguns arquivos de parâmetros externos para realizar o relaxamento com AMBER. Os parâmetros de peso do AlphaFold e AlphaFold-Multimer serão baixados automaticamente na primeira execução.
Certifique-se de que os comandos curl
, git
e wget
já estejam instalados em seu PC. Se não estiver presente, você precisará instalá-los primeiro. Para Ubuntu, digite sudo apt -y install curl git wget
.
Certifique-se de que o driver do compilador Cuda seja 11.8 ou posterior (a versão mais recente 12.4 é preferível). Se você não possui uma GPU ou não planeja usar uma GPU, pode pular esta etapa:
$ nvcc --versão nvcc: driver do compilador NVIDIA (R) Cuda Direitos autorais (c) 2005-2022 NVIDIA Corporation Construído em Qua_Sep_21_10:33:58_PDT_2022 Ferramentas de compilação Cuda, versão 11.8, V11.8.89 Construir cuda_11.8.r11.8/compiler.31833905_0
NÃO use nvidia-smi
para verificar a versão.
Consulte o Guia de instalação NVIDIA CUDA para Linux se ainda não o tiver instalado.
Certifique-se de que a versão do seu compilador GNU seja 9.0 ou posterior porque GLIBCXX_3.4.26
é necessário para openmm:
$ gcc --versão gcc (Ubuntu 9.3.0-17ubuntu1 ~ 20.04) 9.3.0 Direitos autorais (C) 2019 Free Software Foundation, Inc. Este é um software livre; veja a fonte para condições de cópia. Não há garantia; nem mesmo para COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM.
Se a versão for 8.5.0 ou anterior (por exemplo, CentOS 7, Rocky/Almalinux 8, etc.), instale uma nova e adicione PATH
a ela.
Baixe install_colabbatch_linux.sh
deste repositório:
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_linux.sh
e execute-o no diretório onde deseja instalar:
$ bash install_colabbatch_linux.sh
Cerca de 5 minutos depois, o diretório localcolabfold
será criado. Não mova este diretório após a instalação.
Mantenha a rede desbloqueada. E verifique a saída do log para ver se há algum erro.
Se você encontrar erros no log de saída, a maneira mais fácil é verificar a rede e excluir o diretório localcolabfold e, em seguida, executar novamente o script de instalação.
Adicione a variável de ambiente PATH:
# Para bash ou zsh # por exemplo, export PATH="/home/moriwaki/Desktop/localcolabfold/colabfold-conda/bin:$PATH" exportar PATH="/caminho/para/seu/localcolabfold/colabfold-conda/bin:$PATH"
Recomenda-se adicionar este comando de exportação a ~/.bashrc
e reiniciar o bash ( ~/.bashrc
será executado sempre que o bash for iniciado)
Para executar a previsão, digite
colabfold_batch entrada saídadir/
Os arquivos de resultados serão criados no outputdir
. Este comando executará a predição sem templates e relaxamento (minimização de energia). Se você quiser usar modelos e relaxamento, adicione sinalizadores --templates
e --amber
, respectivamente. Por exemplo,
colabfold_batch --templates --amber entrada saídadir/
colabfold_batch
detectará automaticamente se a previsão é monomérica ou complexa. Na maioria dos casos, os usuários não precisam adicionar --model-type alphafold2_multimer_v3
para ativar a previsão de multimer. alphafold2_multimer_v1, alphafold2_multimer_v2
também estão disponíveis. O padrão é auto
(use alphafold2_ptm
para monômeros e alphafold2_multimer_v3
para complexos).
Para obter mais detalhes, consulte Sinalizadores e colabfold_batch --help
.
Cuidado: Se sua instalação falhar devido a problemas de criação de link simbólico ( symlink
), isso ocorre porque o sistema de arquivos do Windows não diferencia maiúsculas de minúsculas (enquanto o sistema de arquivos do Linux diferencia maiúsculas de minúsculas). Para resolver isso, execute o seguinte comando no Windows Powershell:
fsutil file SetCaseSensitiveInfo pathtolocalcolabfoldinstallation enable
Substitua pathtocolabfoldinstallation
pelo caminho para o diretório onde você está instalando o LocalColabFold. Além disso, certifique-se de estar executando o comando no Windows Powershell (não no WSL). Para obter mais detalhes, consulte Ajustar sensibilidade a maiúsculas e minúsculas (Microsoft).
Antes de executar a previsão:
export TF_FORCE_UNIFIED_MEMORY="1" export XLA_PYTHON_CLIENT_MEM_FRACTION="4.0" export XLA_PYTHON_CLIENT_ALLOCATOR="platform" export TF_FORCE_GPU_ALLOW_GROWTH="true"
Recomenda-se adicionar esses comandos de exportação a ~/.bashrc
e reiniciar o bash ( ~/.bashrc
será executado sempre que o bash for iniciado)
Cuidado: Devido à falta do driver Nvidia GPU/CUDA, a previsão da estrutura no macOS é 5 a 10 vezes mais lenta do que no Linux+GPU . Para a sequência de teste (58 aa), pode demorar 30 minutos. No entanto, pode ser útil brincar com ele antes de preparar o ambiente Linux+GPU.
Você pode verificar se o seu Mac é Intel ou Apple Silicon digitando uname -m
no Terminal.
$ unome -m x86_64 # Intelarm64 # Apple Silício
Use o instalador correto para o seu Mac.
Instale o Homebrew se não estiver presente:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instale wget
, gnu-sed
, HH-suite e kalign usando Homebrew:
$ brew install wget gnu-sed $ brew install brewsci/bio/hh-suite brewsci/bio/kalign
Baixe install_colabbatch_intelmac.sh
deste repositório:
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_intelmac.sh
e execute-o no diretório onde deseja instalar:
$ bash install_colabbatch_intelmac.sh
Cerca de 5 minutos depois, o diretório colabfold_batch
será criado. Não mova este diretório após a instalação.
O procedimento restante é igual ao "Para Linux".
Nota: Este instalador é experimental porque a maioria dos pacotes dependentes não são totalmente testados no Apple Silicon Mac.
Instale o Homebrew se não estiver presente:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instale vários comandos usando Homebrew (agora o kalign 3.3.2 está disponível!):
$ brew install wget cmake gnu-sed $ brew install brewsci/bio/hh-suite $ brew install brewsci/bio/kalign
Instale o comando miniforge
usando Homebrew:
$ brew install --cask miniforge
Baixe install_colabbatch_M1mac.sh
deste repositório:
$ wget https://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/install_colabbatch_M1mac.sh
e execute-o no diretório onde deseja instalar:
$ bash install_colabbatch_M1mac.sh
Cerca de 5 minutos depois, o diretório colabfold_batch
será criado. Não mova este diretório após a instalação. Você pode ignorar os erros de instalação que aparecem ao longo do caminho .
O procedimento restante é igual ao "Para Linux".
ColabFold pode aceitar vários formatos de arquivo ou diretório.
positional arguments: input Can be one of the following: Directory with fasta/a3m files, a csv/tsv file, a fasta file or an a3m file results Directory to write the results to
Recomenda-se que a linha do cabeçalho começando com >
seja curta, pois a descrição será o prefixo do arquivo de saída. É aceitável inserir quebras de linha na sequência de aminoácidos.
>sp|P61823
MALKSLVLLSLLVLVLLLVRVQPSLGKETAAAKFERQHMDSSTSAASSSNYCNQMMKSRN
LTKDRCKPVNTFVHESLADVQAVCSQKNVACKNGQTNCYQSYSTMSITDCRETGSSKYPN
CAYKTTQANKHIIVACEGNPYVPVHFDASV
Para previsão de multímeros, insira :
entre as sequências de proteínas.
>1BJP_homohexamer PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR: PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR: PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR: PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR: PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR: PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASKVRR
>3KUD_RasRaf_complex MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQ YMRTGEGFLCVFAINNTKSFEDIHQYREQIKRVKDSDDVPMVLVGNKCDLAARTVESRQAQDLARSYGIP YIETSAKTRQGVEDAFYTLVREIRQH: PSKTSNTIRVFLPNKQRTVVNVRNGMSLHDCLMKALKVRGLQPECCAVFRLLHEHKGKKARLDWNTDAAS LIGEELQVDFL
>
linhas de cabeçalho com sequências em um arquivo no formato FASTA geram várias previsões de uma só vez no diretório de saída especificado.
Em formato csv, id
e sequence
devem ser separados por ,
.
id,sequence
5AWL_1,YYDPETGTWY
3G5O_A_3G5O_B,MRILPISTIKGKLNEFVDAVSSTQDQITITKNGAPAAVLVGADEWESLQETLYWLAQPGIRESIAEADADIASGRTYGEDEIRAEFGVPRRPH:MPYTVRFTTTARRDLHKLPPRILAAVVEFAFGDLSREPLRVGKPLRRELAGTFSARRGTYRLLYRIDDEHTTVVILRVDHRADIYRR
Você pode inserir seu arquivo MSA no formato a3m. Para previsões multimer, o arquivo a3m deve ser compatível com o formato colabfold.
Esses sinalizadores são úteis para as previsões.
--amber
: Use âmbar para refinamento de estrutura (relaxamento/minimização de energia). Para controlar o número de estruturas com melhor classificação, relaxe o conjunto --num-relax
.
--templates
: Use modelos do pdb.
--use-gpu-relax
: Execute âmbar na GPU NVidia em vez da CPU. Este recurso está disponível apenas em máquinas com GPUs Nvidia.
--num-recycle
: Número de reciclagens de previsão. Aumentar as reciclagens pode melhorar a qualidade, mas retarda a previsão. O padrão é 3
. (por exemplo --num-recycle 10
)
--custom-template-path
: Restringe os arquivos de modelo usados para --template
apenas aqueles contidos no diretório especificado. Este sinalizador nos permite usar arquivos pdb não públicos para a previsão. Veja também sokrypton/ColabFold#177 .
--random-seed
Alterar a semente do gerador de números aleatórios pode resultar em diferentes previsões de estrutura. (por exemplo --random-seed 42
)
--num-seeds
Número de sementes para testar. Irá iterar de range(random_seed, random_seed+num_seeds). (por exemplo --num-seed 5
)
--max-msa
: Define: max-seq:max-extra-seq
número de sequências a serem usadas (por exemplo --max-msa 512:1024
). Os argumentos --max-seq
e --max-extra-seq
também estão disponíveis se você quiser especificar separadamente. Esta é uma reimplementação do artigo de Amostragem de estados conformacionais alternativos de transportadores e receptores com AlphaFold2 demonstrado por del Alamo et al .
--use-dropout
: ativa desistências durante a inferência para amostrar a partir da incerteza dos modelos.
--overwrite-existing-results
: Substitui os arquivos de resultados.
Para obter mais informações, colabfold_batch --help
.
Como o ColabFold ainda é um trabalho em andamento, seu localcolabfold também deve ser atualizado com frequência para usar os recursos mais recentes. Um script de atualização fácil de usar é fornecido para essa finalidade.
Para atualizar seu localcolabfold, basta executar o seguinte:
# defina seu sistema operacional. Selecione uma das seguintes variáveis {linux,intelmac,M1mac}$ OS=linux # se Linux# navegue até o diretório onde você instalou o localcolabfold, por exemplo $ cd /home/moriwaki/Desktop/localcolabfold/# obtenha o atualizador mais recente$ wget https ://raw.githubusercontent.com/YoshitakaMo/localcolabfold/main/update_${OS}.sh -O update_${OS}.sh $ chmod +x update_${OS}.sh# execute-o.$ ./update_${OS}.sh .
O que mais preciso fazer antes da instalação? Eu preciso de privilégios sudo?
Não, exceto para instalação dos comandos curl
e wget
.
Preciso preparar um banco de dados grande como PDB70, BFD, Uniclust30, MGnify?
Não, não é necessário. A geração do MSA é realizada pelo servidor web MMseqs2, assim como implementado no ColabFold.
A pontuação pLDDT e os valores do PAE estão disponíveis?
Sim, eles serão gerados exatamente como o ColabFold.
É possível prever homooligômeros e complexos?
Sim, o formato da sequência de entrada é igual ao ColabFold. Consulte query_sequence:
e seu uso de ColabFold: AlphaFold2 usando MMseqs2.
É possível criar MSA por jackhmmer?
Não, atualmente não é suportado .
Quero usar várias GPUs para realizar a previsão.
AlphaFold e ColabFold não oferecem suporte a múltiplas GPUs . Apenas uma GPU pode modelar sua proteína.
Eu tenho várias GPUs. Posso especificar a execução do LocalColabfold em cada GPU?
Use a variável de ambiente CUDA_VISIBLE_DEVICES
. Veja #200.
Recebi uma mensagem de erro CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered
.
Talvez você não tenha atualizado para CUDA 11.8 ou posterior. Verifique a versão do compilador Cuda com o comando nvcc --version
, não com nvidia-smi
.
Isso está disponível no Windows 10?
Você pode executar LocalColabFold em seu Windows 10 com WSL2.
(Novo!) Quero usar um arquivo MSA personalizado no formato a3m.
ColabFold agora pode aceitar vários arquivos de entrada . Veja a mensagem de ajuda. Você pode definir seu próprio arquivo A3M, um arquivo fasta que contém múltiplas sequências (no formato FASTA) ou um diretório que contém vários arquivos fasta.
Tutorial ColabFold apresentado no Boston Protein Design and Modeling Club. [vídeo] [slides].
O colabfold original foi criado por Sergey Ovchinnikov (@sokrypton), Milot Mirdita (@milot_mirdita) e Martin Steinegger (@thesteinegger).
Mirdita M, Schütze K, Moriwaki Y, Heo L, Ovchinnikov S e Steinegger M. ColabFold - Tornando o dobramento de proteínas acessível a todos.
Métodos da Natureza (2022) doi: 10.1038/s41592-022-01488-1
Se você estiver usando AlphaFold , cite também:
Jumper et al. "Predição de estrutura de proteína altamente precisa com AlphaFold."
Natureza (2021) doi: 10.1038/s41586-021-03819-2
Se você estiver usando AlphaFold-multimer , cite também:
Evans et al. "Predição de complexos de proteínas com AlphaFold-Multimer."
BioRxiv (2022) doi: 10.1101/2021.10.04.463034v2