Mercurial > repos > ucsb-phylogenetics > osiris_phylogenetics
view phyloconversion/gb2phytab.pl @ 0:5b9a38ec4a39 draft default tip
First commit of old repositories
author | osiris_phylogenetics <ucsb_phylogenetics@lifesci.ucsb.edu> |
---|---|
date | Tue, 11 Mar 2014 12:19:13 -0700 |
parents | |
children |
line wrap: on
line source
#!/usr/bin/perl -w use strict; use Bio::SeqIO; my $datafile = $ARGV[0]; my $outfile = $ARGV[1]; open FILE, ">$outfile" or die "Cannot Write File\n"; my $seqio_object = Bio::SeqIO->new(-file => $datafile,'-format' => 'genbank'); while(my $seq_object = $seqio_object->next_seq){ my $organism = $seq_object->species->binomial(); $organism =~ s/ /_/g; my $accession = $seq_object->id; for my $feat_object ($seq_object->get_SeqFeatures) { if ($feat_object->primary_tag eq "CDS") { my $sequence = $feat_object->spliced_seq->seq; if ($feat_object->has_tag('gene')) { for my $name ($feat_object->get_tag_values('product')){ $name =~ s/ /_/g; print FILE $organism."\t".$name."\t".$accession."\t".$sequence."\n"; } } }elsif ($feat_object->primary_tag eq "misc_RNA") { my $sequence = $feat_object->spliced_seq->seq; if ($feat_object->has_tag('product')) { for my $name ($feat_object->get_tag_values('product')){ $name =~ s/ /_/g; print FILE $organism."\t".$name."\t".$accession."\t".$sequence."\n"; } } } } } close FILE;