Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Bioinformatique
Bioinformatique Toutes vos questions sur les scripts Perl associés à la bioinformatique, modules bioperl, projets bioinformatiques, etc ... Avant de poster, veuillez consulter les cours Perl et les critiques de livres.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/05/2012, 11h03   #1
maniabrahim
Invité de passage
 
Homme
BioInformatique
Inscription : mai 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : BioInformatique
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : mai 2012
Messages : 3
Points : 0
Points : 0
Par défaut BioPerl et Primer3

Bonjour,
Lorsque je lance Primer3 depuis le BioPerl en utilisant les deux namespaces:

use Bio::Tools::Run:: Primer3;
use Bio::Tools:: Primer3;


J'obtiens le message d'erreur suivant:

can't locate object method new via package "Bio::Tools::Run::Primer3"
(perhaps you forgot to load "Bio::Tools::Run::Primer3"? )


Avez vous une idée sur ce message d'erreur?
maniabrahim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2012, 11h56   #2
Quantactique
Membre du Club
 
Homme
Étudiant
Inscription : avril 2012
Messages : 58
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2012
Messages : 58
Points : 56
Points : 56
Le message d'erreur paraît assez clair, il ne trouve "new" dans ton package et t'informe que tu as peut être oublié de le charger.

C'est normal qu'il y ait des espaces avant "Primer3" dans ton use ?

Supprime les pour voir, je n'ai jamais vu d'espaces dans l'appel de package personnellement...
Quantactique est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2012, 12h21   #3
maniabrahim
Invité de passage
 
Homme
BioInformatique
Inscription : mai 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : BioInformatique
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : mai 2012
Messages : 3
Points : 0
Points : 0
Comme je suis nouveau dans ce forum, j'ai mis expret de l'espace pour éviter qu'un smileys n'apparaisse, je n'ai pas fait attention a l'option pour désactivé les smileys, en fait dans mon code les pakages sont bien écrits sauf ce que je pense que les deux pm dont je fait appel sont obsolètes maitenant ou bien mal formés. merci pour ton intervention

Citation:
Envoyé par Quantactique Voir le message
Le message d'erreur paraît assez clair, il ne trouve "new" dans ton package et t'informe que tu as peut être oublié de le charger.

C'est normal qu'il y ait des espaces avant "Primer3" dans ton use ?

Supprime les pour voir, je n'ai jamais vu d'espaces dans l'appel de package personnellement...
maniabrahim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2012, 14h19   #4
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 487
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 487
Points : 31 592
Points : 31 592
Peux-t-on voir votre programme ?
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2012, 15h49   #5
maniabrahim
Invité de passage
 
Homme
BioInformatique
Inscription : mai 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : BioInformatique
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : mai 2012
Messages : 3
Points : 0
Points : 0
Le voila,
Code :
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
 
use strict;
use Getopt::Long;
use Bio::Tools::Run::Primer3;
use Bio::SeqIO;
use Bio::DB::GenBank;
 
my		$acc='DQ022571';
my		$gb = Bio::DB::GenBank->new();
my        $seq= $gb->get_Seq_by_acc($acc);
 
	my $primer3 = Bio::Tools::Run::Primer3->new(-seq => $seq);
	$primer3->program_name('primer3_core') unless $primer3->executable;
 
	$primer3->add_targets('PRIMER_MIN_TM' => 56, 'PRIMER_MAX_TM' => 90);
 
	my $results = $primer3->run;
 
	unless ($results->number_of_results) {
		print "No results for ",$seq->display_id;
		next;
	}
 
	my @out_keys_part = qw(START
								    LENGTH
								    TM
									 GC_PERCENT
									 SELF_ANY
									 SELF_END
									 SEQUENCE );
 
	print "\n", $seq->display_id, "\n";
 
	for (my $i = 0 ; $i < $results->number_of_results ; $i++){
		my $result = $results->primer_results($i);
 
		print "\n", $i + 1;	
		for my $key qw(PRIMER_LEFT PRIMER_RIGHT){	
			my ($start, $length) = split /,/, $result->{$key};
			$result->{$key . "_START"} = $start;
			$result->{$key . "_LENGTH"} = $length;
			foreach my $partkey (@out_keys_part) {
				print "\t", $result->{$key . "_" . $partkey};
			} 
			print "\n";
		}
		print "\tPRODUCT SIZE: ", $result->{'PRIMER_PRODUCT_SIZE'}, ", PAIR ANY COMPL: ",
		  $result->{'PRIMER_PAIR_COMPL_ANY'};
		print ", PAIR 3\' COMPL: ", $result->{'PRIMER_PAIR_COMPL_END'}, "\n";
	}
 
 
sub usage {
   exec('perldoc',$0);
   exit(0);
}
 
__END__
Citation:
Envoyé par djibril Voir le message
Peux-t-on voir votre programme ?
maniabrahim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2012, 09h30   #6
Jasmine80
Membre Expert
 
Avatar de Jasmine80
 
Jasmine
Inscription : octobre 2006
Messages : 2 924
Détails du profil
Informations personnelles :
Nom : Jasmine
Âge : 33
Localisation : Belgique

Informations forums :
Inscription : octobre 2006
Messages : 2 924
Points : 2 145
Points : 2 145
Coucou,

Chez moi, ce code bug, mais je n'ai pas cette erreur de chargement. Ca vient peut-être du path?

As-tu installé Primer sur ton PC? Où lui signales-tu son emplacement (-path )? ... tu utilises -program_name à la place.

Une ligne de ce genre :
Code :
1
2
3
4
 
  my $primer3 = Bio::Tools::Run::Primer3->new(-seq => $seq,
                                              -outfile => "temp.out",
                                              -path => "/usr/bin/primer3_core");

Autre question si tu enlèves tout le code et ne laisse que :
Code :
1
2
3
4
5
use strict;
use Getopt::Long;
use Bio::Tools::Run::Primer3;
use Bio::SeqIO;
use Bio::DB::GenBank;
as-tu encore la même erreur?
__________________
-- Jasmine --

Merci de poser les questions dans le forum, je ne répondrai pas aux MP.
Jasmine80 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h44.


 
 
 
 
Partenaires

Hébergement Web