From 12b71e8731ac843ae0af3aea440d0f42f3273730 Mon Sep 17 00:00:00 2001
From: Clara Moreno <clara.moreno.etu@univ-lille.fr>
Date: Tue, 1 Apr 2025 23:03:07 +0200
Subject: [PATCH] Liens fonctionne car xref = cog donc
 https://www.ncbi.nlm.nih.gov/research/cog/cog/... Renvoie dans l'html la
 liste mais pas le liens directement. Donc quelques modifications a faire.
 J'ai mis d'autres liens au cas ou on a un GFF qui a besoin de lien NCBI,
 Uniprot ou Ensembl.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Ps : J'ai réussie a installé Busco, je l'avais deja fait j'ai repris l'ancien terminal. mais le code fonctionne pas vraiment. Pour tester les liens il faut mettre en commentaire les parties sur Busco
---
 code dynamic | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/code dynamic b/code dynamic
index b900253..3748cd9 100644
--- a/code dynamic	
+++ b/code dynamic	
@@ -47,22 +47,23 @@ def fusions_stat(count, avg):
     return combined_df
 
 
-#LIEN : marche pas il faut completer 
 def liens(feature):
-    base_urls = {
-        "gene": "https://www.ncbi.nlm.nih.gov/gene/",
-        "mRNA": "https://www.ncbi.nlm.nih.gov/nuccore/",
-        "CDS": "https://www.ncbi.nlm.nih.gov/protein/",
-        "exon": "https://www.ncbi.nlm.nih.gov/nuccore/",
-        "ncRNA": "https://www.ncbi.nlm.nih.gov/nuccore/",
-        "rRNA": "https://www.ncbi.nlm.nih.gov/nuccore/",
-        "tRNA": "https://www.ncbi.nlm.nih.gov/nuccore/"
-    }
-    if feature.featuretype in base_urls:
-        identifier = feature.attributes.get("ID", feature.attributes.get("db_xref", [None]))[0]
-        if identifier:
-            return f'<a href="{base_urls[feature.featuretype]}{identifier}" target="_blank">{identifier}</a>'
-        return "N/A"
+    if 'db_xref' in feature.attributes:
+        db_xrefs = feature.attributes['db_xref']
+        liens = {}
+        for xref in db_xrefs:
+            db_name, db_id = xref.split(':')
+            if db_name == "NCBI":
+                liens['NCBI'] = f"https://www.ncbi.nlm.nih.gov/{db_name}/{db_id}"
+            elif db_name == "UniProt":
+                liens['UniProt'] = f"https://www.uniprot.org/uniprot/{db_id}" #pas testé 
+            elif db_name == "Ensembl":
+                liens['Ensembl'] = f"https://www.ensembl.org/id/{db_id}" #pas testé
+            elif db_name == "COG":
+                liens['COG'] = f"https://www.ncbi.nlm.nih.gov/research/cog/cog/{db_id}" 
+        return liens
+    else:
+        return "NA"
 
 def graphe(stats, output_plot):
     """
-- 
GitLab