Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 08h16   #1
Membre confirmé
 
Avatar de abysse
 
Inscription : mai 2008
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 208
Points : 244
Points : 244
Par défaut Récupérer les titres des publications NCBI

Bonjour,
J'ai un script fourni par un ami qui permet de récupérer le titres des publications dans NCBI selon un mot clé.

Il me permet de connaitre les publications ayant par exemple réaliser un inventaires moléculaires de plus de 50 séquences.

Le problème avec ce script c'est qu'il ne fonctionne pas, pouvez vous m'aider ?

Voici le script :

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
59
60
61
62
63
64
65
66
67
68
69
70
use Bio::DB::GenBank;
    $gb = Bio::DB::GenBank->new();
	my @lsttitre = ();
	my @lstnbx = ();
	my $newtitre = true;
	$nb = 0;
	$cpteur = 0;
       my $query = Bio::DB::Query::GenBank->new
      #  (-query   =>'compost',
		(-query   =>'bacteria[ORGN] AND compost*[WORD]',
         -db      => 'nucleotide');
    my $seqio = $gb->get_Stream_by_query($query);
 
    while( my $seq =  $seqio->next_seq )
		{
		  # print "seq length is ", $seq->length,"\n";
		  #$nb = $nb + 1;
 
		  #print "seq: ", $seq->desc(),"\n";
		  #print "seq: ", $seq->seq(),"\n";
		  #print "seq: ", $seq->TITL(),"\n";
		  my $ann      = $seq->annotation(); # annotation object
			foreach my $ref ( $ann->get_Annotations('reference') ) 
			{
				$nb = 0;
				$newtitre = 1;
					# Boucle qui parcourt la liste jusqu'à sa fin.
				while( $nb < ($#lsttitre + 1) )
				{
				#print("Recherche " + "\n");
					if (@lsttitre[$nb] eq $ref->title)
					{
					#print(@lsttitre[$nb], " Occ ", $ref->title, "\n");
					@lstnbx[$nb] ++;
					$newtitre --;
					#print(" Occ ", "\n");
 
					}
					else
					{
						# Ne RIEN FAIRE !!!
					}
				$nb = $nb + 1;
				}
 
					# Nouvelle occurence
				if ($newtitre == 1)
				{
				push(@lsttitre, $ref->title); 
				push(@lstnbx, 1); 
				#print(" New_OCC ", "\n");
				}
			}
		}
	print "\n";
	print "nombre de titres est ", $#lsttitre + 1, "\n";
	print "nombre d'occurences est ", $#lstnbx + 1, "\n";
 
	$nbc = 0;
	while( $nbc < ($#lsttitre + 1) )
	{
		if (@lstnbx[$nbc] > 49)
		{
			print "Titre #", $nbc,": ", @lsttitre[$nbc], "\n", "                              (", @lstnbx[$nbc], " sequences)", "\n", "\n";
			$cpteur = $cpteur + 1;
		}
		$nbc = $nbc + 1;
	}
 
	print "nombre de titres avec 50 seq. et + : ", $cpteur, "\n";
Merci
config ActivePerl5.12.3
abysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 12h41   #2
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 9 349
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 9 349
Points : 13 728
Points : 13 728
Citation:
Envoyé par abysse Voir le message
Le problème avec ce script c'est qu'il ne fonctionne pas, pouvez vous m'aider ?
Informatiquement, ça ne veut rien dire !! doit-on deviner ce qui ne fonctionne pas ?
__________________
Pensez toujours aux cours, FAQ Perl et la fonction recherchez!!!!!!!!
Lisez les règles du forum Perl.

Aucun problème par MP, merci de poster vos questions dans les sous forums dédiés et rendez vos codes sources lisibles
djibril est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 13h47   #3
Membre confirmé
 
Avatar de abysse
 
Inscription : mai 2008
Messages : 208
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 208
Points : 244
Points : 244
Ok désolé
je veux dire que quand je lance la commande dans dos (perl info.pl)

Le curseur clignote mais aucune réponse au début je me suis dis, c'est normal il cherche mais je l'ai laissé tourné une nuit pour voir et au bout du compte il ne s'est rien passé.

C'est plus clair ?
Je débute avec bioperl

Merci
abysse est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h09.


 
 
 
 
Partenaires

Hébergement Web