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 14/05/2011, 10h14   #1
Invité de passage
 
karim mezhoud
Enseignant Chercheur
Inscription : février 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : karim mezhoud
Localisation : Tunisie

Informations professionnelles :
Activité : Enseignant Chercheur
Secteur : Service public

Informations forums :
Inscription : février 2011
Messages : 4
Points : 1
Points : 1
Par défaut cancaténation des informations d'une même protéine trouvées dans de bases de données différentes uniproKB-HPDR

Bonjour,
Il m'arrive souvent de vouloir assembler des informations sur les mêmes protéines contenues dans deux fichiers différents. Par exemple le premier fichier contient pour la protéine X1 sa séquence et son identitée et le second contient pour la même protéine X1 sa fonction et localisation intracellulaire.

Comment peut on cancaténer les informations sachant qu'on connait ce qui est en commun pour la même protéine entre les deux fichiers?

Dans ce cas c'est la ligne des accessions (AC). Il y a certainement un code (P31946) en commun. Tout ce que je veux c'est mettre les accessions du fichier2 de chaque protéine à la place des accessions du fichier 1.
(Voir fichier attaché)

voici un début
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
 
#!/usr/bin/perl
 
use strict; #ça fait joli de travailler en strict :p
use warnings;
 
#le module qui va nous faciliter la vie
#à installer si ce n'est pas fait : sudo perl -MCPAN -e 'install List::Compare'
use List::Compare;
 
#on ouvre le premier fichier en une liste
open (M, "fichier2") or die ('je ne trouve pas le fichier listemotifs');
my @fichier2 = <M>;
chomp(@fichier2);
close M;
 
#print join (" : ", @fichier2);
 
#de même pour le second fichier
open (L, "fichier1") or die ('je ne trouve pas le fichier lignes');
my @fichier1 = ();
 
while(my $fichier=<L>){ #on va procéder ligne par ligne
	my @fichier1 = split('\s',$ligne);  #split sur deux selon \s "space"
	push(@fichier1, @fichier1); #construction du tableau
	chomp(@fichier1); #supression des retours de chariot.
	#print join (" : ", @fichier1);
}
close L; 
 
#on commence la comparaison
y $com = List::Compare->new( {
        lists    => [\@listemotifs, \@lignes],
        unsorted => 1, #pour ne pas changer l'ordre
    } );
 
#ceux qui sont dans les deux listes :
my @trouve = $com->get_intersection;
 
#ceux qui sont dans la première liste uniquement:
my @nontrouve = $com->get_unique;
......
Merci pour votre temps.
Fichiers attachés
Type de fichier : pdf cancateration.pdf (57,5 Ko, 5 affichages)
kmezhoud 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 13h26.


 
 
 
 
Partenaires

Hébergement Web