
aec
New User
Feb 19, 2010, 4:08 AM
Post #1 of 3
(418 views)
|
Hi, I have an input like this: gene1 pos1 description1 gene2 pos2 description2a gene2 pos2 description2b gene2 pos2 description2c gene3 pos3 description3 gene4 pos4 description4a gene4 pos4 description4b and I would like an output like this: gene1 pos1 description1 gene2 pos2 description2a, description2b, description2c gene3 pos3 description3 gene4 pos4 description4a, description4b can anybody help me with the code? #! /usr/local/bin/perl use warnings; use strict; #program to print one gene per line with all the ontologies my @aoa=0; my $input= "genes"; open (FILE,'<', $input) or die "can not open $input file"; while (my $line=<FILE>){ my @array =split (/\t/, $line); push (@aoa,[@array]); my $i; for ($i=1,$i<$#aoa,$i++){ if ($aoa[$i][0] eq $aoa[$i+1][0]){ push (@{$aoa[$i]}, $aoa[$i+1][2]); } else{ print "@{$aoa[$i]}\n"; } } }
(This post was edited by aec on Feb 19, 2010, 8:09 AM)
|