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

View of /FigKernelScripts/track_figfams.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (download) (as text) (annotate)
Sat Sep 9 13:46:14 2006 UTC (13 years, 2 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: +0 -3 lines
get rid of diagnostics in track_figfams

my $usage = "usage: track_figfams OldFamilies NewFamilies > RenamedNewFamilies";

(
 ($oldF   = shift @ARGV) &&
 ($newF   = shift @ARGV)
)
    || die $usage;


open(OLD,"<$oldF") || die "could not open $oldF";
while (defined($_ = <OLD>))
{
    if ($_ =~ /^(\S+)\t(\S+)/)
    {
	$in{$2} = $1;
	$count{$1}++;
	if ((! $max_sofar) || ($max_sofar lt $1)) { $max_sofar = $1 }
    }
}
close(OLD);

open(NEW,"<$newF") || die "could not open $newF";
$entry = <NEW>;
while ($entry && ($entry =~ /^(\S+)/))
{
    $curr = $1;
    @set  = ();
    while ($entry && ($entry =~ /^(\S+)\t(\S+)(\t(\S.*\S))?/) && ($1 eq $curr))
    {
	push(@set,[$1,$2,$4 ? $4 : ""]);
	$entry = <NEW>;
    }
    
    undef %oldH;
    foreach $x (@set)
    {
	($fam,$peg,$func) = @$x;
	if ($old = $in{$peg})
	{
	    $oldH{$old}++;
	}
    }

    @old_sets = sort { $b <=> $a } keys(%oldH);
    $best_old = $old_sets[0];
    $matched_old = $oldH{$best_old};
    if (($matched_old > (0.5 * @set)) &&
	($matched_old > (0.5 * $count{$best_old})))
    {
	$new_name = $best_old;
    }
    else
    {
	$max_sofar++;
	$new_name = $max_sofar;
    }

    foreach $x (@set)
    {
	($fam,$peg,$func) = @$x;
	print join("\t",($new_name,$peg,$func)),"\n";
    }
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3