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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2019
    Messages : 5
    Points : 2
    Points
    2

    Par défaut Blast local en script Perl

    Bonjour, j'ai effectué un script en perl permettant de récupérer les régions spécifiques d'une souche bactérienne. Cependant je dois vérifier si les séquences sont vraiment spécifiques en faisant un blast de celle ci contre ma base de donnée.
    Mon problème et que lors de mon Blast une fois qu'il trouve une correspondance il l'applique jusqu'à la fin voici la partie Blast de mon code :


    Pièce jointe 465818
    Voici ce qu'il se passe sur mon fichier de sortie :
    Pièce jointe 465815
    On peut voir que dès qu'il y a une correspondance il l 'applique pour les résultats suivant . J'ai vérifier à la main pour la séquence spécifique 28 il n'y a normalement pas de correspondance.
    Mon fichier £ARGV[3] contient toutes les séquences spécifique que j'ai récupéré au format fasta elles sont les unes à la suite des autres

    Merci de votre réponse.

  2. #2
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    août 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : août 2005
    Messages : 635
    Points : 1 047
    Points
    1 047

    Par défaut

    il manque la partie boucle dans ton script, mais cela ressemble à une variable non remise à 0 pour les nouveaux tests.
    Peux-tu mettre un peu plus de détails sur comment tu gères tes variables ?
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2019
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Oui effectivement voici la partie boucle , mon Blast se trouve dans un foreach car avant j'ai récupéré des positions depuis un fichier.


    Nom : codee.png
Affichages : 27
Taille : 103,4 Ko


    J'ai essayer de remettre ma variable $blast à 0 en faisant $blast = undef ou $blast="" mais rien ne change au premier match il fais la même chose jusqu'a la fin du fichier. Le $ARGV[3] correspond au fichier en écriture OUT.

  4. #4
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    août 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : août 2005
    Messages : 635
    Points : 1 047
    Points
    1 047

    Par défaut

    pour un formatage fasta plus facile, regarde du côté du module Bio::SeqIO, ça peut aider

    Ensuite où et quand gères-tu l'ouverture/fermeture de ton fichier OUT où tu mets tes séquence spécifiques ? Il semble que tu blastes à chaque fois toutes tes séquences, d'où le retour du même résultat

    ps : utilise la balise code pour poster ton script, le formatage de ton image rend la lecture délicate, et tes premières pièces jointes ont disparu
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2019
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Ah oui mince j'y penserai pour la prochaine fois =)

    J'ouvre mon fichier OUT au début de mon script mais j'avais oublié de le close effectivement . Et oui c'est vrai qu'a chaque fois je Blast tout le fichier OUT donc toutes les séquences spécifiques qui sont dedans .Mon fichier OUT est disposé de la façon suivante :
    >seq spécifique 1 ( Tout est au format fasta 60)
    ATGCGTCTGATGCTGACG
    >seq spécifique 2
    ATGCGTGAGCGTGAGCGGTGRGGTGTGCACTG
    >seq spécifique 3
    etc.....


    Il faudrait donc que je Blast séquence par séquence mon fichier OUT non? Comment faire cela ?

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

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : août 2005
    Messages : 635
    Points : 1 047
    Points
    1 047

    Par défaut

    tu peux soit tout blaster en une fois, ensuite tu parses ton fichier blast, soit tu crées un fichier temporaire par séquence (ou tu passes ta séquence directement à blast, en enlevant l'option -i, cf la doc blast) comme ça tu ne parses que ta séquence.
    la première option ne fait qu'un seul blast, mais la 2è correspond plus à ce que tu as essayé de faire. à toi de voir !
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2019
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Merci de tes réponses oui la deuxième solution est exactement ce que je cherche, donc si j'ai bien compris j'enlève l'option -i et je la remplace par ma variable qui contient ma séquence ?
    Quand j'effectue cela j'obtiens une erreur de BLAST car les options doivent commencer par un tiret . Je regarde dans la doc BLAST et je ne trouve pas d'option permettant de donner a BLAST ma séquence query en tant que variable ...

    J' ai écrit cela : blastall -p blastn -d $ARGV[2] $spe -e 0.1 -m 8

  8. #8
    Membre éprouvé Avatar de Gardyen
    Homme Profil pro
    Bio informaticien
    Inscrit en
    août 2005
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : août 2005
    Messages : 635
    Points : 1 047
    Points
    1 047

    Par défaut

    apparemment il faut passer ta commande via stdin de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo -e "$spe" | blastall -n blastn -d MyDb
    Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro.
    Plus les choses changent, plus elles restent les mêmes

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 19
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2019
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Merci beaucoup ça a marché =)

Discussions similaires

  1. Réponses: 9
    Dernier message: 25/10/2005, 14h23
  2. [langage] Script Perl Aide
    Par julfra dans le forum Langage
    Réponses: 7
    Dernier message: 17/05/2004, 09h55
  3. [langage] script perl cmd system
    Par kacedda dans le forum Langage
    Réponses: 4
    Dernier message: 02/05/2003, 09h45
  4. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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