[Bio] / FigKernelPackages / ClosestGenomes.pm Repository:
ViewVC logotype

View of /FigKernelPackages/ClosestGenomes.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Tue Sep 4 19:49:40 2007 UTC (12 years, 3 months ago) by overbeek
Branch: MAIN
CVS Tags: mgrast_dev_08112011, rast_rel_2009_05_18, mgrast_dev_08022011, rast_rel_2014_0912, rast_rel_2008_06_18, myrast_rel40, rast_rel_2008_06_16, mgrast_dev_05262011, rast_rel_2008_12_18, mgrast_dev_04082011, rast_rel_2008_07_21, rast_rel_2010_0928, rast_2008_0924, mgrast_version_3_2, mgrast_dev_12152011, rast_rel_2008_04_23, mgrast_dev_06072011, rast_rel_2008_09_30, 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, mgrast_rel_2008_0924, mgrast_rel_2008_1110_v2, rast_rel_2009_02_05, rast_rel_2011_0119, mgrast_rel_2008_0625, 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, rast_rel_2008_10_09, mgrast_dev_04012011, rast_release_2008_09_29, mgrast_rel_2008_0806, mgrast_rel_2008_0923, mgrast_rel_2008_0919, rast_rel_2009_07_09, rast_rel_2010_0827, mgrast_rel_2008_1110, myrast_33, rast_rel_2011_0928, rast_rel_2008_09_29, mgrast_rel_2008_0917, rast_rel_2008_10_29, mgrast_dev_04052011, mgrast_dev_02222011, rast_rel_2009_03_26, mgrast_dev_10262011, rast_rel_2008_11_24, rast_rel_2008_08_07, HEAD
Changes since 1.1: +3 -3 lines
fix AliTrees.pm to fail gracefully

# -*- perl -*-
########################################################################
# Copyright (c) 2003-2006 University of Chicago and Fellowship
# for Interpretations of Genomes. All Rights Reserved.
#
# This file is part of the SEED Toolkit.
#
# The SEED Toolkit is free software. You can redistribute
# it and/or modify it under the terms of the SEED Toolkit
# Public License.
#
# You should have received a copy of the SEED Toolkit Public License
# along with this program; if not write to the University of Chicago
# at info@ci.uchicago.edu or the Fellowship for Interpretation of
# Genomes at veronika@thefig.info or download a copy from
# http://www.theseed.org/LICENSE.TXT.
########################################################################

package ClosestGenomes;

use strict;
use Data::Dumper;
use Carp;

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

    my @univ = (
		"Phenylalanyl-tRNA synthetase beta chain (EC 6.1.1.20)",
		"Prolyl-tRNA synthetase (EC 6.1.1.15)",
		"Phenylalanyl-tRNA synthetase alpha chain (EC 6.1.1.20)",
		"Histidyl-tRNA synthetase (EC 6.1.1.21)",
		"Arginyl-tRNA synthetase (EC 6.1.1.19)",
		"Tryptophanyl-tRNA synthetase (EC 6.1.1.2)",
		"Preprotein translocase secY subunit (TC 3.A.5.1.1)",
		"Tyrosyl-tRNA synthetase (EC 6.1.1.1)",
		"Methionyl-tRNA synthetase (EC 6.1.1.10)",
		"Threonyl-tRNA synthetase (EC 6.1.1.3)",
		"Valyl-tRNA synthetase (EC 6.1.1.9)"
	       );

    my($role);

    my $number_hits = 0;
    my $tot_norm_sc = {};
    my $num_norm_sc = {};
    foreach $role (@univ)
    {
        my @pegs = $fig->seqs_with_role($role,'master',$genome);
        if (@pegs == 1)
        {
            my $peg = $pegs[0];
            $number_hits++;

            my($sim,%seen,$norm_sc);
            foreach $sim ($fig->sims($peg,20,1.0e-5,"fig"))
            {
                my $genome2 = &FIG::genome_of($sim->id2);
                if (! $seen{$genome2})
                {
                    $seen{$genome2} = 1;
		    my $len_match = $sim->e2 + 1 - $sim->b2;
                    $norm_sc = $sim->bsc / $len_match;
                    $tot_norm_sc->{$genome2} += $norm_sc;
                    $num_norm_sc->{$genome2}++;
                }
            }
        }
    }
    my @genomes_hit = sort { $b->[1] <=> $a->[1] }
	              map { [$_,sprintf("%0.3f",$tot_norm_sc->{$_} / $num_norm_sc->{$_})] }
                      keys(%$tot_norm_sc);
   
    return @genomes_hit;

}

1;

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3