FAQ PerlConsultez toutes les FAQ
Nombre d'auteurs : 18, nombre de questions : 250, dernière mise à jour : 29 octobre 2015 Ajouter une question
Bienvenue sur la FAQ Perl. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions élémentaires de ce fantastique langage. Perl est très utilisé dans différents domaines depuis la gestion système, le réseaux, l'administration de bases de données, le web (CGI), la bureautique, la conception d'interfaces graphiques ou des contextes scientifiques telle la bioinformatique. Nous espérons que cette FAQ vous sera d'une grande utilité.
Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez
Bonne lecture !
Si vous souhaitez :
- participer à l'amélioration des codes en bioinformatique de cette source ;
- de soumettre des corrections ou toutes idées, d'amélioration ;
- de contribuer.
N'hésitez pas, faites vos propositions ici. Commentez
Le but est de récupérer les identifiants et leur séquence une à une de façon simple et rapide grâce au module Bio::SeqIO. Fichier d'entrées :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | >A1 GATACCAGCATCGTACGTCGTACGTACGTAGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT >A2 TACCACCCGATCTCGCATCGTCATGTGCGGGATCATTATGCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT >B1 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGATAGATCTGACT >B2 GATACCAGCCACTTCTGACGATCGATCGATATTATAAAAGGATCATTATGCCACATTCTGATCgTGGACCTGCATTATAGATCTGCCCTT >C1 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT >C2 GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT |
Code perl : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!/usr/bin/perl use strict; use warnings; use Bio::SeqIO; # fichier d'entrée my $in = Bio::SeqIO->new( -file => "test.txt", '-format' => 'Fasta' ); # fichier de sortie my $out = Bio::SeqIO->new( -file => ">exit.fas", '-format' => 'Fasta' ); # récupération des séquences while ( my $seq = $in->next_seq() ) { my $id = $seq->primary_id; my $sequence = $seq->seq; # écriture dans le fichier de sortie $out->write_seq($seq); } |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >A1 GATACCAGCATCGTACGTCGTACGTACGTAGGGATCATTATGCCACATTCTGATCTTGGA CCTGCATTATAGATCTGACTT >A2 TACCACCCGATCTCGCATCGTCATGTGCGGGATCATTATGCACATTCTGATCTTGGACCT GCATTATAGATCTGACTT >B1 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGATAGATCTGACT >B2 GATACCAGCCACTTCTGACGATCGATCGATATTATAAAAGGATCATTATGCCACATTCTG ATCgTGGACCTGCATTATAGATCTGCCCTT >C1 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT >C2 GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT |
Le module Bio::AlignIO permet de récupérer et d'analyser les séquences une à une en gardant les positions des gaps. On peut donc aussi récupérer un bloc de sous-séquences en gardant leur alignement, mais également obtenir la séquence consensuelle de cet alignement.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | >A1/1-60 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT . >A2/1-57 ..TACCAGCGGGATCATTATGC.ACATTCTGATCTTGGACCTGCATTATAGATCTGACTT . >B1/1-55 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTG....ATAGATCTGACT. . >C1/1-60 GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT . >C2/1-60 GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT . >B2/1-61 GATACCAGCCGGATCATTATGCCACATTCTGATCGTGGACCTGCATTATAGATCTGCCCT T |
Code perl : | Sélectionner tout |
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 | #!/usr/bin/perl use strict; use warnings; use Bio::AlignIO; # fichier d'entrée my $inputfilename = 'file.fsa'; my $in = Bio::AlignIO->new( -file => $inputfilename, '-format' => 'fasta' ); my $aln = $in->next_aln(); # recherche de la séquence consensus à 50% print "sequence consensus à 50%\n"; print $aln->consensus_string(50), "\n\n"; # manipulation de séquences alignées foreach my $seq ( $aln->each_seq ) { # récupération de sous-séquences my $res = $seq->subseq( 10, 45 ); print $res, "\n"; } |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | sequence consensus à 50% GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT? GGGATCATTATGCCACATTCTGATCTTGGACCTGCA GGGATCATTATGC.ACATTCTGATCTTGGACCTGCA GGGATCATTATGCCACATTCTGATCTTGGACCTG.. GGGATCATTATGCCACATTCTGATCTTGGACCTGCA GGGATCCTTATGCCACATTCTGATCTTGGACCTGCA CGGATCATTATGCCACATTCTGATCGTGGACCTGCA |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.