Bonjour!

Soit le script 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);
Avec comme entré le fichiers suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
>fasta
actgatcatgactgactagacvgayaaygaratcaaraayywytcgatcatagtactgca
tgactagctcgctcacgactg
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.

[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 .