Bonjour, j' ai un petit souci comme je suis nouveau en perl:
Voila, tout d'abord j'ai un fichier suivant:
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
 
# Colonne 1: scaffold
#         2: gene id
#         3: start
#         4: dir
#         5: origine gene model
#         6: proteinId
#         7: ex-nom
#         8: coordonnees genomiques
#         9: structure intron/exon
#        10: segments du CDS couvert par EST
C169-scaffold_1	C169v2-00001	3777	-	ORIGINAL JGI	55057	Genemark1.1_g	3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492
C169-scaffold_1	C169v2-00002	12682	-	ORIGINAL JGI	55058	Genemark1.2_g	12682..12691,13195..13445,13694..13711
C169-scaffold_1	C169v2-00003	18095	+	ORIGINAL JGI	31905	fgenesh1_kg.1_#_1_#_4092_1_CBOZ_CBPA	18095..18097,18280..18410,18690..18972
C169-scaffold_1	C169v2-00004	20452	+	ORIGINAL JGI	6968	gw1.1.615.1	20452..20496,20636..20726,20881..21046,21194..21382,21567..21735
C169-scaffold_1	C169v2-00005	21893	-	ORIGINAL JGI	34662	fgenesh1_pm.1_#_3	21893..22051,22201..22293,22590..22747,22864..23102,23192..23364
C169-scaffold_1	C169v2-00006	24500	+	ORIGINAL JGI	38811	fgenesh1_pg.1_#_4	24500..24674,25216..25503,25746..25907,26012..26196,26516..26752,26951..27159,27373..27550,27728..27961,28207..28371,28619..28890,29131..29389
Je voudrais mettre dana sun hash le debut de chaque id, exemple:
pour C169v2-00006 je voudrait dire que le debut cest 24500 et la fin 29389, cest ca mon souci je ne sais pas comment "splite pour avoir ces infos merci
J'ai pense pour que j'ai les deux infos a chaque fois separement de creer deux hashs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
#!/usr/local/bin/perl
 
my %genocoord1 = ();
my %genocoord2 = ();
 
 
open (DESC2, "coco_cds");
while(<DESC2>){
	next if /^\#/;
	chomp;
	 %genocoord1{$id}=$coordonne 1;
         %genocoord2$id}=$coordonne 2;

ensuite, mon second souci j'ai un fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
C169v2-03065	Aster-04711	C169v2-03066	Aster-04710
C169v2-02882	Aster-02471	C169v2-02883	Aster-02472
C169v2-02880	Aster-02469	C169v2-02881	Aster-02470
C169v2-01286	Aster-00794	C169v2-01287	Aster-00793
C169v2-05054	Aster-06211	C169v2-05055	Aster-06212
je voudrais recuperer les chiffres entre les Aster-

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
open my $fh, '<', 'mamoud.txt' or die;
 
while (<$fh>){
	chomp;
	my ($A,$C,$B,$D)=split(/\t/);
	print my ($astC,$astD)=~ m/C169v2-\d+\tAster-(\d+)C169v2-\d+\tAster-(\d+)/;
mon code ne marche pas, est ce que vous pourriez m'aider

Merci d'avance