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 :

aide d urgence svp


Sujet :

Bioinformatique Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut aide d urgence svp
    salut,
    j ai une list de Accession Numbers, comme ca:
    IPI654437
    IPI998672
    IPI453535
    ....
    ce que je veux c es un programm qui verifie si ils sont vraiment dans le IPI-Human FÁSTA file, ce fasta file il es comme ca:
    >IPI:IPI654437.1|gi|8768767 chromatin hsp
    AAAFFDGGTRUZZZ(la sequence koi)....
    >IPI:IPIXXXXX.1|.....etc
    , et si oui copier moi ceci avec tous ce qui lui appartient
    dans le genre >IPI:IPI... dans un nouvea FASTA file
    ca serai super les mecs.
    thx

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Nous ne sommes pas là pour faire ton script à ta place.
    Les forumeurs ne sont pas là à ton service, mais juste pour t'aider. Alors bouge toi les pouces et les méninges. Propose un code propre et on essayera de t'aider si nécessaire.
    voilà

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut voile le code
    ok ok , sorry,
    bon voile le code que j ai ;
    use Bio::SeqIO;

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    my $acc_file = "C:/Dokumente und Einstellungen/outaleb/Desktop/Perl/Peptide.txt";
    my $fasta_file_in = "C:/Dokumente und Einstellungen/outaleb/Desktop/Perl/FASTA1.fasta";
    my $fasta_file_out = "C:/Dokumente und Einstellungen/outaleb/Desktop/Perl/FASTA3.fasta";
     
    # Use a hash to keep a record of accessions we want to find
    my %hash_of_req_acc;
     
    # read all the required accessions from the file into the hash as keys
    open (ACC_FILE, $acc_file) or die "Couldn't open file: $!\n";
    while (<ACC_FILE>) {
      my $line = $_;
      chomp $line;
      $hash_of_req_acc{$_} = 1;
    }
    #my $key;
    #foreach $key ( keys %hash_of_req_acc){
    #print $key." = ".$hash_of_req_acc{$key}."\n" ;
    #}
     
    close ACC_FILE;
     
    my $seqio_object_in = Bio::SeqIO->new(
      -file => $fasta_file_in,
      -format => 'fasta'
    );
    my $seqio_object_out = Bio::SeqIO->new(
      -file => $fasta_file_out,
      -format => 'fasta'
    );
     
    # loop through all the sequences in the fasta file
    while (my $seq_object = $seqio_object_in->next_seq) {
      # get the sequence accession for easy matching
      my $seq_acc = $seq_object->accession_number;
     
      # write the sequence object to the output fasta file if we have a
    #matching accession
      $seqio_object_out->write_seq($seq_object) if exists
    $hash_of_req_acc{$seq_acc};
    }
    le problem qu il trouve rien et iapparai pas d erreur; mais il donne rien meme si les nummero y sont dans le fasta file que j ai.
    le fasta file es comme ca: sont des centaines

    >IPI:IPI00453473.1|REFSEQ_XP:XP_168060 Tax_Id=9606 similar to NOD3 protein
    DDHHHU...
    >IPI:IPI00177321.1|REFSEQ_XP:XP_168060 Tax_Id=9606 similar to NOD3 protein
    DDHHHU..
    >IPI:IPI00027547.1|REFSEQ_XP:XP_168060 Tax_Id=9606 similar to NOD3 protein
    MMMMM..

    et lesAccnumero dont je cherche sont comme ca:
    IPI00177321
    IPI00453473

    ce que je veux qu il verifie qu il sont la et les copier a un nouveau fasta file avec ses description et sequences.
    merci et desoler pour tt

  4. #4
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Fais quelques print() des données importantes pour vérifier si elles correspondent bien à tes attentes. Le script a l'air correct, mais il y a sans doute un petit problème avec les données.

    --
    Jedaï

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut comment faire??
    le problem c es que j arrive pas a restricter le AccNum, je veux dire les Numerro que j ai dans la list et ceux dans le fasta file, si je donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ( my $seq_obj = $in->next_seq() ) {
     
    my $test = $seq_obj->display_id(),"\n";
    #si j utilise accession_number ca donne rien la trouve po:-(
    print $test,"\n";
    }
    ca donne
    IPI:IPI004534739.1|REFSEQ_XP:XP_168060 Tax_Id=9606
    IPI:IPI00177321.1|REFSEQ_XP:XP_168060 Tax_Id=9606
    IPI:IPI00027547.1|REFSEQ_XP:XP_168060 Tax_Id=9606

    et c ca le problem, il fau une nouvelle definition pour le Acession_number function peut etre?? a l aideeeeeeeee
    si non la sequence il la donne juste

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

    Informations professionnelles :
    Activité : Bio informaticien

    Informations forums :
    Inscription : Août 2005
    Messages : 637
    Points : 1 050
    Points
    1 050
    Par défaut
    la c'est juste un problème d'expressions régulières ...

    regarde donc l'opérateur =~
    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
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut comment faire ??
    merci mais ca maide pas beaucoup ca;
    je pense qu on peut le faire avec id_parser() methode;
    mais comment????
    aller les experts aider moi svp;
    thx for all.

Discussions similaires

  1. Aide d'urgence SVP
    Par zghidi dans le forum Oracle
    Réponses: 7
    Dernier message: 12/05/2007, 15h00
  2. Aide en XML svp
    Par crashyear dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 11/01/2006, 16h18
  3. Réponses: 4
    Dernier message: 29/08/2005, 09h57

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