Quite a unique case.
If your data is no very huge I would suggest, you just first keep on
reading all data into a huge has ( key as the animal value as the data)
and then just print out the hash into files
like ( writing pseudo code is easier if written in perl :-) )
my @files = qw(file1 file2 file3);
$/="\n" . '>'; #this way you could read one record at a time
my %alldata=();
foreach $f(@files) {
open(IN,$f) || die " Couldnt open file";
while(<IN>){
my ($animal) = /^(.*?)\n/;
$alldata{$animal} .="$_\n\n";
}
close IN;
}
###### %alldata has all the data
On Mon, 2004-05-17 at 05:20, Michael S. Robeson II wrote:
> Hi all,
>
> I am having trouble with combining data from several files, and I can't
> even figure out how to get started. So, I am NOT asking for any code
> (though pseudo-code is ok) as I would like to try figuring this problem
> out myself. So, if anyone can give me any references or hints that
> would be great.
>
> So, here is what I am trying to do:
>
> I have say 2 files (I'd like to do this to as many files as the user
> needs):
>
> ***FILE 1***
> >cat
> atacta--gat--acgt-
> ac-ac-ggttta-ca--
>
> >dog
> atgcgtatgc-atcgat-ac--ac-a-ac-a-cac
>
> >mouse
> acagctagc-atgca--
> ----acgtatgctacg--atg-
> ***end file 1***
>
>
> ***FILE 2***
>
> >mouse
> aatctgatcgc-atgca--
> ----acgtaaggctagg-
>
> >cat
> atacta--gat--acgt-
> ac-acacagcta--ca--
>
> >dog
> atgcgtatgc-atcgat
> -ac--ac-a-ac-a-cac
> ***end file 2***
>
> Basically, I would like to concatenate the sequence of each
> corresponding animal so that the various input files would be out put
> to a file like so:
>
> ***output***
> >cat
> atacta--gat--acgt-ac-ac-ggttta-ca--atacta--gat--acgt-ac-acacagcta--ca--
>
> >dog
> atgcgtatgc-atcgat-ac--ac-a-ac-a-cacatgcgtatgc-atcgat-ac--ac-a-ac-a-cac
>
> >mouse
> acagctagc-atgca------acgtatgctacg--atg-aatctgatcgc-atgca------
> acgtaaggctagg-
> ***output end***
>
> Notice that in the two files the data are not in the same order. So, I
> am trying to figure out how to have the script figure out what the
> first organism is in FILE 1( say "cat" in this case) and find the
> corresponding "cat" in the other input files. Then take the sequence
> data (all the cat data) from FILE 2 and concatenate it to the cat
> sequence data in FILE 1 to an output file. Then it should go on to the
> next organism in FILE 1 and search for that next organism in the other
> files (in this case FILE 2). I do not care about the order of the data,
> only that the "like" data is concatenated together.
>
> Again, I do NOT want this solved for me (unless I am totally lost).
> Otherwise, I'll never learn. I would just like either hints /
> suggestions / pseudo code / even links to books or sites that discuss
> this particular topic. Meanwhile, I am eagerly awaiting my "PERL
> Cookbook" and I'll keep searching the web.
>
> -Thanks!
> -Mike
>
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>