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 15/04/2012, 22h52   #1
hajarita
Candidat au titre de Membre du Club
 
Femme
Étudiant
Inscription : janvier 2012
Messages : 49
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant
Secteur : Services à domicile

Informations forums :
Inscription : janvier 2012
Messages : 49
Points : 12
Points : 12
Par défaut Ajouter des lignes dans un fichier GenBank

Bonjour Je veux ajouter les lignes
DEFINITION et
VERSION
dans un fichier genbank
J`ai trouve cela sur internet:


Code :
1
2
3
4
5
my $comment = Bio::Annotation::Comment->new;
$comment->text("This looks like a good TATA box");
my $coll = new Bio::Annotation::Collection;
$coll->add_Annotation('comment',$comment);
$objet_seq2->annotation($coll);
Mais c`est pour ajouter la ligne :COMMENT
Quelqu`un a une idee s`il vous plait
Merci d`avance
hajarita est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2012, 11h49   #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
Si tu remplace par Version ça fonctionne pas ?

Je sais que pour récupérer la version et la description il faut faire :

Code :
1
2
my $version = $objet->version();
my $desc = $objet->desc();
Code :
1
2
3
4
5
my $version = Bio::Annotation::Version->new;
$version->text("Regarde bien comment est formée la ligne VERSION dans ces fichiers");
my $coll = new Bio::Annotation::Collection;
$coll->add_Annotation('version',$version);
$objet_seq2->annotation($coll);
J'ai jamais essayé ce genre de choses donc je promet rien. Sinon si tu veux modifier un fichier tu peux utiliser le module :
Tie::File
Il lie le fichier à un tableau et tout ce que tu fait sur le tableau se fait dans le fichier.

Je te met un exemple d'utilisation :
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
 
#!/usr/bin/perl
 
use strict;
use warnings;
use Tie::File;
 
my @tab;
 
#Initialisation du tableau (1 ligne du fichier = 1 colonne du tableau)
tie @tab, 'Tie::File', 'fichier.txt' or die "\nErreur $!\n";
 
shift(@tab);
#Supprime le premier élément du tableau => la première ligne du fichier
 
unshift('toto', @tab); 
#Ajoute un élément au début du tableau => en première ligne du fichier
 
reverse(@tab)
#Assez explicite...
 
splice (@tab, début, nb, 'element a inserer facultatif');
#Enlève nb éléments du tableau à partir de l'indice début => supprime les lignes
On peut éventuellement remplacer les éléments supprimés :
splice(@tab, 1,1, ('a l indice1','a l indice2'));
#On a supprimé à partir de la case d'indice 1 et sur 1 de long (juste la case $tab[1] bref). 
#On a ensuite rajouté 2 éléments à l'indice 1 et à l'indice 2 (on a décalé tout le tableau)
 
pop(@tab); 
#Supprimer à la fin du tableau => fin de fichier
 
push(@tab, $val); 
#Ajouter a la fin du tableau => fin de fichier
 
untie @tab; #Fin du traitement de fichier grâce au tie
Je n'ai jamais utilisé le splice de façon très complexe mais il me semble que tu devrais t'en sortir avec. Entre "tie" et "untie" tout ce que tu feras subir à @tab se répercuteras sur le fichier.

Je me suis un peu servit tu Tie::File personnellement donc si tu veux je t'envoie le script que j'ai fait pour mes test, il est assez simple mais ça pourrais t'aider.

Dit moi et je t'envoie si tu le veux.
Quantactique 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 15h38.


 
 
 
 
Partenaires

Hébergement Web