Bonjour,
je dois traiter de très gros fichiers de séquences, ~ 2go. Fichiers issus de séquençage.
Je veux compter le nombre de A,T,C,G,N pour chaque cycle, c'est à dire à chaque position, (exemple 36) et cela pour chaque tile (100 tiles en tout). Je prend en compte le fait qu'il puisse y avoir jusqu'à 8 fichiers.
voilà un extrait de mon code :
Le résultat est ok mais je voudrais que ce soit plus rapide (~25 min pour l'instant pour un fichier). Donc y aurai t'il un moyen d'améliorer l'algo ou tester avec un autre langage ou autre chose.
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 my %nbycycle; while(<ENTREE>){ my @ligne = split /\t/, $_; my @sequence = split //, $ligne[8]; my $i=1; foreach my $seq (@sequence){ $nbycycle{$ligne[2]}{$ligne[3]}{$i}{$seq}++; #{fichier}{tile}{cycle}{base} $i++; } }
Merci.
Partager