Bonjour!
Soit le script suivant :
Avec comme entré le fichiers 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
18
19
20
21
22 #!/usr/bin/perl use Bio::Perl; use Bio::Seq; use Bio::SeqIO; require 'function.pl'; #Testing some of function I have created. ##Test of StringToRegex : $primer = "acvgayaaygaratcaaraayywytcg"; #$regex = StringToRegex($primer); #Debug #print $regex; $seqio_obj = Bio::SeqIO->new(-file => "@ARGV[0]", -format => "fasta"); $seq = $seqio_obj -> next_seq; print $seq->seq."\n"; #$seq2 = $seq->seq; #print $seq2."\n"; $index = index($seq->seq, $primer);
Lorsque que je lance le script tel quel, la fonction index(), me renvoie la valeur -1, alors que si je remplace l'argument $primer, par ça valeur, a savoir : "acvgayaaygaratcaaraayywytcg", il me renvoie bien la position 19, qui est exact.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >fasta actgatcatgactgactagacvgayaaygaratcaaraayywytcgatcatagtactgca tgactagctcgctcacgactg
[Ma question est donc, pourquoi lorsque je mets une variable il ne me trouve pas ma sous-chaîne??]<--Résolue
Et surtout, existe t'il une fonction en BioPerl permettant la recherche de motif entré par l'utilisateur?
Merci d'avance.
Mayeu
Edit : Bon je me suis auto résolue. En effet ma fonction StringToRegex avait aussi une variable nommé $primer et du coup cela modifier la mienne. Donc si je commenté la ligne ou j'utilisais ma fonction tout marché niquel (j'ai remarqué juste aprés avoir posté ^^). Donc voila je passe ne passe pas en résolue pour la deuxième question .
Partager