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

View of /FigKernelScripts/make_FigFamsData.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (download) (as text) (annotate)
Sat Jul 8 20:25:06 2006 UTC (13 years, 4 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.3: +1 -1 lines
order generated FIGfams

########################################################################
use FIG;

########################################################################
#
# FigFamData can be made from scratch, or it may assume that merged families
# based on close strain sets and subsystems have already been made.


$usage = "usage: make_FigFamsData Dir [merged_families=MergedFamilyFile] [clean_families=ClenedFamilyFile]";

(
 ($dir = shift @ARGV)  
)
    || die $usage;

mkdir($dir,0777) || die "$dir already exists; remove it (or specify another) and try again";

my $clean_families  = "";
my $merged_families = "";
    
foreach my $arg (@ARGV)
{
    if (($arg =~ /^merged_families=(\S+)/) && (-s $1))
    {
	$merged_families = $1;
    }
    elsif (($arg =~ /^clean_families=(\S+)/) && (-s $1))
    {
	$clean_families = $1;
    }
}

if (! $clean_families)
{
    $tmpD = "$FIG_Config::temp/tmpD.$$";
    mkdir($tmpD,0777) || die "could not make $tmpD";
    
    if (! $merged_families)
    {
	opendir(CS,"$FIG_Config::data/CloseStrainSets") 
	    || die "could not open $FIG_Config::data/CloseStrainSets";
	my @cs = grep { $_ !~ /^\./ } readdir(CS);
	closedir(CS);

	if (-e "$tmpD/close.strain.sets") { unlink "$tmpD/close.strain.sets" }

	foreach $cs (@cs)
	{
	    print STDERR "making close strain tables for $cs\n";
	    &FIG::run("make_close_strain_family_tabs $FIG_Config::data/CloseStrainSets/$cs $tmpD/$cs");
	    &FIG::run("cat $FIG_Config::data/CloseStrainSets/$cs/families.tab >> $tmpD/close.strain.sets");
}

	print STDERR "making subsystem based families\n";
	&FIG::run("make_subsys_based_families > $tmpD/subsys.based.families");

	print STDERR "merging families\n";
	&FIG::run("cat $tmpD/close.strain.sets $tmpD/subsys.based.families > $tmpD/both.sets");
	&FIG::run("merge_families $tmpD/Families $tmpD/both.sets > /dev/null");
	$merged_families = "$tmpD/Families/families";
    }
	
    &FIG::run("make_figfams < $merged_families > $tmpD/clean.families");
    $clean_families = "$tmpD/clean.families";
}

my @tmp = `cut -f1 $clean_families | sort -u | tail -1`;
if ($tmp[$0] =~ /^FIG(\d+)/)
{
    my $n = $1 + 1;
    my $next_id = "FIG" . $n;
    &FIG::run("echo $next_id > $dir/next_id");
}
&FIG::run("cat $clean_families | order_figfams > $dir/families.2c");
mkdir("$dir/FIGFAMS",0777) || die "could not make $dir/FIGFAMS";

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3