From: kirovs <ki...@us...> - 2005-12-29 19:56:11
|
Update of /cvsroot/cogs/AESIG In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18247 Added Files: graph_to_seq.pl Log Message: visualize sequences for a graph --- NEW FILE: graph_to_seq.pl --- use Bio::SeqIO; my $sf=shift; my $gf=shift; my $win=shift; open (GF,$gf)||die; my $seqio=new Bio::SeqIO(-file=>$sf,-format=>'fasta'); my %seqs; while (my $seq=$seqio->next_seq) { $seqs{$seq->id}=$seq; my $ps=$seq->translate; $pss{$seq->id}=$ps; } my $head=<GF>; while (my $buf=<GF>) { chomp $buf; my ($s1,$s2,$v)=split(/[\s\t]/,$buf); my ($id1,$p1)=split(/_/,$s1); $p1++; my ($id2,$p2)=split(/_/,$s2); $p2++; my $c1=int($p1/3); my $cm1=$p1%3; my $c11=$c1+3; $c1++ if ($c1==0); my $codon1=$pss{$id1}->subseq($c1,$c11); my ($id2,$p2)=split(/_/,$s2); my $c2=int($p2/3); my $cm2=$p2%3; my $c21=$c2+3; $c2++ if ($c2==0); my $codon2=$pss{$id2}->subseq($c2,$c21); my $sseq1=$seqs{$id1}->trunc($p1,$p1+$win-1); my $psseq1=$sseq1->translate; print $psseq1->seq,' ',$seqs{$id1}->subseq($p1,$p1+$win-1)," $p1 "; print "$codon1 $cm1\t\t"; my $sseq2=$seqs{$id2}->trunc($p2,$p2+$win-1); my $psseq2=$sseq2->translate; print $psseq2->seq,' ',$seqs{$id2}->subseq($p2,$p2+$win-1)," $p2",$v; print " $codon2 $cm2\n"; } |