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

View of /FigKernelScripts/cluster_exp.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Sat Nov 13 19:43:14 2010 UTC (9 years ago) by overbeek
Branch: MAIN
CVS Tags: mgrast_dev_08112011, mgrast_dev_08022011, rast_rel_2014_0912, myrast_rel40, mgrast_dev_05262011, mgrast_dev_04082011, mgrast_version_3_2, mgrast_dev_12152011, mgrast_dev_06072011, rast_rel_2014_0729, mgrast_dev_02212011, rast_rel_2010_1206, mgrast_release_3_0, mgrast_dev_03252011, 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, myrast_33, rast_rel_2011_0928, mgrast_dev_04052011, mgrast_dev_02222011, mgrast_dev_10262011, HEAD
cluster experiments into states

########################################################################
use strict;
use Clustering;
use Data::Dumper;

# usage: cluster_exp MaxDist< ConnFile > NewickTrees

(my $maxD = shift @ARGV) || die "You need to give a max distance";

my $conn = {};
while (defined($_ = <STDIN>))
{
    chomp;
    my($x,$y,$d) = split(/\s+/,$_);
    if ($d <= $maxD)
    {
	$conn->{$x}->{$y} = $conn->{$y}->{$x} = $d;
    }
    else
    {
#	print STDERR "$x $y $d $maxD\n";
    }
}
my($clusters,$trees) = &Clustering::cluster($conn,$maxD,'triple_linkage_dist');
foreach my $cluster (@$clusters)
{
    if (@$cluster > 1)
    {
	print join(",",sort { $a <=> $b } @$cluster),"\n";
    }
}

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3