Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^2: Print entire line

by pabla23 (Novice)
on Nov 06, 2014 at 11:27 UTC ( [id://1106354]=note: print w/replies, xml ) Need Help??


in reply to Re: Print entire line
in thread Print entire line

Ok, there is a tab between post-trau/DOID/APOE/FKBP5, they are on the same line

post-traumatic stress disorder DOID:2055 APOE FKBP5 CRH IL2 SLC6A3 MAOB DBH IL8

My input is "DOID:2055" and my output should be:

APOE

FKBP5

CRH

IL2

and the other genes. Sorry for my explanation now is clear? Thanks Paola

Replies are listed 'Best First'.
Re^3: Print entire line
by Loops (Curate) on Nov 06, 2014 at 11:44 UTC

    ok,

    my $filename = '/Users/Pabli/Desktop/do_human_mapping.gmt'; my $match = 'DOID:2055'; open(my $file, '<', $filename) or die "open: $!"; while (<$file>){ my ($name,$id,@genes) = split /\t/; print join("\n",@genes) if $id eq $match; }

    The answer to your question then, is to use the assignment idiom above, to name the first two fields, and then use an array to slurp up all the genes that follow on the line. Because the name and id never get lumped into the @genes array, you don't have to go through contortions when it comes time to print.

      Thanks so so so much!!! It works!!!!!!

      Paola

      Sorry and if i want for example to search all the genes associated to different "DOID". My file is:

      parasitic helminthiasis infectious disease DOID:883 IL4 IL5

      female reproductive organ cancer DOID:120 BARD1 MAN1B1 SLC12A7 AMHR2 IL4 SLC12A6 SLC12A4

      My input is "IL4" and i want:

      DOID:883

      DOID:120

      I have to compare string? Thank a lot Paola

        It's essentially the same program, with a different comparison:

        my $filename = '/Users/Pabli/Desktop/do_human_mapping.gmt'; my $match = 'IL4'; open(my $file, '<', $filename) or die "open: $!"; while (<$file>){ my ($name,$id,@genes) = split /\t/; print $id,$/ if grep/^$match$/, @genes; }

        Happy to help, but the hope is that you're working towards being able to construct these lil programs for yourself!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1106354]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-29 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found