Bonjour à tous!

Je travaille sur un projet de visualisation de pathway biochimique. J'ai découvert la fonction biograph qui me semble correspondre à mes attentes. Celle-ci permet via une matrice et des identifiants de visualiser une cascade biochimique.

Cet outil de visualisation a pour but dans un premier temps de pouvoir visualiser le pathway et en double cliquant sur le nom d'un gène ou d'un élément de visualiser un certain nombre d'infos. Et c'est là que le bât blesse...

J'ai compris qu'on pouvait affecter des callbacks sur les noeuds (node) du graph. Ce callback peut appeler une fonction de mon choix. Jusqu'à présent ça va encore. Mon problème est que j'aimerais beaucoup pouvoir récupérer une info du node double-cliquer. Simplement son ID. J'ai réussi après plusieurs test à récupérer le node complet (je crois... je l'ai copié dans un variable a et laisser l'affichage et j'ai eu comme affichage: "a = [1x1 biograph.node]") Pourtant dès que j'essaie d'accèder à a.ID j'ai une erreur me disant que "Attempt to reference field of non-structure array."...

Est-ce possible de récupérer l'ID du node clique ou non ? Si oui comment ?

Je colle ci-dessous mes deux codes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
HXK1Fasta = fastaread('HXK1.txt');
PGI1Fasta = fastaread('PGI1.txt');
GlycolysisGene = struct('name','HXK1','header',HXK1Fasta.Header,'sequence', HXK1Fasta.Sequence);
GlycolysisGene(2)= struct('name','PGI1','header',PGI1Fasta.Header,'sequence', PGI1Fasta.Sequence);
GlycolysisCompound = struct('name','glucose','cofactor','ATP');
GlycolysisCompound(2) = struct('name','glucose-6-P','cofactor','none');
GlycolysisCompound(3) = struct('name','fructose-6-P','cofactor','ATP');
 
id = {GlycolysisCompound(1).name;GlycolysisGene(1).name;GlycolysisCompound(2).name;GlycolysisGene(2).name;GlycolysisCompound(3).name};
matrice =[0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1; 0 0 0 0 0];
bg = biograph(matrice, id,'NodeCallback', @(id)test(id));
h = view(bg);

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
function[]= test(varargin)
a = varargin
b = a.ID
Merci d'avance de votre aide.