[Bio] / FigKernelScripts / get_rna_features_for_calling_genes.pl Repository:
ViewVC logotype

View of /FigKernelScripts/get_rna_features_for_calling_genes.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Sat Apr 11 15:17:01 2009 UTC (10 years, 10 months ago) by overbeek
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, myrast_rel40, mgrast_dev_05262011, mgrast_dev_04082011, rast_rel_2010_0928, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2009_0925, rast_rel_2010_0526, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, rast_rel_2010_0118, rast_rel_2011_0119, mgrast_release_3_0_4, mgrast_release_3_0_2, mgrast_release_3_0_3, mgrast_release_3_0_1, mgrast_dev_03312011, mgrast_release_3_1_2, mgrast_release_3_1_1, mgrast_release_3_1_0, mgrast_dev_04132011, mgrast_dev_04012011, rast_rel_2009_07_09, rast_rel_2010_0827, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
Changes since 1.1: +5 -2 lines
get rid of proteins

use strict;
use FIG;
use FIGV;
use Data::Dumper;

my $usage = "usage: get_rna_features_for_calling_genes GenomeFile EvidenceD";
my($genomesF,$evidenceD);

(
 ($genomesF   = shift @ARGV) && 
 ($evidenceD  = shift @ARGV) 
)
    || die $usage;

(-d $evidenceD) || mkdir($evidenceD,0777) || die "could not make $evidenceD";

my @genomes    = map { $_ =~ /^(\d+\.\d+)\s+(\S+)\s*$/; [$1,$2] } `cat $genomesF`;

foreach my $tuple (@genomes)
{
    my($genome,$genomeD) = @$tuple;
    my $fig = new FIGV($genomeD);
    my $rnas = &get_rnas($genome,$genomeD,$fig);

    open(EV,">>$evidenceD/$genome")
	|| die "could not open $evidenceD/$genome";
    foreach my $rna (sort { &FIG::by_fig_id($a,$b) } keys(%$rnas))
    {
	my $loc = $fig->feature_location($rna);
	my $instance = ["rna","$genome:$loc",1000,{function => "$rnas->{$rna}"}];
	print EV join("\t",("rna","$genome:$loc",1000,"function","$rnas->{$rna}")),"\n";
    }
    close(EV);
}

sub get_rnas {
    my($genome,$genomeD,$fig) = @_;

    my %rnas;
    foreach my $rna ($fig->all_features($genome,"rna"))
    {
	my $func = $fig->function_of($rna);
	if ($func && ($func =~ /(SSU|LSU|trna|rrna|16S|23S|5S)/i) &&
	    ($func !~ /protein/i))

	{
	    $rnas{$rna} = $func;
	}
    }
    foreach $_ (`cat $genomeD/Features/rna/tbl`)
    {
	chomp;
	my($rna,undef,$func) = split(/\t/,$_);
	if (($func =~ /(SSU|LSU|trna|rrna|16S|23S|5S|ribosomal)/i) &&
	    ($func !~ /protein/i))
	{
	    $rnas{$rna} = $func;
	}
    }
    return \%rnas;
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3