Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: how to merge the files of DNA sequences?

by wfsp (Abbot)
on Jul 24, 2004 at 08:58 UTC ( #377110=note: print w/replies, xml ) Need Help??

in reply to how to merge the files of DNA sequences?

This is what I came up with:
#!/bin/perl5 use strict; use warnings; @ARGV = qw( file1.txt file2.txt ); my $name; my %hash; while (<>){ chomp; my $record = $_; if ( $record =~ /^>/ ){ $name = $record; next; } else{ $hash{$name} .= $record } } for my $key ( keys %hash ){ print "$key\n$hash{$key}\n" }
Updated: Use hash instead of a hashref

Replies are listed 'Best First'.
little golf
by ccn (Vicar) on Jul 24, 2004 at 10:34 UTC

    perl -lne '/^>(.*)/ or$H{$1}.=$_;END{print for map{">$_\n$H{$_}"}keys%H}' file1.txt file2.txt

      Ok, ok I'm impressed! I'm still at the 'baby idiom' stage.

      ...and anyway, I like typing!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://377110]
[Corion]: Hi marto!
[Corion]: Oooh - finally, I can say no lazy; :)
[Corion]: But it's another The::Net incarnation, too sad ;)
[Corion]: WTF? There is a dev release of Danga::Socket?! I thought that module died a long time ago?! According to its changes, the last release was in 2008 ;)
[Corion]: (and Brad Fitzpatrick long since moved on to Go ;) )
[Corion]: But who am I to worry about necrocpan - I'm revisiting my online banking module, and also I'll somewhat revive WWW::Mechanize:: Firefox, at least if the test suite passes under the Waterfox browser ...
[Corion]: Maybe I should look through my CPAN releases and revisit them in order of last release and think about what to do with the modules :)

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (10)
As of 2018-07-17 08:15 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (359 votes). Check out past polls.