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 :

Elaboration d'un BLAST Local


Sujet :

Bioinformatique Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut Elaboration d'un BLAST Local
    Bonjour à tous,

    je suis sur un projet bio-informatique depuis quelques semaines, le but étant de blaster 82.000.000 de reads sur un megatranscriptome de 200.000 références. Jusqu'à présent, je faisais un Regex Match (on prend un read, on boucle 200.000X pour toutes les références et ainsi de suite), mais il s'avère qu'il me fait un read / secondes. Autant dire que le résultat est ridicule compte tenu de la masse d'informations à traiter.

    Donc je suis en pleine réflexion pour effectuer de nouvelles approches, notamment l'implémentation d'une regex global travaillant directement sur tout le fichier (sans la perte de temps du bouclage), la gestion du multithreading ou tout simplement un nouvel algorithme d'arbre pour le match. Mais j'aimerais éviter de perdre trop de temps.

    A moins que vous connaissiez une meilleur méthode, je reste ouvert à d'autres solutions.

    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Euh, j'ai une certaine expérience sur les questions des performances en Perl (et dans d'autres langages), mais, n'étant pas versé dans la bio-informatique, "blaster 82 millions de reads sur un megatranscriptome de 200.000 références", je ne sais pas du tout ce que ça veut dire. Mais peut-être que si tu montres ton code et expliques ce qu'il cherche à faire, j'aurais des idées à te suggérer.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut
    Bonsoir,

    ça tombe bien, car je recherche vraiment de bonnes performances pour aboutir à des temps d'exécution acceptables.

    Il me semble que tu avais participé à un autre sujet me concernant sur le forum général de Perl, c'est dans la continuité en fait. On doit prendre les 82.000.000 de micros séquences (reads) une par une, on ne conserve que les offsets ou ça match une seule fois sur chaque macros séquences du megatranscriptome. Ce n'est que de la comparaison de chaînes de caractères.

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Oui, mais pour que j'ai une chance de pouvoir t'aider, il faudrait que tu montres ton code, ou du moins la partie de ton code que tu cherches à optimiser. Perso, je ne sais pas comment on détermine une micro séquence ou une macro séquence dans une chaîne d'ADN (enfin, je suppose que c'est de l'ADN dont tu parles). De même l'offset, je suppose que c'est une distance (nombre de nucléotides) par rapport à quelque chose, mais je ne sais pas par rapport à quoi (le début de la chaîne? le début d'une séquence ?).

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut
    Oublions la biologie. Si on raisonne purement informatique:

    $a = "aaa";
    $b = "atcaaatcgatcacfa";

    ça peut matcher dès le début, en plein milieu, ou à la fin. ça n'a pas d'importance. On compte uniquement le nombre de match. Si match = 1, on conserve les offsets ou $a match sur $b, soit [3;6] dans l'exemple ci-dessus. Rien de bien compliqué en somme, mais il y a 80 millions de micro chaines de caractère à matcher sur 300.000 de macros chaines. Et la forcément, les performances ne suivent pas avec mon algo actuel. voir ici: http://pastebin.com/yXFp2qj9

  6. #6
    Membre émérite Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    Août 2005
    Messages
    637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Par défaut
    as-tu essayé d'utiliser bowtie ?

Discussions similaires

  1. Réponses: 10
    Dernier message: 18/06/2009, 15h00
  2. BLast en local
    Par selson dans le forum Bioinformatique
    Réponses: 3
    Dernier message: 22/03/2009, 12h16
  3. Problème avec Blast sur serveur Apache local
    Par jobim08 dans le forum Apache
    Réponses: 6
    Dernier message: 20/02/2009, 10h19
  4. problem blast local sur serveur
    Par jobim08 dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 18/02/2009, 17h02
  5. problème Blast local sur serveur RedHat
    Par jobim08 dans le forum Administration système
    Réponses: 0
    Dernier message: 18/02/2009, 17h01

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