molécules organiques LaTeX via Python

Pour proposer des logiciels pertinents, liens, notices ou tutoriels...

molécules organiques LaTeX via Python

Messagede David_A » 07 Mai 2023, 18:36

Plusieurs sites internet proposent des bases de données de molécules organiques en format SMILES : ce format se présente sous forme d'une chaîne de caractères, qui représente une molécule.

Par exemple :
CN1C=NC2=C1C(=O)N(C(=O)N2C)C
L'avez-vous reconnue ? c'est la caféine...

Sur le web, on trouve des sites qui génèrent le format SMILES à partir d'un nom de molécule, voire qui en génèrent une image.
Pour les personnes utilisant LaTeX et Python, voici une procédure qui permet d'insérer dans un fichier LaTeX la formule d'une molécule. Cette méthode est intéressante pour les molécules organiques assez complexes, fastidieuses à écrire.

1) Il faut d'abord se procurer la molécule en format SMILES. Quelques sites :
https://cactus.nci.nih.gov/chemical/structure
http://www.chemspider.com/
https://pubchem.ncbi.nlm.nih.gov/

2) Installer le module mol2chemfigPy3 pour Python. Adresse du module : https://pypi.org/project/mol2chemfigPy3/
3) Dans un terminal, taper une commande comme :
mol2chemfig -zw -i direct "C1=CC=C(C=C1)O"
entre guillemets : la molécule SMILES
La commande produit le code chemfig de la molécule, à coller dans le fichier LaTeX. Par exemple :
\chemfig{OH-[:180,,1]=_[:240]-[:180]=_[:120]-[:60]=_(-[:300])}

Chemfig est le principal package LaTEX utilisé pour dessiner des molécules organiques.

L'avantage de cette procédure est que le format SMILES est très utilisé dans le monde académique, et donc que les bases de données disponibles sont très fournies.
J'ai cru comprendre que le module Python mol2chemfigPy3 est une variante d'un autre module, qui semble maintenant indisponible.
Cette page wikipedia (https://fr.wikipedia.org/wiki/Simplified_Molecular_Input_Line_Entry_Specification) explique le principe du format SMILES.
www.astrolabe-science.fr
David_A
 
Messages: 124
Inscription: 22 Fév 2021, 19:28
Localisation: Le Havre, Seine-Maritime
Académie: Normandie
Poste: Enseignant en Lycée

Re: molécules organiques LaTeX via Python

Messagede CBA » 22 Aoû 2023, 02:41

Génial !

Je viens de le tester sur l'acide éthanoïque: mol2chemfig -zw --hydrogens add --show-methyls --show-carbons -i pubchem "CC(O)=O"

Les options --hydrogens add --show-methyls --show-carbons permettent d'obtenir quasiment la formule de Lewis. Il manque cependant les doublets non-liant.

Saurais-tu s'il existe une option pour les faire apparaître ?

Merci encore pour le lien vers le programme python. Cela me sera très utile.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
CBA
 
Messages: 22
Inscription: 19 Jan 2022, 16:06
Académie: Lycée Jean D'alembert, Viña del Mar, Chili
Poste: Enseignant en Collège/Lycée

Re: molécules organiques LaTeX via Python

Messagede David_A » 22 Aoû 2023, 13:09

L'ajout des doublets non-liants ne semble pas prévu dans le script.
En revanche, l'option -g ou --markers crée un marqueur pour chaque atome, dans chemfig on peut ensuite ajouter du script TikZ dans \chemmove pour rajouter des éléments, comme les doublets, mais ça doit être fastidieux (seulement si peu de doublets à rajouter).
www.astrolabe-science.fr
David_A
 
Messages: 124
Inscription: 22 Fév 2021, 19:28
Localisation: Le Havre, Seine-Maritime
Académie: Normandie
Poste: Enseignant en Lycée

Re: molécules organiques LaTeX via Python

Messagede CBA » 23 Aoû 2023, 03:47

Pour le rajout manuel, on peut utiliser la commande \lewis dans chemfig pour rajouter les doublets non-liants. Un exemple si dessous toujours avec le même exemple. Les chiffres placés devant l'atome permettent d'orienter les doublets.

3 2 1
4 atome 0
5 6 7
Code: Tout sélectionner
\chemfig{\lewis{06,O}=[:120]C(-[:180]C(-[:120]H)(-[:180]H)-[:240]H)-[:60]\lewis{37,O}-H}
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
CBA
 
Messages: 22
Inscription: 19 Jan 2022, 16:06
Académie: Lycée Jean D'alembert, Viña del Mar, Chili
Poste: Enseignant en Collège/Lycée


Retourner vers Présentations de logiciels utilisables par des enseignants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron