PDB : RCSB custom reports (2025)

4. Production du fichier CSV d’import

Une fois passée cette étape intermédiaire, nous pouvons donc reprendre le processus et transformer cette table selon plusieurs critères :

  • Transformer les données Entry ID de manière à ce qu’elles soient cliquables et pointent vers la page de la  structure PDB correspondante dans un navigateur.
  • Faire la même chose pour les colonnes DOI (pointent vers la publication) et code du ligand (colonne renommée en Ligands).
  • Diminuer la largeur de la colonne Structure Author, en ne gardant que les premiers et second auteurs, séparés par une virgule, sans les initiales.
  • Ne garder que l’année dans la colonne Release Date.

Nous ne pouvons pas faire ces opérations à la main, ni avec des recherches-remplacements, il y aura toujours des exceptions. Nous allons devoir utiliser un peu de code Python, et traiter cette collecte en la transformant en table CSVM.

Purge du fichier CSV tabulé

Il faudra vérifier si des caractères du type " ne se sont pas introduits. Ce qui arrive parfois avec certains noms de ligands trop longs, par exemple : « 2-{3-[(4-AMINO-2-METHYLPYRIMIDIN-5-YL)METHYL]-4-METHYL-2-OXO-2,3-DIHYDRO-1,3-THIAZOL-5-YL}ETHYL TRIHYDROGEN
DIPHOSPHATE ». Dans ce cas on supprimera les guillemets doubles.

On peut également remplacer Refinement Resolution (Ã…) par Res tout simplement.

Ne pas oublier non plus d’enlever (ou commenter avec un caractère #) la ou les premières lignes (titres de colonnes) pour les reporter dans le champ #HEADER du bloc de métadonnées du CSVM.

Transformation en table CSVM

Pour convertir ce fichier texte au format CSVM, c’est immédiat, il suffit d’ajouter un bloc de métadonnées à la fin du fichier et inhiber par un caractère # (ou supprimer) la première ligne du CSV (qui embarquait les noms de colonnes).

La dernière ligne de la table est mise en évidence (jaune) et le bloc de métadonnées à la fin en gris. Nous pouvons aussi changer les noms de colonnes dans les champs #HEADER.

Lecture et modification de la table CSVM (Python)

Pour réaliser ces opérations nous allons avoir besoin d’un peu de code Python, dans un premier temps nous chargeons le fichier CSVM dans un objet (self) de type csvm_ptr :

Puis nous pouvons traiter la modification pour les noms d’auteurs, et nous renommons la colonne en ‘Auth2‘, par exemple :

Puis traiter les années, nous avons également renommé la colonne en ‘Year‘ :

Puis les DOI, comme il s’agit de publications scientifiques, nous allons transformer chaque entrée de la colonne en URL (au format HTML) qui pointera vers ‘https://doi.org/‘ :

Nous faisons la même chose avec la colonne Entry ID, cette fois nous utilisons le préfixe ‘https://www.rcsb.org/structure/‘. Par exemple la première structure (1IVO) de la collection deviendra <A HREF="https://www.rcsb.org/structure/1IVO">1IVO</A>, donc :

Nous répétons le même code avec la colonne correspondant aux identifiants de ligands (Ligands ou Ligand ID). Cette fois le préfixe utilisé sera ‘https://www.rcsb.org/ligand/‘. Puis nous sauvons les fichiers au format CSVM (pour mémoire) et CSV (pour import dans Excel).

Le code n’est pas optimisé, nous pourrions aller vers plus de généricité et ajouter d’autres blocs de conversion. Le fait qu’on utilise une API CSVM permet aussi de filtrer, trier les colonnes, on peut en supprimer, en ajouter, les préremplir directement ou en fonction des autres données de la table.

En l’état le CSVM peut être transformé en table HTML cliquable, ou en données javascript qui vont entrer dans une page HTML par exemple sous la forme d’une table dynamique, nous avons tout ce qu’il faut pour le faire. Ce type d’approche peut être utile si nous voulions mettre cette collecte en visibilité pour des collaborateurs participant au projet.

Mais nous allons utiliser le fichier Excel pour des annotations en ajoutant quelques colonnes. Par exemple s’il y a des mutations, s’il existe différentes classes de conformation (par exemple site ouvert, site fermé) … Pour cela il nous faut une table pratique à utiliser, que l’on clique sur un lien et que l’on puisse examiner l’entrée PDB avec le minium de clics.

Nous allons donc retravailler le fichier Excel, mais pas manuellement, nous allons utiliser des macros Visual Basic (VBA) conçues pour transformer les URLs en liens cliquables. C’est un modèle que l’on peut aussi adapter pour d’autres cas de figures.

Liens et lectures
Retour en haut