Skip to content

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 wget télécharge le fichier acetic_acid.mol.
  • La commande obabel convertit la molécule décrite dans acetic_acid.mol du format .mol au 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.

parallel_openbabel_job.sh
#!/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