diff --git a/BINF2025_tp6.ipynb b/BINF2025_tp6.ipynb
index 089684b..d5d8f89 100644
--- a/BINF2025_tp6.ipynb
+++ b/BINF2025_tp6.ipynb
@@ -1,338 +1,523 @@
{
- "nbformat": 4,
- "nbformat_minor": 0,
- "metadata": {
- "colab": {
- "provenance": [],
- "authorship_tag": "ABX9TyMlj7yAC/ydT3s7LpoX8Wj2",
- "include_colab_link": true
- },
- "kernelspec": {
- "name": "python3",
- "display_name": "Python 3"
- },
- "language_info": {
- "name": "python"
- }
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "colab_type": "text",
+ "id": "view-in-github"
+ },
+ "source": [
+ "
"
+ ]
},
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "markdown",
- "source": [
- "## BINF TP6 : bases de données métaboliques et rdkit\n",
- "\n",
- "Les bases de données métaboliques stockent des informations sur les composés et réaction chimiques présentes chez différents organismes ainsi que les enzymes associées. rdkit est une bibliothèque de manipulation de composés et réactions chimiques.\n",
- "\n",
- "Installons rdkit :"
- ],
- "metadata": {
- "id": "x3gbtL4QjAil"
- }
- },
- {
- "cell_type": "code",
- "source": [
- "!pip install rdkit"
- ],
- "metadata": {
- "id": "N5fiDGAcmwW1"
- },
- "execution_count": null,
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Exercice 1 : Base de données Kegg et visualisation du cycle TCA\n",
- "\n",
- "[https://www.genome.jp/kegg/](https://www.genome.jp/kegg/)\n",
- "\n",
- "1. Utilisez le module «pathway » de la base de donnes Kegg pour visualiser le cycle de l’acide citrique. Appelé en anglais : TCA cycle, citric acid cycle ou encore Krebs cycle.\n",
- "2. Combien de reactions contient-il ? On s'intéresse uniquement aux réactions du cycle contenant l'acide citrique."
- ],
- "metadata": {
- "id": "qgWmNE_-mun5"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici."
- ],
- "metadata": {
- "id": "xReGWi0G5Euo"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "3. Quels sont les identifiants EC (E.C numbers) associes à chacune de ces réactions."
- ],
- "metadata": {
- "id": "fr0mAXml5Dlv"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici"
- ],
- "metadata": {
- "id": "zzZt_NEm5Jxu"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "4. Pourquoi certains identifiants EC sont-ils en double ?"
- ],
- "metadata": {
- "id": "9Ccrjixj5LI5"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici."
- ],
- "metadata": {
- "id": "H1H4CqSc5OJw"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "5. Qu’observez-vous de plus à propos de ces EC numbers ?"
- ],
- "metadata": {
- "id": "OSXnNhXJ5Q2r"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici."
- ],
- "metadata": {
- "id": "jVgDoP7k5SnX"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "Malheureusement la base de données KEGG ne peut pas être téléchargée gratuitement, nous allons donc changer de base de données."
- ],
- "metadata": {
- "id": "9_YKyLxU5UCx"
- }
- },
- {
- "cell_type": "markdown",
- "source": [
- "## Exercice 2 : Base de données Rhea et visualisation du cycle TCA\n",
- "\n",
- "[https://www.rhea-db.org/](https://www.rhea-db.org/)\n",
- "\n",
- "A L’inverse, la base de données Rhea est téléchargeable, mais elle ne fournit pas de visualisation des voies métaboliques. C’est pour ça que l’on a fait la partie précédente avec KEGG.\n",
- "\n",
- "\n",
- "1. Trouvez les IDs Rhea associés aux EC numbers extraits dans l'exercice précédent. Faites attention à choisir des réactions unidirectionnelles. Si vous avez l’id d’une réaction bidirectionnelle, id+1 et id+2 devraient correspondre aux réactions décomposées dans chaque sens. Faites attention au sens de réaction."
- ],
- "metadata": {
- "id": "Gpbi8aO6kRFl"
- }
- },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "x3gbtL4QjAil"
+ },
+ "source": [
+ "## BINF TP6 : bases de données métaboliques et rdkit\n",
+ "\n",
+ "Les bases de données métaboliques stockent des informations sur les composés et réaction chimiques présentes chez différents organismes ainsi que les enzymes associées. rdkit est une bibliothèque de manipulation de composés et réactions chimiques.\n",
+ "\n",
+ "Installons rdkit :"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "N5fiDGAcmwW1"
+ },
+ "outputs": [
{
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici"
- ],
- "metadata": {
- "id": "HnDqzpRL5qgU"
- }
- },
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Defaulting to user installation because normal site-packages is not writeable\n",
+ "Collecting rdkit\n",
+ " Downloading rdkit-2025.3.2-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (4.0 kB)\n",
+ "Requirement already satisfied: numpy in /home/altaria/.local/lib/python3.10/site-packages (from rdkit) (2.2.3)\n",
+ "Requirement already satisfied: Pillow in /home/altaria/.local/lib/python3.10/site-packages (from rdkit) (11.1.0)\n",
+ "Downloading rdkit-2025.3.2-cp310-cp310-manylinux_2_28_x86_64.whl (35.2 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m35.2/35.2 MB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
+ "Installing collected packages: rdkit\n",
+ "Successfully installed rdkit-2025.3.2\n",
+ "\n",
+ "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m25.0.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m25.1.1\u001b[0m\n",
+ "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3 -m pip install --upgrade pip\u001b[0m\n"
+ ]
+ }
+ ],
+ "source": [
+ "!pip install rdkit"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qgWmNE_-mun5"
+ },
+ "source": [
+ "## Exercice 1 : Base de données Kegg et visualisation du cycle TCA\n",
+ "\n",
+ "[https://www.genome.jp/kegg/](https://www.genome.jp/kegg/)\n",
+ "\n",
+ "1. Utilisez le module «pathway » de la base de donnes Kegg pour visualiser le cycle de l’acide citrique. Appelé en anglais : TCA cycle, citric acid cycle ou encore Krebs cycle.\n",
+ "2. Combien de reactions contient-il ? On s'intéresse uniquement aux réactions du cycle contenant l'acide citrique."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "xReGWi0G5Euo"
+ },
+ "source": [
+ "Le cycle qui contient l'acide citrique contient 21 cycles. 18 sans les doublons. (correction: 9)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "fr0mAXml5Dlv"
+ },
+ "source": [
+ "3. Quels sont les identifiants EC (E.C numbers) associes à chacune de ces réactions."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "zzZt_NEm5Jxu"
+ },
+ "source": [
+ "- 1.1.1.42\n",
+ "- 1.1.1.42\n",
+ "- 1.1.1.41\n",
+ "- 4.2.1.3\n",
+ "- 4.2.1.3\n",
+ "- 2.3.3.1\n",
+ "- 2.3.3.3\n",
+ "- 2.3.3.5\n",
+ "- 1.1.1.37\n",
+ "- 1.1.5.4\n",
+ "- 4.2.1.2\n",
+ "- 1.3.5.1\n",
+ "- 6.2.1.4\n",
+ "- 6.2.1.5\n",
+ "- 2.8.3.18\n",
+ "- 2.3.1.61\n",
+ "- 1.2.4.2\n",
+ "- 1.8.1.4\n",
+ "- 1.2.4.2\n",
+ "- 1.2.7.11\n",
+ "- 1.2.7.3"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "9Ccrjixj5LI5"
+ },
+ "source": [
+ "4. Pourquoi certains identifiants EC sont-ils en double ?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "H1H4CqSc5OJw"
+ },
+ "source": [
+ "Si certains identifiants EC sont en double, cela veut dire qu'il y a plusieurs fois la même réaction dans le cycle TCA. (correction: soit même réaction, soit truc bizarre)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "OSXnNhXJ5Q2r"
+ },
+ "source": [
+ "5. Qu’observez-vous de plus à propos de ces EC numbers ?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "jVgDoP7k5SnX"
+ },
+ "source": [
+ "correction : on peut voir des réactions différentes --> réactions qui appartiennent à 4 familles de réaction différentes (1, 2, 4 et 6)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "9_YKyLxU5UCx"
+ },
+ "source": [
+ "Malheureusement la base de données KEGG ne peut pas être téléchargée gratuitement, nous allons donc changer de base de données."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "Gpbi8aO6kRFl"
+ },
+ "source": [
+ "## Exercice 2 : Base de données Rhea et visualisation du cycle TCA\n",
+ "\n",
+ "[https://www.rhea-db.org/](https://www.rhea-db.org/)\n",
+ "\n",
+ "A L’inverse, la base de données Rhea est téléchargeable, mais elle ne fournit pas de visualisation des voies métaboliques. C’est pour ça que l’on a fait la partie précédente avec KEGG.\n",
+ "\n",
+ "\n",
+ "1. Trouvez les IDs Rhea associés aux EC numbers extraits dans l'exercice précédent. Faites attention à choisir des réactions unidirectionnelles. Si vous avez l’id d’une réaction bidirectionnelle, id+1 et id+2 devraient correspondre aux réactions décomposées dans chaque sens. Faites attention au sens de réaction."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "HnDqzpRL5qgU"
+ },
+ "source": [
+ "- 1.1.1.41 : RHEA:23632\n",
+ "- 1.1.1.42 : RHEA:19629\n",
+ "- 4.2.1.3 : RHEA:10336\n",
+ "- 2.3.3.3 : RHEA:16845\n",
+ "- 2.3.3.1 : RHEA:16845\n",
+ "- 2.3.3.5 : RHEA:23780\n",
+ "- 1.1.1.37 : RHEA:21432\n",
+ "- 1.1.5.4 : RHEA:30095 / RHEA:46012\n",
+ "- 4.2.1.2 : RHEA:12460\n",
+ "- 1.3.5.1 : RHEA:27834 / RHEA:40523 / RHEA:75711 / RHEA:13713\n",
+ "- 6.2.1.4 : RHEA:22120\n",
+ "- 6.2.1.5 : RHEA:17661\n",
+ "- 2.8.3.18 : RHEA:35711\n",
+ "- 2.3.1.61 : RHEA:15213\n",
+ "- 1.2.4.2 : RHEA:12188 \n",
+ "- 1.8.1.4 : RHEA:33059\n",
+ "- 1.2.7.11 : RHEA:42316 \n",
+ "- 1.2.7.3 : RHEA:17297\n",
+ "\n",
+ "correction : 10337, 19630, 12189, 15215, 22122, 77904, 12462, 21433, 16846"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "eanm0mpo5raX"
+ },
+ "source": [
+ "2. Téléchargez Rhea, choisissez le format « rhea-reaction-smiles.tsv ». Quel est ce format ?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "FDpE8Bdq5z6M"
+ },
+ "source": [
+ "Ce format montre des valeurs (ici les SMILES des réactions de Rhea) séparées par des tabulations."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "I8SnIgek50oA"
+ },
+ "source": [
+ "3. Chargez ce fichier via RdKit via \"rdChemReactions.ReactionFromSmarts\" du module rdkit.Chem"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
{
- "cell_type": "markdown",
- "source": [
- "2. Téléchargez Rhea, choisissez le format « rhea-reaction-smiles.tsv ». Quel est ce format ?"
- ],
- "metadata": {
- "id": "eanm0mpo5raX"
- }
- },
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "BINF2025_tp6.ipynb README.md rhea-reaction-smiles.tsv\n"
+ ]
+ }
+ ],
+ "source": [
+ "!ls"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {
+ "id": "guPceFEci_lI"
+ },
+ "outputs": [
{
- "cell_type": "markdown",
- "source": [
- "Votre réponse ici."
- ],
- "metadata": {
- "id": "FDpE8Bdq5z6M"
- }
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 10001 CCCCC(N)=O.[H]O[H]>>CCCCC(=O)[O-].[H][N+]([H])([H])[H]\n",
+ "0 10002 CCCCC(=O)[O-].[H][N+]([H])([H])[H]>>CCCCC(N)=O... \n",
+ "1 10005 S=C=NCC1=CC=CC=C1>>N#CSCC1=CC=CC=C1 \n",
+ "2 10006 N#CSCC1=CC=CC=C1>>S=C=NCC1=CC=CC=C1 \n",
+ "3 10009 *OO.*N[C@@H](CS)C(*)=O.*N[C@@H](CS)C(*)=O>>*N[... \n",
+ "4 10010 *N[C@@H](CSSC[C@H](N*)C(*)=O)C(*)=O.*O.[H]O[H]... \n",
+ "... ... ... \n",
+ "34570 83545 O=C([O-])C1=CC=NC=C1.*N[C@@H](CCCC[NH3+])C(*)=... \n",
+ "34571 83548 C=C(C)C(=O)SCCNC(=O)CCNC(=O)[C@H](O)C(C)(C)COP... \n",
+ "34572 83549 *N[C@@H](CCCCNC(=O)C(=C)C)C(*)=O.CC(C)(COP(=O)... \n",
+ "34573 83552 *N[C@@H](CCCCNC(=O)C(=C)C)C(*)=O.[H]O[H]>>C=C(... \n",
+ "34574 83553 C=C(C)C(=O)[O-].*N[C@@H](CCCC[NH3+])C(*)=O>>*N... \n",
+ "\n",
+ "[34575 rows x 2 columns]\n"
+ ]
},
{
- "cell_type": "markdown",
- "source": [
- "3. Chargez ce fichier via RdKit via \"rdChemReactions.ReactionFromSmarts\" du module rdkit.Chem"
- ],
- "metadata": {
- "id": "I8SnIgek50oA"
- }
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_3032/523443288.py:8: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
+ " rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[0][1])\n"
+ ]
},
{
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "id": "guPceFEci_lI"
- },
- "outputs": [],
- "source": [
- "print(\"Votre code ici !!\")"
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
]
- },
- {
- "cell_type": "markdown",
- "source": [
- "4. Cherchez dans ces réactions celles associées au cycle TCA en vous basant sur l’ID Rhea."
- ],
- "metadata": {
- "id": "qXWJXyzsk-AE"
- }
- },
- {
- "cell_type": "code",
- "source": [
- "print(\"votre code ici !!\")"
- ],
- "metadata": {
- "id": "g0wWVKGwlDFF"
- },
- "execution_count": null,
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "source": [
- "5. Affichez les réactions du cycle TCA, vous pouvez utiliser la fonction display de « IPython.display » sur une réaction, vous devez aussi importer\n",
- "\n",
- "« from rdkit.Chem.Draw import IPythonConsole »"
- ],
- "metadata": {
- "id": "dnysSbI5lF_b"
- }
- },
- {
- "cell_type": "code",
- "source": [
- "print(\"Votre code ici !!\")"
- ],
- "metadata": {
- "id": "JU_LNBUNlG4r"
- },
- "execution_count": null,
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "source": [
- "\n",
- "## Exercice 3 : RdKit\n",
- "\n",
- "1.\tPour se familiariser avec Rdkit et le format MOL nous allons faire un parser de MOL.\n",
- "Ecrire la fonction load_mol(fname: str) -> Chem.Mol qui prend un fichier mol en entrée et retourne la molécule associée au format Mol de RdKit.\n",
- "Utilisez Chem.Mol, Chem.EditableMol, m.AddAtom, m.AddBond"
- ],
- "metadata": {
- "id": "wcQSq6_Xly5B"
- }
- },
- {
- "cell_type": "code",
- "source": [
- "print(\"votre code ici !!\")"
- ],
- "metadata": {
- "id": "566Svv_Ul6ob"
- },
- "execution_count": null,
- "outputs": []
- },
- {
- "cell_type": "markdown",
- "source": [
- "\n",
- "2.\tEcrire la fonction raw_formula(m: Chem.Mol) -> str qui retourne la formule brute de la molécule m.\n",
- "Utilisez GetAtoms sur une molécule pour récupérer les listes des atomes et GetSymbol sur un atome pour récupérer son symbole."
- ],
- "metadata": {
- "id": "4hQPPg09l8ca"
- }
- },
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import rdkit.Chem as rdC\n",
+ "import pandas as pd\n",
+ "\n",
+ "# Load file\n",
+ "df=pd.read_csv('rhea-reaction-smiles.tsv',sep='\\t')\n",
+ "print(df)\n",
+ "#print(df.iloc(0)[0][0])\n",
+ "rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[0][1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "qXWJXyzsk-AE"
+ },
+ "source": [
+ "4. Cherchez dans ces réactions celles associées au cycle TCA en vous basant sur l’ID Rhea."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {
+ "id": "g0wWVKGwlDFF"
+ },
+ "outputs": [
{
- "cell_type": "code",
- "source": [
- "print(\"votre code ici !!\")"
- ],
- "metadata": {
- "id": "Oj_ZEr5RmAVW"
- },
- "execution_count": null,
- "outputs": []
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " 10001 CCCCC(N)=O.[H]O[H]>>CCCCC(=O)[O-].[H][N+]([H])([H])[H]\n",
+ "4435 19630 O=C([O-])C[C@H](C(=O)[O-])[C@@H](O)C(=O)[O-].N... \n"
+ ]
},
{
- "cell_type": "markdown",
- "source": [
- "3.\tRécupérez les smiles et inchi de la molécule \"citrulline\" à partir des bases de données Rhea et pubchem. Puis :\n",
- "\n",
- "* Comparez les Smiles ;\n",
- "* Chargez les molécules dans rdkit via « Chem.MolFromSmiles» et comparez-les ;\n",
- "* Comparez les formules brutes généré par votre fonction précédente ;\n",
- "* Comparez les smiles générés par « Chem.MolToSmiles » ;\n",
- "* Testez la méthode « m.HasSubstructMatch(m2) »."
- ],
- "metadata": {
- "id": "jHu1nW3-mB6f"
- }
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_3032/3095984707.py:3: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
+ " rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[161][1])\n",
+ "/tmp/ipykernel_3032/3095984707.py:4: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
+ " rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[4435][1])\n"
+ ]
},
{
- "cell_type": "code",
- "source": [
- "print(\"votre code ici !!\")"
- ],
- "metadata": {
- "id": "A0Fi03eJmEHa"
- },
- "execution_count": null,
- "outputs": []
- },
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#print(df[df['10001'] == 19630])\n",
+ "#print(df.iloc(0)[161][1])\n",
+ "rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[161][1])\n",
+ "rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[4435][1])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "dnysSbI5lF_b"
+ },
+ "source": [
+ "5. Affichez les réactions du cycle TCA, vous pouvez utiliser la fonction display de « IPython.display » sur une réaction, vous devez aussi importer\n",
+ "\n",
+ "« from rdkit.Chem.Draw import IPythonConsole »"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {
+ "id": "JU_LNBUNlG4r"
+ },
+ "outputs": [
{
- "cell_type": "markdown",
- "source": [
- "4.\tA quelle molécule correspond ce smiles :\n",
- "\n",
- "C[NH2+] [C@H] 1[C@H] (O) [C@@H] (O) [C@H] (CO) O[C@H] 1O[C@H] 1[C@@H] (O[C@@H] (C) [C@] 1(O) CO) O[C@H] 1[C@H] (O) [C@@H] (OP([O- ] ) ([O- ] ) =O) [C@H] (NC(N) =[NH2+] ) [C@@H] (O) [C@@H] 1NC(N) =[NH2+]"
- ],
- "metadata": {
- "id": "-Q49JEHDmFxC"
- }
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_3032/3319746507.py:2: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
+ " display(rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[4435][1]))\n"
+ ]
},
{
- "cell_type": "markdown",
- "source": [
- "votre réponse ici!"
- ],
- "metadata": {
- "id": "BbdL_9JsmHCJ"
- }
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
- ]
-}
\ No newline at end of file
+ ],
+ "source": [
+ "from rdkit.Chem.Draw import IPythonConsole\n",
+ "display(rdC.rdChemReactions.ReactionFromSmarts(df.iloc(0)[4435][1]))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "wcQSq6_Xly5B"
+ },
+ "source": [
+ "\n",
+ "## Exercice 3 : RdKit\n",
+ "\n",
+ "1.\tPour se familiariser avec Rdkit et le format MOL nous allons faire un parser de MOL.\n",
+ "Ecrire la fonction load_mol(fname: str) -> Chem.Mol qui prend un fichier mol en entrée et retourne la molécule associée au format Mol de RdKit.\n",
+ "Utilisez Chem.Mol, Chem.EditableMol, m.AddAtom, m.AddBond"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "566Svv_Ul6ob"
+ },
+ "outputs": [],
+ "source": [
+ "print(\"votre code ici !!\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "4hQPPg09l8ca"
+ },
+ "source": [
+ "\n",
+ "2.\tEcrire la fonction raw_formula(m: Chem.Mol) -> str qui retourne la formule brute de la molécule m.\n",
+ "Utilisez GetAtoms sur une molécule pour récupérer les listes des atomes et GetSymbol sur un atome pour récupérer son symbole."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "Oj_ZEr5RmAVW"
+ },
+ "outputs": [],
+ "source": [
+ "print(\"votre code ici !!\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "jHu1nW3-mB6f"
+ },
+ "source": [
+ "3.\tRécupérez les smiles et inchi de la molécule \"citrulline\" à partir des bases de données Rhea et pubchem. Puis :\n",
+ "\n",
+ "* Comparez les Smiles ;\n",
+ "* Chargez les molécules dans rdkit via « Chem.MolFromSmiles» et comparez-les ;\n",
+ "* Comparez les formules brutes généré par votre fonction précédente ;\n",
+ "* Comparez les smiles générés par « Chem.MolToSmiles » ;\n",
+ "* Testez la méthode « m.HasSubstructMatch(m2) »."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "A0Fi03eJmEHa"
+ },
+ "outputs": [],
+ "source": [
+ "print(\"votre code ici !!\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "-Q49JEHDmFxC"
+ },
+ "source": [
+ "4.\tA quelle molécule correspond ce smiles :\n",
+ "\n",
+ "C[NH2+] [C@H] 1[C@H] (O) [C@@H] (O) [C@H] (CO) O[C@H] 1O[C@H] 1[C@@H] (O[C@@H] (C) [C@] 1(O) CO) O[C@H] 1[C@H] (O) [C@@H] (OP([O- ] ) ([O- ] ) =O) [C@H] (NC(N) =[NH2+] ) [C@@H] (O) [C@@H] 1NC(N) =[NH2+]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "BbdL_9JsmHCJ"
+ },
+ "source": [
+ "votre réponse ici!"
+ ]
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "authorship_tag": "ABX9TyMlj7yAC/ydT3s7LpoX8Wj2",
+ "include_colab_link": true,
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}