Bonjour à tous,
Je suis en train d'essayer de faire une petite interface graphique avec Perl donc vous trouverez le code ci dessous(qui fonctionne mais qui ne fait rien !).
Les 2 fichiers (que je ne passe pas en argument) sont :
gene_trans_max_cx.txt
nanos.fasta
Code : Sélectionner tout - Visualiser dans une fenêtre à part FBgn0002962 FBtr0083732
Je souhaite que quand l'utilisateur entre le nom du gène dans Entry (dans l'exemple FBgn0002962), cela m'affiche la séquence quand j'appuie sur "Sequence". Mais je ne vois pas comment faire .... quelqu'un pourrait m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36>FBgn0002962;FBtr0083732;nos-RA;2349 TTAGTTGGCGCGTAGCTTTACCACAAAATTCCTGGAATTGCCGTACGCTT CGCAGTTGTTTCAAGTTGTCTAAGGGACATACGATTTTTTTTGCCTCTGC GTCACGATTTTAACCCAAAAGCGAGTTTAGTTACATGTACATTATTATTA GATAAAGAAGTATCGCGAATACTTCAGTTGAATAAACTGTGCTTGGTTTT TGGGTGAGGATTTGTGGAAAGTAGAGTGCGCGATAACCGTAACTTTCGAC CCGGATTTTCGCCATGTTCCGCAGCAACTTGGAGGGCAGTGGCGCAGCAG CAGTAGGTGTTGCAAATCCCCCCTCGTTGGCTCAGTCTGGAAAGATTTTC CAATTGCAGGATAACTTTTCTGCTTTTCACGCCAGAGGAGGGCTCAACAT TCTGGGCCTGCAGGACATGTATTTGGATACCAGTGGGGCCAACTCGTCGG CCACTTTGAGTCCGCCCATTACGCCGGTGACCCCTGACCCGTCGACGTCT GCGCAGTCGACGCACTTCCCTTTTCTGGCCGACAGCGCAGCCACCGCCAA TTCGCTCCTTATGCAGCGACAGTACCACTACCACTTGCTGCTCCAGCAGC AGCAGCAACTGGCCATGGCGCAGCACCAATTGGCGCTGGCTGCATCAGCG GCAGCGGCTAGTGCGAGTCACCAGCAAACGGACGAGATTGCGCGATCCTT GAAAATCTTTGCGCAGGTGACGACGGGCGCAGCAGAAAATGCGGCTGGCT CGATGCAGGATGTGATGCAGGAGTTCGCGACCAATGGCTATGCCAGCGAT GATCTCGGTCGCATGTCCTACGGGAGTGCTCCGCCACAGGTGCAAATGCC ACCGCAGCAGCAGCATCAGCAACAGCAGGGGCTGCACCTGCCACTGGGCC GCAATCCTGCCCAGCTGCAGACCAATGGCGGCAACTTAATGCCCATTCCA CTCGCCACCCACTGGCTGAACAACTACCGGGAGCATCTGAACAACGTGTG GCGAAACATGTCGTATATACCAGCCGCTCCCAATACAATGGGTTTGCAGG CCCAAACAGCGGCCACTGTGTCCACCAATCTCGGCGTGGGAATGGGTCTG GGATTGCCCGTGCAGGGCGAACAGCTGCGCGGAGCTTCCAATTCCAGTAA CAATAATAACAACAACAACAAGGTGTACAAGCGTTACAACAGCAAGGCCA AAGAGATCAGCCGCCACTGCGTCTTTTGTGAGAATAACAACGAACCAGAG GCGGTTATCAATAGCCACTCAGTGCGAGATAACTTTAACCGAGTGCTGTG CCCCAAACTACGCACCTACGTGTGCCCCATCTGCGGGGCATCTGGGGACT CGGCGCACACGATTAAGTACTGCCCCAAGAAGCCGATCATCACCATGGAG GATGCGATCAAGGCGGAATCGTTCCGCCTAGCCAAGAGCAGTTACTACAA GCAACAGATGAAGGTTTAGAGAGGGCGAATCCAGCTCTGGAGCAGAGGCT CTGGCAGCTTTTGCAGCGTTTATATAACATGAAATATATATACGCATTCC GATCAAAGCTGGGTTAACCAGATAGATAGATAGTAACGTTTAAATAGCGC CTGGCGCGTTCGATTTTAAAGAGATTTAGAGCGTTATCCCGTGCCTATAG ATCTTATAGTATAGACAACGAACGATCACTCAAATCCAAGTCAATAATTC AAGAATTTATGTCTGTTTCTGTGAAAGGGAAACTAATTTTGTTAAAGAAG
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 #!/usr/bin/perl use strict; use warnings; use Tk; use Tk::EntryCheck; use Bio::SeqIO; # sequence des transcripts my $fasta_file ='nanos.fasta'; my $value; my $in = Bio::SeqIO->new( -file => $fasta_file, '-format' => 'Fasta' ); open(my $trans_cx, "<", "gene_trans_max_cx.txt") ; my $FBgn_entry; my(%hash_cx,%hash_sequence); # creation d'un hash avec FBgn => FBtr associé de façon a trouver le transcript du gène en entrée while(<$trans_cx>){ chomp; my($FBgn_cx,$FBtr_cx)=split /\t/,$_; $hash_cx{$FBgn_cx}->{'transcript'}=$FBtr_cx; } # creation d'un hash avec id transcript > sequence while ( my $seq = $in->next_seq()){ my $id = $seq->primary_id ; my($FBgn,$FBtr,$name,$length)=split /;/,$id; my $sequence = $seq->seq ; $hash_sequence{$FBtr}->{'sequence'} =$sequence; } my $fenetre_principale = MainWindow->new( -title => 'Tk::EntryCheck' ); $fenetre_principale->Label( -text => 'Gene (FBgn) : ')->pack(); my $entry = $fenetre_principale->Entry( -background => 'white', -textvariable => \$FBgn_entry, )->pack(); # sequence du transcript $fenetre_principale->Button( -text => 'Sequence', # que faire quand on appuie sur Afficher -command => sub { print "$hash_cx{$FBgn_entry}->{'transcript'}\n"; }, )->pack(); my $mycanvas = $fenetre_principale->Scrolled('Canvas', -scrollbars=>'oe', )->pack(); my $widget_texte = $fenetre_principale->Scrolled('Text', -scrollbars => 'oe', -setgrid=>'single', )->pack(); $widget_texte->tagConfigure('ROUGE', -foreground => 'red', -font => 'arial', ); $widget_texte->tagConfigure('YELLOW', -foreground => 'BLACK', -font => 'FontSequence', -underline => 1, ); $widget_texte->tagConfigure('bold', -font => "helvetica 10 bold" ); MainLoop;
Partager