Rosetta Commons and PyRosetta - lncc-sered/manual-sdumont2nd GitHub Wiki
Documentação e tutoriais oficiais: Rosetta Tutorials, Demos, and Protocol Captures.
Principais publicações e Referências.
Recomenda-se começar as leituras Iniciando no Rosetta.
A diferença entre Rosetta e PyRosetta
Tanto Rosetta quanto PyRosetta são suítes de software abrangentes para projeto e modelagem de estruturas macromoleculares. Ambas utilizam uma biblioteca de ferramentas de modelagem macromolecular escritas em C++. Rosetta fornece uma interface para essas bibliotecas com executáveis de linha de comando compilados, enquanto PyRosetta fornece acesso por meio de uma interface em linguagem de programação Python. Tanto Rosetta quanto PyRosetta são capazes de alcançar resultados semelhantes de projeto e modelagem. A escolha de qual usar depende da preferência pessoal. A interface padrão do Rosetta é ideal para quem busca incorporar a modelagem macromolecular em um fluxo de trabalho orientado à linha de comando, enquanto PyRosetta é a escolha ideal para quem prefere usar um fluxo de trabalho de script Python ou precisa da flexibilidade que uma interface de biblioteca mais direta pode oferecer.
Foram instaladas três versões diferentes do Rosetta no SDumont2nd:
Versão | Descrição | Data da liberação |
---|---|---|
2025.22_py3.12_openmpi | Versão empacotada pelo Conda com base no commit exato do repositório Git release/2025.22. Utiliza como base o Python 3.12. | 06/06/2025 |
2025.23_py3.12_openmpi | Versão empacotada pelo Conda com base no commit exato do repositório Git release/2025.23. Utiliza como base o Python 3.12. | 06/06/2025 |
371_release_py3.9_openmpi | Número da release publicada no portal RosettaCommons, sem ligação direta (pelo nome) ao hash Git ou data. É um sistema de numeração próprio. Utiliza como base o Python 3.9. Disponivel no link -> Rosetta Academic Download | 07/03/2024 |
Para sua comodidade, todas as versões do Rosetta instalados contém adicionalmente os seguintes programas listado abaixo:
- Rosetta: Suite completa para modelagem de proteinas - PyRosetta (interface Python para Rosetta) - CS-Rosetta: Integracao de dados de RMN - TALOS-N: Predicao de estrutura secundaria - OpenMPI (4.1.6) para computacao paralela - **Bibliotecas Python Adicionais ja inclusas neste modulo:** * **Biopython**: Manipulacao de sequencias e estruturas biologicas * **Matplotlib**: Plotagem e visualizacao de dados * **SciPy**: Computacao cientifica e matematica avancada * **scikit-learn**: Ferramentas de aprendizado de maquina * **Pandas**: Analise e manipulacao de dados estruturados * **JupyterLab**: Ambiente interativo para desenvolvimento e execucao de notebooks Python - **OpenBabel (3.1.1)**: Conversao e manipulacao de formatos quimicos
Instalação do Rosetta and PyRosetta localizada em:
# Rosetta 2025.22
/scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/2025.22_mpich
# Rosetta 2025.23
/scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/2025.23_openmpi
# Rosetta Release 371
/scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/371_openmpi
" Utilize os comando abaixo para visualizar todos os módulos compatíveis com CPU:
module avail
-------------------------------------- /scratch/app/modulefiles ---------------------------------------
amd-compilers/5.0.0 hide-and-seek/0.1
amd-libraries/5.0.0 intel_oneapi/2025.0
amd-uprof/5.0 intel_oneapi/2025.1 (D)
anaconda3/2024.10 mpich/4.3.0
arch_apu_amd/current nvhpc/25.1
arch_arm/current orca/6.0_openmpi-4.1.6_avx2
arch_cpu_amd/current paraview/5.13.3
arch_gpu/current >>>>>>rosetta_and_pyrosetta/371_release_py3.9_openmpi <<<<<<<
arch_gpu_sc/current >>>>>>rosetta_and_pyrosetta/2025.22_py3.12_mpich <<<<<<<
cmake/4.0 >>>>>>rosetta_and_pyrosetta/2025.23_py3.12_openmpi <<<<<<<
fftw/3.3_openmpi-4.1_gnu siesta/5.2_openmpi-5.0
tensorflow/2.19.0
-------------------------------------------------------------------------------------------
Após localiza-lo, carregue uma das versões, rosetta_and_pyrosetta/371_release_py3.9_mpich ou rosetta_and_pyrosetta/2025.22_py3.12_mpich com um dos comando abaixo:
No exemplo abaixo carregamos a versão 371_release:
module load rosetta_and_pyrosetta/371_release_py3.9_openmpi
Tutorial utilizado: "De novo structure prediction" Escrito por Sebastian Rämisch - [email protected]
Para melhor compreensão deste tutorial recomendamos também a leitura dos link -> Como interpretar nosso tutoriais & Iniciação ao Rosetta
A documentação completa de todos os tutoriais, Demonstrações e protocolos, bem como a aquisição dos arquivos utilizados neste tutorial estão disponíveis no link -> Rosetta Tutorials, Demos, and Protocol Captures
Para facilitar a execução do tutorial teste, crie um diretório. Em segunda clone a partir do repositório do RosettaCommons o diretório de demonstrações do Rosetta. Nele você encontrará a pasta "exemple". Este diretório contem os arquivos necessários para realização deste Tutorial Básico.
mkdir tutorial-rosetta
cd tutorial-rosetta
git clone https://github.com/RosettaCommons/demos.git
cd demos
mkdir tutorial-foldseek
cd tutorial-foldseek
cp -r /scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/371_openmpi/rosetta.binary.linux.release-371/main/demos .
# Navegue até o diretório de
cd demos/tutorials/denovo_structure_prediction/input_files/
# Liste o conteúdo do diretório input_files
ls
2LZMA.fasta 2LZMA.pdb aa2LZMA03_05.200_v1_3 aa2LZMA09_05.200_v1_3 options options.short
Arquivo | Descrição |
---|---|
2LZMA.fasta | Sequência da proteína em formato FASTA. |
2LZMA.pdb | Fragmentos de 3 resíduos. |
aa2LZMA03_05.200_v1_3 | Fragmentos de 3 resíduos. Usados para modelar conformações locais (e.g., ângulos diedros φ/ψ). |
aa2LZMA09_05.200_v1_3 | Fragmentos de 9 resíduos. Guiam a formação de estruturação secundária (e.g., α-hélices, folhas-β) |
options | Arquivo de configuração principal |
options.short | Versão simplificada para testes rápidos. |
Conteúdo do arquivo "options" comentado:
: >>>OBS: caso você execute o tutorial dentro da pasta "input_files" apague o caminho completo abaixo e deixe somente os arquivos ao lado das funções native, fasta, frag3 e frag9.<<<
# Configurações principais
-in:file:native input_files/2LZMA.pdb # Estrutura de referência para analise comparativa como por exemplo ROOT MEAN SQUARE DEVIATION - RMSD
-in:file:fasta input_files/2LZMA.fasta # Sequência alvo
-in:file:frag3 input_files/aa2LZMA03_05.200_v1_3
-in:file:frag9 input_files/aa2LZMA09_05.200_v1_3
# Parâmetros do protocolo:
-abinitio:relax # Combina Abinitio + Relax
-abinitio:increase_cycles 10 # Aumenta ciclos de Monte Carlo
-abinitio:rg_reweight 0.5 # Peso do raio de giração (compactação)
-abinitio:rsd_wt_helix 0.5 # Peso para resíduos em hélices
-abinitio:rsd_wt_loop 0.5 # Peso para resíduos em loops
# Saída:
-out:pdb # Gera arquivos PDB
-out:nstruct 1 # Número de modelos a gerar
-out:file:scorefile score.sc # Arquivo de scores
-overwrite # Sobrescreve arquivos existentes
Ainda, localizado no diretório "demos/tutorials/denovo_structure_prediction/input_files/" execute um dos comandos abaixo. Escolha se quer realizar o teste utilizando somente uma Thread (Somente um núcleo de cpu) ou em Multi-Thread (EM paralelo ou Multiplas CPUS):
# Comando sendo executado em 1 Thread
AbinitioRelax.default.linuxclangrelease @options
# Comando sendo executado em 8 Treads
parallel -j 8 AbinitioRelax.static.linuxgccrelease @options
# Ou Alternativamente utilize o MPI
mpiexec -np 8 AbinitioRelax.static.linuxgccrelease @options
ou
mpirun -np 8 AbinitioRelax.static.linuxgccrelease @options
O símbolo @ antes do arquivo de opções indica que o Rosetta deve ler as opções do arquivo em vez de passá-las diretamente na linha de comando.
Ao rodar o comando você verá os cálculos serem iniciados observando o retorno em seu terminal semelhante ao exemplo abaixo:
[rafaelfs@sdumont2nd5 input_files]$ AbinitioRelax.static.linuxgccrelease @options
******** (C) Copyright Rosetta Commons Member Institutions. ***************
* Use of Rosetta for commercial purposes may require purchase of a license. *
******** See LICENSE.md or email [email protected] for more details. **********
core.init: Checking for fconfig files in pwd and ./rosetta/flags
core.init: Rosetta version: rosetta.binary.linux.release-371 r371 2024.09+release.06b3cf8 06b3cf8ad0940d628690d0ed6fa2009d72ad2b44 https://www.rosettacommons.org 2024-03-01T01:30:53.796737
core.init: command: AbinitioRelax.static.linuxgccrelease @options
O processo irá continuar até que o número de estruturas solicitado na função "nstruct" interna do arquivo "options" sejam geradas.
Ao termino do processo você verá a mensagem como no exemplo abaixo, indicando quais modulos do Rosetta foram utilizado e as referências para Citação:
The following Rosetta modules were used during this run of Rosetta, and should be cited:
AbinitioRelax Application's citation(s):
Simons KT, Bonneau R, Ruczinski I, and Baker D. (1999). Ab initio protein structure prediction of CASP III targets using ROSETTA. Proteins Suppl 3:171-6. doi: 10.1002/(sici)1097-0134(1999)37:3+<171::aid-prot21>3.3.co;2-q.
Bonneau R, Tsai J, Ruczinski I, Chivian D, Rohl C, Strauss CE, and Baker D. (2001). Rosetta in CASP4: progress in ab initio protein structure prediction. Proteins Suppl 5:119-26. doi: 10.1002/prot.1170.
Raman S, Vernon R, Thompson J, Tyka M, Sadreyev R, Pei J, Kim D, Kellogg E, DiMaio F, Lange O, Kinch L, Sheffler W, Kim BH, Das R, Grishin NV, and Baker D. (2009). Structure prediction for CASP8 with all-atom refinement using Rosetta. Proteins 77 Suppl 9:89-99. doi: 10.1002/prot.22540.
[rafaelfs@sdumont2nd5 input_files]$
Etapa | Objetivo | Algoritmo/Metodologia |
---|---|---|
Geração de conformações iniciais (Fragment Insertion) | Construir modelos iniciais com fragmentos. | Inserção estocástica de fragmentos (3/9-mer) |
Fase de "(High-temperature Monte Carlo" | Explorar amplamente espaço conformacional | Monte Carlo com alta temperatura (simulated annealing) |
Fase de "Refinamento": Simulated Annealing para otimizar energia. | Otimizar energia local e global | Monte Carlo com temperatura decrescente, energia detalhada |
Relaxamento rápido (FastRelax) | Refinar modelo full-atom, minimizar energia | Repacking + minimização com gradiente (FastRelax) |
Após a execução do protocolo serão gerados os seguintes arquivos de saída:
Arquivo | Descrição |
---|---|
score.sc ou score.fsc | Sequência da proteína em formato FASTA. |
output_0001.pdb (ou output.pdb): | Estrutura 3D prevista em formato PDB. |
output.silent (se habilitado) | Formato compacto para armazenar múltiplos modelos |
Esse arquivo contém uma tabela com as pontuações (scores) e métricas calculadas para cada modelo gerado pelo Rosetta. Cada linha (exceto o cabeçalho) corresponde a um modelo diferente (output_0001.pdb, output_0002.pdb, etc...).
Os Cabeçalho (nomes das colunas) abaixo são descritos na tabela-5:
#Cabeçalhos disponíveis no arquivo score.fsc
score fa_atr fa_rep fa_sol fa_intra_rep fa_intra_sol_xover4 lk_ball_wtd fa_elec pro_close hbond_sr_bb hbond_lr_bb hbond_bb_sc hbond_sc dslf_fa13 omega fa_dun p_aa_pp yhh_planarity ref rama_prepro Filter_Stage2_aBefore Filter_Stage2_bQuarter Filter_Stage2_cHalf Filter_Stage2_dEnd co rms maxsub clashes_total clashes_bb time description
#Formato real do arquivo com valores reais por coluna (resumido).
SCORE: total_score dslf_fa13 fa_atr ...
-215.678 0.000 -129.541 32.117 ...
Coluna | Descrição |
---|---|
score | Energia total do modelo (soma ponderada dos termos abaixo). Valores mais negativos são melhores. |
fa_atr | Termo de atração de van der Waals (forças de atração entre átomos). |
fa_rep | Termo de repulsão de van der Waals (penaliza átomos muito próximos). |
fa_sol | Energia de solvatação (custo de expor átomos hidrofóbicos ao solvente). |
fa_intra_rep | Repulsão intra-residual (dentro do mesmo resíduo). |
fa_intra_sol_xover4 | Termo de solvatação intra-residual com cruzamento (detalhes técnicos). |
lk_ball_wtd | Energia relacionada à interação hidrofóbica e hidrofílica (modelo Lazaridis-Karplus). |
fa_elec | Energia eletrostática (interações carregadas). |
pro_close | Penalidade por geometria incorreta em resíduos de prolina (fechamento do anel). |
hbond_sr_bb | Energia de pontes de hidrogênio de curto alcance entre backbones. |
hbond_lr_bb | Energia de pontes de hidrogênio de longo alcance entre backbones. |
hbond_bb_sc | Energia de pontes de hidrogênio entre backbone e sidechain. |
hbond_sc | Energia de pontes de hidrogênio entre sidechains. |
dslf_fa13 | Energia relacionada a ligações dissulfeto (pontes de enxofre). |
omega | Penalidade para ângulo omega (trans/cis) dos resíduos peptídicos. |
fa_dun | Energia baseada na distribuição Dunbrack para rotâmeros (conformações de sidechains). |
p_aa_pp | Probabilidade de aminoácidos em conformação específica (propensão de aminoácidos). |
yhh_planarity | Penalidade por não planaridade em anéis aromáticos de tirosina/histidina. |
ref | Termo de referência para aminoácidos (ajustes estatísticos). |
rama_prepro | Termo de Ramachandran para ângulos φ/ψ, penalizando conformações proibidas. |
Filter_Stage2_* | Termos específicos de filtros usados em estágios do protocolo (geralmente zero se não usados). |
co | Cobertura de contato (se calculada). |
rms | RMSD (Root Mean Square Deviation) em relação à estrutura nativa (se fornecida). Medido em angstroms (Å). |
maxsub | Métrica de similaridade estrutural (máximo subconjunto estrutural). |
clashes_total | Número total de colisões atômicas (átomos muito próximos). |
clashes_bb | Colisões específicas no backbone. |
time | Tempo gasto para gerar o modelo (segundos). |
description | Nome ou identificador do modelo. |
cat score.fsc
SCORE: score fa_atr fa_rep fa_sol fa_intra_rep fa_intra_sol_xover4 lk_ball_wtd fa_elec pro_close hbond_sr_bb hbond_lr_bb hbond_bb_sc hbond_sc dslf_fa13 omega fa_dun p_aa_pp yhh_planarity ref rama_prepro Filter_Stage2_aBefore Filter_Stage2_bQuarter Filter_Stage2_cHalf Filter_Stage2_dEnd co rms maxsub clashes_total clashes_bb time description
SCORE: -239.833 -621.231 75.953 405.028 1.254 18.300 -15.515 -173.118 0.882 -68.994 0.000 -11.371 -8.739 0.000 10.348 115.208 -13.975 0.013 41.326 4.798 0.000 0.000 0.000 0.000 14.469 6.367 85.000 0.000 0.000 151.000 S_00000001
SCORE: -239.136 -623.135 82.781 393.315 1.299 20.461 -22.633 -162.926 0.442 -60.915 -1.513 -8.714 -14.653 0.000 8.346 121.744 -15.597 0.009 41.326 1.229 0.000 0.000 0.000 0.000 18.621 6.973 93.000 0.000 0.000 157.000 S_00000002
SCORE: -238.105 -603.718 74.920 398.117 1.288 19.707 -20.974 -187.141 0.594 -65.135 -2.057 -17.553 -9.983 0.000 6.990 128.820 -9.271 0.061 41.326 5.905 0.000 0.000 0.000 0.000 11.812 4.723 97.000 0.000 0.000 156.000 S_00000003
- score total = -239.833: Energia total do modelo, valor negativo indica estabilidade. Modelos com scores mais baixos são preferíveis.
- fa_atr = -621.231: Forte contribuição atrativa (boa interação hidrofóbica).
- fa_rep = 75.953: Penalidade por átomos muito próximos, idealmente deve ser baixa.
- fa_sol = 405.028: Energia de solvatação, geralmente positiva (custo).
- rms = 6.367 Å: Desvio RMSD medido em angstroms (Å) em relação à estrutura nativa — menor é melhor (tipicamente < 2 Å indica boa predição).
- clashes_total = 0.000: Sem colisões atômicas detectadas, ótimo.
Dica prática:
Ordene o arquivo pelo score total para identificar os melhores modelos:
grep -v SCORE score.fsc | sort -nk2
Para realizar analises mais profunda dos dados, gerar gráficos analiticos e verificação da confiabilidade dos leia o item 3 do Tutorial no link -> Denovo_structure_prediction. Nele você irá encontrar forma de criar graficos "RMSD x Score", Ramachandran entre outros.
Para executar o Rosetta em ambientes gerenciados pelo SLURM (como o SDumont), você pode usar scripts sbatch ou comandos srun. Abaixo está um exemplo configurável para execução paralela:
Script Básico em apenas um node computacional (rosetta_abinitio.sbatch)
#!/bin/bash
#SBATCH --nodes=1 # Número de nós
#SBATCH --ntasks-per-node=96 # CPUs por nó (ajuste para lncc-cpu_amd)
#SBATCH --time=24:00:00 # Tempo máximo (HH:MM:SS)
#SBATCH -p lncc-cpu_amd # Partição (use a mesma do sinfo)
#SBATCH -J rosetta_denovo # Nome do job
#SBATCH --output=rosetta_%j.log # Arquivo de log
# Carrega os módulos necessários
module load rosetta_and_pyrosetta/VERSÃO DESEJADA
# Diretório de trabalho
cd $SLURM_SUBMIT_DIR
# Variáveis de execução (Opicional)
ROSETTA_BIN="AbinitioRelax.static.linuxgccrelease"
OPTIONS_FILE="options"
OUTPUT="output.silent"
### Escolha uma dos comando abaixo. A depender da configuração de hardware que você dejesa utilizar.
# 1 - Executa com MPI em um Nó (Caso utiliza as váriavies opcionais acima).
srun -n $SLURM_NTASKS mpirun $ROSETTA_BIN @$OPTIONS_FILE -out:file:silent $OUTPUT
# 2 - Ou execute diretamente para usar 96 Threads
parallel -j 96 AbinitioRelax.static.linuxgccrelease @options
# 3 - Execução em 1 nó com 8 CPUs
mpiexec -np 8 AbinitioRelax.static.linuxgccrelease @options
# Ou
mpirun -np 8 AbinitioRelax.static.linuxgccrelease @options
## 4 - Também, para execução em múltiplos nós (ex: 2 nós com 96 CPUs cada, total 192 CPUs)
mpiexec -hostfile hosts.txt -np 96 AbinitioRelax.static.linuxgccrelease @option
## Alternativamente para (ex: 2 nós com 96 CPUs cada, total 192 CPUs)
mpirun -hostfile hosts.txt -np 192 AbinitioRelax.static.linuxgccrelease @options"
Método | Comando | Vantagens | Quando Usar |
---|---|---|---|
GNU Parallel | parallel -j ... | Simples, saídas separadas | Jobs independentes em 1 nó. |
MPI (mpirun) | mpirun -np -hostfile ... | Escalável para multi-nós | Cálculos acoplados ou grandes. |
SLURM Direct | srun -N mpirun ... | Integração nativa com filas SLURM | Clusters gerenciados por SLURM. |
MPIEXEC | mpiexec -np | Padronizado (funciona em qualquer implementação MPI) Mas requer um "hostfile" | Quando precisão na alocação de processos é crítica. |
Como mostrado no script acima para execussão em mutiplos node é necessário o uso de um arquivo contendo os nomes dos nodes que serão utilizados. Recomendamos a verificação de quais nodes estão com status ocioso (idle) para agilizar o processo de submissão.
# Para criar um arquivo hosts.txt contendo os nomes dos dois primeiros node de cpu (independentmente do estatos de uso)
sinfo -p lncc-cpu_amd -h -o "%n" | head -n 2 | awk '{print $1 " slots=96"}' > hosts.txt
# Para criar um arquivo hosts.txt contendo os nomes de dois primerios nodes de cpu com estatos ocioso (idle status)
sinfo -p lncc-cpu_amd -h -t idle -o "%n" | grep -v "sdumont2nd2019" | head -n 2 > hosts.txt
cat hosts.txt
sdumont2nd1000 slots=96
sdumont2nd1001 slots=96
Para verificar o nomes nome de todos os nodes do SDumont2nd disponível, utilize o comando "sinfo" abaixo. Ele retornara também os estatos de cada node, como no exemplo abaixo:
sinfo
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
gh200 up infinite 1 mix sdumont2nd3001
gh200 up infinite 1 idle sdumont2nd3000
h100 up infinite 4 mix sdumont2nd[2000-2003]
lncc-cpu_amd up infinite 48 resv sdumont2nd[1000-1022,1025-1049]
lncc-cpu_amd_dev up 20:00 50 resv sdumont2nd[1000-1049]
ict-cpu_amd up infinite 34 resv sdumont2nd[1025-1049,1051-1059]
cpu_amd_dev up 20:00 10 resv sdumont2nd[1050-1059]
petrobr-cpu_amd up infinite 9 resv sdumont2nd[1051-1059]
lncc-h100 up infinite 4 mix sdumont2nd[2000-2003]
lncc-h100 up infinite 6 alloc sdumont2nd[2004-2007,2009-2010]
lncc-h100 up infinite 8 idle sdumont2nd[2008,2011-2017]
lncc-h100_shared up infinite 2 fail* sdumont2nd[2019,2036]
lncc-h100_shared up infinite 3 mix sdumont2nd[2037-2039]
lncc-h100_shared up infinite 20 idle sdumont2nd[2020-2035,2040-2043]
lncc-h100_dev up 20:00 2 fail* sdumont2nd[2019,2036]
lncc-h100_dev up 20:00 3 mix sdumont2nd[2037-2039]
lncc-h100_dev up 20:00 21 idle sdumont2nd[2018,2020-2035,2040-2043]
ict-h100 up infinite 3 fail* sdumont2nd[2019,2036,2061]
ict-h100 up infinite 3 mix sdumont2nd[2037-2039]
ict-h100 up infinite 36 idle sdumont2nd[2020-2035,2040-2043,2045-2060]
petrobr-h100 up infinite 1 fail* sdumont2nd2061
petrobr-h100 up infinite 16 idle sdumont2nd[2045-2060]
h100_dev up 20:00 1 fail* sdumont2nd2061
h100_dev up 20:00 17 idle sdumont2nd[2044-2060]
lncc-gh200 up infinite 1 drain* sdumont2nd3009
lncc-gh200 up infinite 7 alloc sdumont2nd[3002-3008]
lncc-gh200_shared up infinite 15 idle sdumont2nd[3011-3025]
lncc-gh200_dev up 20:00 16 idle sdumont2nd[3010-3025]
ict-gh200 up infinite 24 idle sdumont2nd[3011-3025,3027-3035]
petrobr-gh200 up infinite 9 idle sdumont2nd[3027-3035]
gh200_dev up 20:00 10 idle sdumont2nd[3026-3035]
lncc-mi300a up infinite 2 alloc sdumont2nd[4000-4001]
lncc-mi300a up infinite 3 idle sdumont2nd[4002-4004]
lncc-mi300a_shared up infinite 7 idle sdumont2nd[4006-4012]
lncc-mi300a_dev up 20:00 8 idle sdumont2nd[4005-4012]
ict-mi300a up infinite 2 mix sdumont2nd[4014-4015]
ict-mi300a up infinite 9 idle sdumont2nd[4006-4012,4016-4017]
petrobr-mi300a up infinite 2 mix sdumont2nd[4014-4015]
petrobr-mi300a up infinite 2 idle sdumont2nd[4016-4017]
mi300a_dev up 20:00 2 mix sdumont2nd[4014-4015]
mi300a_dev up 20:00 3 idle sdumont2nd[4013,4016-4017]
lncc-grace up infinite 4 idle sdumont2nd[8000-8003]
Coluna | Significado |
---|---|
PARTITION | Nome da partição SLURM. Um agrupamento lógico de nós, geralmente por finalidade, usuário ou hardware. |
AVAIL | Indica se a partição está ativa (up) ou indisponível (down, drain, etc.). |
TIMELIMIT | Tempo máximo permitido para jobs nesta partição. Ex: 20:00 = 20 horas, infinite = sem limite. |
NODES | Número total de nós listados nesta linha, com o estado indicado na coluna STATE. |
STATE |
Estado atual dos nós:
|
NODELIST | Lista dos nós correspondentes. Pode ser um nó único (ex: sdumont2nd3001) ou um intervalo (ex: sdumont2nd[1000-1049]). |
Com o comando sinfo você verá todos os nodes disponíveis no SDumont2nd. ```
Leia também as perguntas frequentes no link -> Frequently Asked Questions - FAQ
Ou acesse a sessão de ajuda rápida dentro de cada modulo do Rosetta com o comando abaixo:
module help rosetta_and_pyrosetta/371_release_py3.9_mpich ------------------------------------ Module Specific Help for "rosetta_and_pyrosetta/371_release_py3.9_mpich" ------------------------------------ ############################################### Ambiente Rosetta 371 Release e PyRosetta 2025.23 com MPICH ############################################### Este modulo configura o ambiente para uso de: - Rosetta (versao 371 release, compilado com GCC 12 e OpenMPI 4.1.6) * Rosetta: Suite completa para modelagem de proteinas - PyRosetta (interface Python para Rosetta) - CS-Rosetta: Integracao de dados de RMN - TALOS-N: Predicao de estrutura secundaria - OpenMPI (4.1.6) para computacao paralela - **Bibliotecas Python Adicionais ja inclusas neste modulo:** * **Biopython**: Manipulacao de sequencias e estruturas biologicas * **Matplotlib**: Plotagem e visualizacao de dados * **SciPy**: Computacao cientifica e matematica avancada * **scikit-learn**: Ferramentas de aprendizado de maquina * **Pandas**: Analise e manipulacao de dados estruturados * **JupyterLab**: Ambiente interativo para desenvolvimento e execucao de notebooks Python - **OpenBabel (3.1.1)**: Conversao e manipulacao de formatos quimicos === EXEMPLOS DE USO (PARALELIZACAO) === 1. EXECUCAO SERIAL (1 thread): AbinitioRelax.default.linuxclangrelease @options 2. PARALELIZACAO EM 1 NO: # Metodo 1: GNU Parallel (jobs independentes) parallel -j 8 AbinitioRelax.static.linuxgccrelease @options -out:file:silent output_{}.silent ::: {1. .8} # Metodo 2: MPI (1 no com 8 processos) mpiexec -np 8 AbinitioRelax.mpi.linuxgccrelease @options # ou mpirun -np 8 AbinitioRelax.mpi.linuxgccrelease @options 3. EXECUCAO EM MULTIPLOS NOS (SLURM): # Metodo 1: Usando apenas nos IDLE (recomendado) sinfo -p lncc-cpu_amd -h -t idle -o "%n" | head -n 2 | awk '{print $1 " slots=96"}' > hosts.txt mpirun -hostfile hosts.txt -np 192 AbinitioRelax.mpi.linuxgccrelease @options # Metodo 2: SLURM com alocacao automatica srun -p lncc-cpu_amd -N 2 --ntasks-per-node=96 \ mpirun AbinitioRelax.mpi.linuxgccrelease @options # Metodo 3: Hostfile dinamico com SLURM srun -p lncc-cpu_amd -N 2 bash -c 'hostname | sort | uniq -c | awk "{print \$2 \" slots=\"\$1}"' > ho sts.txt mpirun -hostfile hosts.txt -np 192 AbinitioRelax.mpi.linuxgccrelease @options 4. EXECUCAO AVANCADA: # Filtrando nos especificos (ex: evitar nos problematicos) sinfo -p lncc-cpu_amd -h -t idle -o "%n" | grep -v "sdumont2nd2019" | head -n 4 > hosts.txt === CONFIGURACOES RECOMENDADAS === - Para jobs paralelos, inclua em 'options': -nstruct 1000 # Numero total de estruturas -jd2:ntrials 1 # Tentativas por trabalho -out:file:silent output.silent -out:file:scorefile scores.sc - Para MPI: -mpi_trajectory 1 # Habilita saida por processo MPI === COMPARACAO DE METODOS == | Metodo | Comando | Quando Usar | |-----------------|------------------------------------|----------------------------------| | GNU Parallel | parallel -j 8 ... | Jobs independentes em 1 no | | MPI (mpiexec) | mpiexec -np 192 -hostfile... | Controle preciso de recursos | | SLURM (srun) | srun -N 2 mpirun... | Clusters gerenciados | === DIRETORIOS IMPORTANTES === - Binarios do Rosetta: /scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/371_openmpi/rosetta.sourc e.linux.release-3.14/main/source/bin/ - Binarios do ambiente Conda (inclui Python, OpenMPI, OpenBabel, etc.): /scratch/app/anaconda_module/env s/rosetta_and_pyrosetta/371_openmpi/bin/ - Bibliotecas Python (PyRosetta, Biopython, Matplotlib, SciPy, Pandas, scikit-learn): /scratch/app/anaco nda_module/envs/rosetta_and_pyrosetta/371_openmpi/lib/python3.9/site-packages/ - CS-Rosetta: /scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/371_openmpi/rosetta.source.linux.r elease-3.14/main/csRosetta - TALOS-N: /scratch/app/anaconda_module/envs/rosetta_and_pyrosetta/371_openmpi/rosetta.source.linux.rele ase-3.14/main/talosn Dica: Verifique nodes disponiveis com: sinfo -p lncc-cpu_amd -h -t idle -o "%n %C" USO NAO OFICIAL DO ROSETTA E PYROSETTA EM GPU No Linux, o Open MPI é desenvolvido com reconhecimento da nvidia para execucao juntamente com a linguagem CUDA, mas esta desabilitado por padrão. Pois o Rosetta não é nativamente compilado para utilizar CUDA e GPUs nvidia. Porem, em alguns casos é possível utilizar aceleração por GPU em scripts do Rosetta e Pyrosetta. Busce na comunidade cientifica sobre uso de GPU e verifique se e realmente justificavel seu uso, já que nao existe ainda uma compilação especifica para o uso em GPUs. Para habilita-lo, defina a variável de ambiente: "OMPI_MCA_opal_cuda_support=true" antes de iniciar seus processos MPI. Da mesma forma, você pode definir o parâmetro MCA na linha de comando: "mpiexec --mca opal_cuda_support 1 ... " Observe que você também pode precisar definir UCX_MEMTYPE_CACHE=n para reconhecimento de CUDA via UCX. Consulte a documentação do UCX para obter mais detalhes. Documentacao adicional disponivel nos diretorios das ferramentas. Ou o link de perguntas frequentes -> https://docs.rosettacommons.org/docs/latest/getting_started/FAQ#frequently-asked-questions