Open Babel

From Alliance Doc
Jump to navigation Jump to search
This page is a translated version of the page Open Babel and the translation is 100% complete.
Other languages:

Description

Open Babel est une boîte à outils conçue pour parler les nombreux langages des 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 Open Babel User Guide.

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.

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 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 prochaine tâche 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.

File : 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 eg 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

$ 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
>>>