Open Babel/fr
Description¶
Open Babel est une boîte à outils conçue pour traiter les nombreux formats de données chimiques. Il s'agit d'un projet ouvert et collaboratif permettant à quiconque de rechercher, convertir, analyser ou stocker les données provenant de la modélisation moléculaire, de la chimie, des matériaux solides, de la biochimie ou de domaines connexes.
Consultez le guide d'utilisateur d'Open Babel.
Deux types de modules sont installés sur nos grappes :
openbabel¶
Cette version séquentielle peut être utilisée en toute sécurité, même sur les nœuds de connexion, pour convertir les formats des fichiers de structure chimique. Dans la plupart des cas, c'est le bon module.
Exemple¶
[user@login1]$ module load openbabel
[user@login1]$ wget "https://www.chemspider.com/FilesHandler.ashx?type=str&3d=yes&id=171" -O acetic_acid.mol
[user@login1]$ obabel -i mol acetic_acid.mol -o pdb -O acetic_acid.pdb
Remarques :
- La commande
wgettélécharge le fichieracetic_acid.mol. - La commande
obabelconvertit la molécule décrite dansacetic_acid.moldu format.molau format.pdb.
openbabel-omp¶
Cette version offre la parallélisation avec OpenMP.
Warning
N'utilisez pas ce module sur les nœuds de connexion, car même pour des tâches simples, il créera autant de fils (threads) qu'il détectera de CPU sur la machine, provoquant ainsi des pics de charge qui perturberont les autres utilisateurs.
La version parallèle est utile pour convertir un très grand nombre de structures moléculaires ou calculer un grand nombre de descripteurs chimio-informatiques pour plusieurs molécules.
Assurez-vous de définir la variable d'environnement OMP_NUM_THREADS afin d'indiquer à Open Babel combien de CPU il peut utiliser.
Exemple¶
La tâche suivante utilise le fichier SDF many_molecules.sdf qui devrait contenir une base de données de plusieurs molécules et génère des représentations canoniques SMILES pour chacune d'elles, en utilisant deux cœurs CPU.
#!/bin/bash
#SBATCH --time=00:15:00
#SBATCH --cpus-per-task=2
#SBATCH --mem-per-cpu=1000M
module load openbabel-omp
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK:-1}"
obabel -i sdf many_molecules.sdf -o can -O many_canonical_smiles.txt
Python¶
Les fonctionnalités d'Open Babel peuvent être utilisées à partir d'autres langages tels que Python. L'interface Python pour Open Babel est ajoutée aux modules openbabel et openbabel-omp en tant qu'extensions. Par conséquent, les paquets openbabel et pybel peuvent être utilisés après avoir chargé openbabel et un module Python compatible.
Exemple¶
```bash $ module load python/3.11 openbabel/3.1.1 $ python Python 3.11.5 (main, Sep 19 2023, 19:49:15) [GCC 11.3.0] on linux
import openbabel print(openbabel.version) 3.1.1.1 from openbabel import pybel