Algorithm::MCLPerl module implementing Markov Cluster Algorithm using PDL | |
Download |
Algorithm::MCL Ranking & Summary
Advertisement
- License:
- Perl Artistic License
- Price:
- FREE
- Publisher Name:
- Pinkhas Nisanov
- Publisher web site:
- http://search.cpan.org/~pinkhasn/
Algorithm::MCL Tags
Algorithm::MCL Description
Algorithm::MCL is a Perl implementation of Markov Cluster Algorithm (MCL) based on Perl Data Language (PDL).MCL is algorithm of finding clusters of vertices in graph. More information about MCL can be found at http://micans.org/mcl/. There is also perl script implementing MCL - minimcl http://www.micans.org/mcl/scripts/minimcl.This module try to solve two problems:- easy integration MCL in perl scripts and modules. Algorithm::MCL accept references as input and every reference will be found later in some cluster.- performance and scale. Algorithm::MCL use Perl Data Language for most of its processing and should run very fast on very big clusters. Main Algorithm::MCL procedures are written with "pdlpp".SYNOPSIS use Algorithm::MCL; my $obj1 = new MyClass; my $ref2 = {}; my $ref3 = \"abc"; my $ref4 = \$val1; my $ref5 = []; my $mcl1 = Algorithm::MCL->new(); # create graph by adding edges $mcl1->addEdge($obj1, $ref2); $mcl1->addEdge($obj1, $ref3); $mcl1->addEdge($ref2, $ref3); $mcl1->addEdge($ref3, $ref4); $mcl1->addEdge($ref4, $ref5); # run MCL algorithm on created graph my $clusters1 = $mcl1->run(); # get clusters foreach my $cluster ( @$clusters1 ) { print "Cluster size: ". scalar @$cluster. "\n"; } #################################### my $val1 = \"aaa"; my $val2 = \"bbb"; my $val3 = \"ccc"; my $val4 = \"ddd"; my $val5 = \"eee"; my $mcl2 = Algorithm::MCL->new(); $mcl2->addEdge($val1, $val2); $mcl2->addEdge($val1, $val3); $mcl2->addEdge($val2, $val3); $mcl2->addEdge($val3, $val4); $mcl2->addEdge($val4, $val5); my $clusters2 = $mcl2->run(); foreach my $cluster ( @$clusters2 ) { print "Found Cluster\n"; foreach my $vertex ( @$cluster ) { print " Cluster element: $$vertex \n"; } }Product's homepage
Algorithm::MCL Related Software