Charmm

Descrição

De acordo com a página do CHARMM, CHARMM (Chemistry at HARvard Macromolecular Mechanics) é um programa de simulação molecular com ampla aplicação em sistemas de muitas partículas, incluindo funções de energia abrangentes, métodos de amostragem avançada e suporte a técnicas multi-escala como QM/MM, MM/CG e modelos de solvente implícito.

Versões Disponíveis

  • charmm/c26b2 (versão livre para uso acadêmico)

  • charmm/c26b2-serial (versão livre serial)

  • charmm/c37b2 (default)

  • charmm/c37b2-serial

Nota

As versões c26b2 são livres para uso acadêmico sem necessidade de licença.

Submissão de Jobs Seriais

submit_charmm_serial.sh
#!/bin/bash
#SBATCH -J charmm_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 03:00:00
#SBATCH --mem=4G

export INPUT="md-analysis.inp"
export OUTPUT="*.out *.log"

module load charmm/c37b2-serial
job-nanny charmm < md-analysis.inp

Submissão de Jobs em Paralelo

submit_charmm_mpi.sh
#!/bin/bash
#SBATCH -J charmm_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G

export INPUT="md.inp"
export OUTPUT="*.out *.log *.dcd"

module load charmm/c37b2
job-nanny srun -n $SLURM_NTASKS charmm < md.inp

Submissão de Jobs com GPU

submit_charmm_gpu.sh
#!/bin/bash
#SBATCH -J charmm_gpu
#SBATCH -p gpu
#SBATCH --gres=gpu:1
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=32G

export INPUT="md_gpu.inp"
export OUTPUT="*.out *.log *.dcd"

module load charmm/c37b2
job-nanny charmm -gpu md_gpu.inp

Exemplo de Arquivo de Entrada

md.inp
* Minimização e Dinâmica Molecular
*

! Ler topologia e parâmetros
open read card unit 10 name top_all36_prot.rtf
read rtf card unit 10
close unit 10

open read card unit 10 name par_all36_prot.prm
read para card unit 10
close unit 10

! Ler coordenadas
open read card unit 10 name protein.crd
read coor card unit 10
close unit 10

! Definir sistema
update cutnb 14.0 ctofnb 12.0 ctonnb 10.0

! Minimização
mini sd nstep 1000

! Dinâmica molecular
dynamics leap verlet start timestep 0.002 nstep 50000 -
         iunread -1 iunwrite -1 iuncrd 20 -
         nsavc 500 nsavv 0 nprint 100 -
         firstt 300.0 finalt 300.0 teminc 0.0 -
         ichecw 0 twindl -5.0 twindh +5.0 -
         iasors 0 iasvel 1 iscvel 0 ichecw 0 -
         echeck -1

stop

Job Array para Múltiplas Simulações

submit_charmm_array.sh
#!/bin/bash
#SBATCH -J charmm_array
#SBATCH --array=1-10
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=8G

export INPUT="template.inp"
export OUTPUT="run_${SLURM_ARRAY_TASK_ID}/"

module load charmm/c37b2-serial

# Criar diretório para esta execução
mkdir -p run_${SLURM_ARRAY_TASK_ID}
cd run_${SLURM_ARRAY_TASK_ID}

# Modificar parâmetros no arquivo de entrada
sed "s/TEMPERATURA/$((300 + SLURM_ARRAY_TASK_ID))/g" ../template.inp > md.inp

job-nanny charmm < md.inp

Referências

Ver também