IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bioinformatique Perl Discussion :

Calcul distance genomique/proteique


Sujet :

Bioinformatique Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut Calcul distance genomique/proteique
    Bonjour,
    Je suis nouveau en perl car je fais plus de python, mais la je voulais faire un programme de calcul nucleotidique en perl car on m'a dit que ce serait plus simple:
    Voila mon soucis:
    J'ai un fichier blast:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    C169v2-00001	Aster-03513	64	112	1192	1246	
    C169v2-00002	Aster-03154	2	83	172	264	
    C169v2-00003	Aster-06252	74	116	57	96	
    C169v2-00004	Aster-05984	1	218	24	243
    Les deux premiers colonne representent mes deux proteines et les 4 autres les positions, exemple C169v2-00001 64 112 et pour Aster-03513 1192 1246
    je voudrais a partir des coordonnees genomiques qui sont dans un fichier cds faire la cocordance avec les coordonnees ci dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    # Colonne 1: scaffold
    #         2: gene id
    #         3: start
    #         4: dir
    #         5: origine gene model
    #         6: proteinId
    #         7: ex-nom
    #         8: coordonnees genomiques
    #         9: structure intron/exon
    #        10: segments du CDS couvert par EST
    C169-scaffold_1	C169v2-00001	3777	-	ORIGINAL JGI	55057	Genemark1.1_g	3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492
    C169-scaffold_1	C169v2-00002	12682	-	ORIGINAL JGI	55058	Genemark1.2_g	12682..12691,13195..13445,13694..13711
    C169-scaffold_1	C169v2-00003	18095	+	ORIGINAL JGI	31905	fgenesh1_kg.1_#_1_#_4092_1_CBOZ_CBPA	18095..18097,18280..18410,18690..18972
    C169-scaffold_1	C169v2-00004	20452	+	ORIGINAL JGI	6968	gw1.1.615.1	20452..20496,20636..20726,20881..21046,21194..21382,21567..21735
    par exemple restons sur les proteines CV

    Voila l'algorithme que j'ai pense:
    Si je prends le premier C169v2-00001 3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492
    Je dois remplir une table C169v2-00001table=(37777,3778,....22362)
    ceci est la meme chose que si je dis d'apres ce que j'ai lu en perl @table=(3777..3857,3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492)

    Ensuite je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i=0;i<@tailletable;i+3)
             aa++;
    Bon je resume car la je suis pas bon en perl:
    si j'ai coco1 10..39,100..129
    je dois remplir une table aa--> codon:
    1->10
    2->13
    .
    .
    .
    arrive a 11->39 il y a la virgule(qui correspond a un intron)
    12->112(100+12)

    a la fin je dois partir au premier fichier et faire la concordance coco1 10->1,129->19 par exple

    Est ce que quelqu' un a une idee d'algorithme car la je suis perdu en perl
    Le souci c'est que j'ai fait le programme en python mais j'ai un calcul du dico qui marche pas , donc on m'a dit qu'en perl ca serait plus simple.
    Merci

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    ... ai-je bien compris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C169v2-00001	Aster-03513	64	112	1192	1246
    blast => donc tu sais que C169v2-00001 du 64ième AA au 112ième s'apparie avec Aster-03513 du 1192ième au 1246ième?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C169-scaffold_1	C169v2-00001	3777	-	ORIGINAL JGI	55057	Genemark1.1_g	3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492
    fichier cds => tu as la séquence en nucléotides et tu sais que ta protéine correspond à la traduction des nucléotides : 3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492

    tu veux donc récupérer la séquence cDNA correspondant à ta protéine de la position du 64ième AA au112ième AA?

    est-ce bien cela?

  3. #3
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    voici le tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #!/usr/local/bin/perl
     
     
    use strict;
    use warnings;
     
     
    my @nucleotides_tab = (3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492);
     
    # AA tous les 3 nucléotides
    # AA 1 : 3777
    # AA 2 : 3780
    # il faut donc prendre une valeur sur 3 
     
     
    my $pos  = 1;
    for (my  $i = 0; $i <= $#nucleotides_tab; $i+=3){
     
    	# affichage des positions des AA
    	print 'AA'.$pos.' => '.$nucleotides_tab[$i]."\n";
    	$pos++;
    }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 133
    Par défaut
    Bonjour,
    oui en fait cest ca, ensuite je dois dire que
    C169v2-00001 64->4154 112->4548

    car enn fait je dois pas afficher print 'AA'.$pos.' => '.$nucleotides_tab[$i]."\n";

    merci je vais d'abord essayer de comprendre comment on fait pour recuperer les valeurs dans un fichier perl pour que j'automatise les systeme merci pour le debut

  5. #5
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    #!/usr/local/bin/perl
     
     
    use strict;
    use warnings;
     
     
    my @nucleotides_tab = (3777..3857,4046..4192,4443..4561,4940..5234,5406..5540,5734..5847,6009..6098,6421..6492);
     
    # AA tous les 3 nucléotides
    # AA 1 : 3777
    # AA 2 : 3780
    # il faut donc prendre une valeur sur 3 stokée dans AA_tab
     
    my @AA_tab;
     
    for (my  $i = 0; $i <= $#nucleotides_tab; $i+=3){
     
    	push (@AA_tab, $nucleotides_tab[$i]);
    }
     
     
    # comme on commence avec l'indice 0, décalage d'un indice
    # AA 64 : indice 63
     
     
    my $start = 64;
    my $end = 112;
     
    print $start." => ".$AA_tab[$start-1]."\n";
    print $end." => ".$AA_tab[$end-1]."\n"

  6. #6
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    il y a certainement de faire un plus beau code en perl ... mais je ne sais pas comment, il faut attendre l'avis d'autres personnes. Tant que ça marche, c'est le principal mais si on peut l'améliorer tant mieux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calcul distance dans une grille hexagonale
    Par r0d dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 20/02/2013, 11h03
  2. Calcul distance genomique/proteique
    Par shadow19c dans le forum Général Python
    Réponses: 0
    Dernier message: 07/03/2011, 10h55
  3. calcul distance dans une image
    Par pro-naw dans le forum Images
    Réponses: 16
    Dernier message: 07/08/2009, 02h25
  4. calcul distance mahalanobis
    Par leFeu dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 30/12/2007, 09h39
  5. calcul distance entre deux villes
    Par alexfrei04 dans le forum Access
    Réponses: 2
    Dernier message: 08/01/2007, 21h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo