Bibliotecas¶
Instalando MINICONDA e PyTorch¶
O Miniconda é um importante pacote de bibliotecas Python voltados para o uso científico.
cd ~/Downloads
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
conda config --set auto_activate_base false
conda info
Para desativar o carregamento automatico, utilize conda config --set auto_activate_base false.
Extra:
Para atualizar o gerenciador de pacotes conda use conda update conda. Para atualizar as bibliotecas dentro do ambiente conda update --all e para uma limpeza conda clean --all -y.
Atenção!
Certifique de que a instalação será no diretório $HOME/miniconda3 confirmando yes para todas as respostas. NÃO UTILIZE sudo.
Agora, vamos criar um ambiente virtual e instalar o Pytorch. No diretório $HOME, crie um ambiente gromacs-nnpot:
cd ~/software
sudo apt install python3-venv libjpeg-dev python3-dev python3-pip
python3 -m venv gromacs-nnpot
source ~/software/gromacs-nnpot/bin/activate
python3 -m pip install --upgrade setuptools pip wheel
pip3 install torch torchvision
Para testar:
python3 -c 'import torch' 2> /dev/null && echo 'Success' || echo 'Failure' # retorna Success
python3 -c "import torch; print(torch.cuda.is_available())" # retorna True
python3 -c "import torch; print(torch.cuda.get_device_properties(0))" # retorna informações GPU
python3 -c "import torch; x = torch.rand(5, 3); print(x)" # retorna matriz
python3 -c "import torch; print(torch.__version__)" # retorna a versão do Torch
Instalando ferramentas para topologias¶
Nota:
A adoção de ambientes isolados visa assegurar a manutenção e mitigar incompatibilidades entre bibliotecas.
TOOLKIT¶
É uma caixa de ferramenta com bibliotecas utilizadas em bioinformatica.
conda create --name mdtoolkit python=3.12
conda activate mdtoolkit
conda install -c conda-forge \
rdkit openbabel py3dmol pillow \
numpy scipy pandas matplotlib plotly seaborn scikit-learn \
jupyterlab ipykernel ipympl watermark jupyterlab-language-pack-pt-BR tqdm pytest \
parmed panedr pyedr pymbar alchemlyb statsmodels numba networkx \
pdb2pqr propka biopython \
mdanalysis waterdynamics mdaencore mdtraj
conda config --append channels salilab
conda install -c salilab modeller
Para utilizar o openbabel:
obabel -ismi ethanol.smi -opdb -O ethanol.pdb --title ETHANOL --gen3d --minimize --sd --ff GAFF --log
obabel -:'CCO' -ogro -O ethanol.gro --title ETHANOL --gen3d --minimize --sd --ff GAFF --log
obabel -:"CC(=O)OC1=CC=CC=C1C(=O)O" -opdb -O aspirin.pdb --title ASPIRIN --gen3d --minimize --sd --ff GAFF --log
obabel ethanol.gro -O ethanol.mol2
obabel ethanol.gro -opdb -O ethanol.pdb
Temas para o jupyter notebook:
pip install theme-darcula
pip install jupyterlab-theme-solarized-dark
pip install jupyterlab-day
pip install jupyterlab-solarized-light-theme
AmberTools¶
É uma coleção de programas gratuitos e de código aberto usados para configurar, executar e analisar simulações moleculares. Para instalar:
cd $HOME
conda create --name acpype
conda activate acpype
conda install --channel conda-forge ambertools openbabel
Em conjunto com o AmberTools, o ACPYPE é um pacote em python para gerar topologias de moléculas. Para instalar e utilizar:
conda install -c conda-forge acpype
acpype --version
acpype -i ethanol.mol2 -c bcc -n 0 -a amber2 -o gmx # exemplo de uso para uma molécula de etanol.
CGenFF¶
É um servidor web para gerar topologias de moléculas para o campo de força CHARMM36. É possivel obter as topologias e coordenadas diretamente no formato para Gromacs ou obter o arquivo .str para posterior conversão em ambiente. É necessário obter a molécula de interesse no formato .mol2. ( Verifique o suporte 32 bits das bibliotecas no sistema!)
conda create --name cgenff python=3.7
conda activate cgenff
conda install networkx=2.3 numpy
python cgenff_charmm2gmx_py3_nx2.py ETH ethanol.mol2 ethanol.str charmm36-jul2022.ff # o campo de força deverá estar no mesmo diretório de trabalho.
LigPargen¶
É uma biblioteca desenvolvida para gerar topologias de moléculas para o campo de força OPLS. Faça o download do software BOSS, descompacte em um diretório de trabalho.
cd ~/software
sudo apt install csh
export BOSSdir=PATH_TO_BOSS_DIRECTORY # pode ser incluido no arquivo ~/.bashrc
export PATH=$BOSSdir/scripts:$BOSSdir/exe:$PATH
Para criar o ambiente e instalar:
conda create --name ligpargen python=3.7
conda activate ligpargen
conda install -c conda-forge rdkit openbabel
cd ~/software
git clone https://github.com/Isra3l/ligpargen.git
pip install -e ligpargen
cd ligpargen
python -m unittest test_ligpargen/test_ligpargen.py
ligpargen -h
Para gerar topologia de moléculas, utilize:
ligpargen -s 'CCO' -n ethanol -p molecule -r ETH -c 0 -o 3 -cgen CM1A-LBCC -verbose -check
ligpargen -s CC(=O)[O-] -n ethanol -p molecule -r CAR -c -1 -o 3 -cgen CM1A -verbose -check
Atenção!
Recentemente o ligpargen tem apresentado problemas com a biblioteca RDKit. Se houver problemas com o teste:
cd ~/software/ligpargen
git checkout -b golden-local-rdkit-2022.09.1_1
python -c "
import os, ligpargen.tools.utilities as u, ligpargen.topology.Molecule as m
wd = os.path.join(os.getcwd(),'test_ligpargen')
mol,_,_,_ = u.generateRDkitMolecule(None,'c1ccccc1',wd,'MOL')
open('test_ligpargen/goldenData/benzene_atoms.txt','w').write(
'\n'.join(str(a) for a in m.fromRDkitMolecule(mol).atoms)+'\n')
"
python -m unittest test_ligpargen/test_ligpargen.py
git commit -am "golden regenerado: rdkit 2022.09.1 py37h97e29ec_1 (diff de 1 ULP no dotProduct do Point3D)"
Packmol¶
É uma biblioteca criada para construir configurações iniciais de sistemas complexos para simulação. Para instalar:
cd ~/software
python3 -m venv packmol
source $HOME/software/packmol/bin/activate
pip install packmol
Instalando ferramentas para análises¶
Note
A adoção de ambientes isolados visa assegurar a manutenção e mitigar incompatibilidades entre bibliotecas.
Alchemlyb¶
É uma biblioteca voltado para análises de energia livres altamente eficiente, utilizando aprendizagem de máquina nas análises. Para instalar:
conda create -n mbar
conda activate mbar
conda install -c conda-forge alchemlyb pymbar jax jaxlib seaborn "jaxlib=*=*cuda*"
MDAnalysis¶
É "agnóstica" quanto ao formato de arquivo (lê GROMACS, Amber, CHARMM, NAMD, etc. sem precisar converter). É orientada a objetos, permitindo seleções de átomos muito complexas e poderosas. É excelente para escrever ferramentas de análise personalizadas, embora possa ser ligeiramente mais lenta que o MDTraj em cálculos massivos.
conda create --name mdanalysis
conda activate mdanalysis
conda install -c conda-forge mdanalysis waterdynamics mdaencore
MDTraj¶
Projetada para ser extremamente rápida e eficiente em memória, utiliza arrays do NumPy nativamente. É ideal para processar grandes volumes de dados (Big Data) e para converter formatos de trajetória. É frequentemente a escolha preferida para alimentar pipelines de Machine Learning devido à sua integração fácil com o ecossistema Scikit-learn/NumPy.
PyEMMA¶
Usada para analisar a cinética e a termodinâmica de sistemas moleculares. Ela pega dados de simulação (frequentemente processados via MDTraj) e ajuda a identificar estados metaestáveis, barreiras de energia e taxas de transição. É muito usada para entender folding de proteínas ou mudanças conformacionais complexas através de redução de dimensionalidade (TICA).
ComplexMixture¶
É um pacote para estudar as interações entre soluto e solvente em misturas de moléculas com formas complexas.
Atenção!
Certifique-se de ter o Julia instalado.
cd ~/software/julia
julia -t auto
import Pkg; Pkg.activate(".")
import Pkg; Pkg.add(["ComplexMixtures", "PDBTools", "Plots", "EasyFit", "LaTeXStrings", "Packmol"])
Como citar¶
FAUSTINO, P. A. S. Documentação sobre Química Biofísica Computacional. [S. l.]: Zenodo, 2026. DOI 10.5281/zenodo.22729510. Disponível em: https://doi.org/10.5281/zenodo.22729510.