use_ok(
$_
)
for
qw(
Bio::Community::Tools::Transformer
)
;
my
(
$transformer
,
$meta
,
$transformed
,
$community
,
$community1
,
$community2
,
$member1
,
$member2
,
$member3
,
$member4
,
$member5
,
$member6
);
$community1
= Bio::Community->new(
-name
=>
'community1'
);
$member1
= Bio::Community::Member->new(
-id
=> 1 );
$member2
= Bio::Community::Member->new(
-id
=> 2 );
$member3
= Bio::Community::Member->new(
-id
=> 3 );
$member4
= Bio::Community::Member->new(
-id
=> 4 );
$member5
= Bio::Community::Member->new(
-id
=> 5 );
$member6
= Bio::Community::Member->new(
-id
=> 6 );
$community1
->add_member(
$member1
, 1);
$community1
->add_member(
$member2
, 2);
$community1
->add_member(
$member3
, 3);
$community1
->add_member(
$member4
, 4);
$community1
->add_member(
$member5
, 5);
$community2
= Bio::Community->new(
-name
=>
'community2'
);
$member6
= Bio::Community::Member->new(
-id
=> 6 );
$community2
->add_member(
$member1
, 2014);
$community2
->add_member(
$member3
, 1057);
$community2
->add_member(
$member6
, 2514);
$meta
= Bio::Community::Meta->new(
-communities
=> [
$community1
,
$community2
] );
ok
$transformer
= Bio::Community::Tools::Transformer->new( );
isa_ok
$transformer
,
'Bio::Community::Tools::Transformer'
;
ok
$transformer
= Bio::Community::Tools::Transformer->new(
-metacommunity
=>
$meta
,
-type
=>
'identity'
,
),
'Identity'
;
is
$transformer
->get_transformed_meta->get_communities_count, 2;
is
$transformer
->type,
'identity'
;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community1'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community1'
;
is
$transformed
->get_members_count , 15;
is
$transformed
->get_count(
$member1
), 1;
is
$transformed
->get_count(
$member2
), 2;
is
$transformed
->get_count(
$member3
), 3;
is
$transformed
->get_count(
$member4
), 4;
is
$transformed
->get_count(
$member5
), 5;
is
$transformed
->get_count(
$member6
), 0;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community2'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community2'
;
is
$transformed
->get_members_count , 5585;
is
$transformed
->get_count(
$member1
), 2014;
is
$transformed
->get_count(
$member2
), 0;
is
$transformed
->get_count(
$member3
), 1057;
is
$transformed
->get_count(
$member4
), 0;
is
$transformed
->get_count(
$member5
), 0;
is
$transformed
->get_count(
$member6
), 2514;
ok
$transformer
= Bio::Community::Tools::Transformer->new(
-metacommunity
=>
$meta
,
-type
=>
'binary'
,
),
'Binary'
;
is
$transformer
->get_transformed_meta->get_communities_count, 2;
is
$transformer
->type,
'binary'
;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community1'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community1'
;
is
$transformed
->get_members_count , 5;
is
$transformed
->get_count(
$member1
), 1;
is
$transformed
->get_count(
$member2
), 1;
is
$transformed
->get_count(
$member3
), 1;
is
$transformed
->get_count(
$member4
), 1;
is
$transformed
->get_count(
$member5
), 1;
is
$transformed
->get_count(
$member6
), 0;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community2'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community2'
;
is
$transformed
->get_members_count , 3;
is
$transformed
->get_count(
$member1
), 1;
is
$transformed
->get_count(
$member2
), 0;
is
$transformed
->get_count(
$member3
), 1;
is
$transformed
->get_count(
$member4
), 0;
is
$transformed
->get_count(
$member5
), 0;
is
$transformed
->get_count(
$member6
), 1;
ok
$transformer
= Bio::Community::Tools::Transformer->new(
-metacommunity
=>
$meta
,
-type
=>
'relative'
,
),
'Relative'
;
is
$transformer
->get_transformed_meta->get_communities_count, 2;
is
$transformer
->type,
'relative'
;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community1'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community1'
;
is
$transformed
->get_members_count , 100;
is
$transformed
->get_count(
$member1
),
$transformed
->get_rel_ab(
$member1
);
is
$transformed
->get_count(
$member2
),
$transformed
->get_rel_ab(
$member2
);
is
$transformed
->get_count(
$member3
),
$transformed
->get_rel_ab(
$member3
);
is
$transformed
->get_count(
$member4
),
$transformed
->get_rel_ab(
$member4
);
is
$transformed
->get_count(
$member5
),
$transformed
->get_rel_ab(
$member5
);
is
$transformed
->get_count(
$member6
),
$transformed
->get_rel_ab(
$member6
);
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community2'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community2'
;
is
$transformed
->get_members_count , 100;
is
$transformed
->get_count(
$member1
),
$transformed
->get_rel_ab(
$member1
);
is
$transformed
->get_count(
$member2
),
$transformed
->get_rel_ab(
$member2
);
is
$transformed
->get_count(
$member3
),
$transformed
->get_rel_ab(
$member3
);
is
$transformed
->get_count(
$member4
),
$transformed
->get_rel_ab(
$member4
);
is
$transformed
->get_count(
$member5
),
$transformed
->get_rel_ab(
$member5
);
is
$transformed
->get_count(
$member6
),
$transformed
->get_rel_ab(
$member6
);
ok
$transformer
= Bio::Community::Tools::Transformer->new(
-metacommunity
=>
$meta
,
-type
=>
'hellinger'
,
),
'Hellinger'
;
is
$transformer
->get_transformed_meta->get_communities_count, 2;
is
$transformer
->type,
'hellinger'
;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community1'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community1'
;
delta_ok
$transformed
->get_members_count , 8.38233234744176;
delta_ok
$transformed
->get_count(
$member1
), 1;
delta_ok
$transformed
->get_count(
$member2
), 1.41421356237310;
delta_ok
$transformed
->get_count(
$member3
), 1.73205080756888;
delta_ok
$transformed
->get_count(
$member4
), 2;
delta_ok
$transformed
->get_count(
$member5
), 2.23606797749979;
delta_ok
$transformed
->get_count(
$member6
), 0;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community2'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community2'
;
delta_ok
$transformed
->get_members_count , 127.528952305538;
delta_ok
$transformed
->get_count(
$member1
), 44.877611344633749;
delta_ok
$transformed
->get_count(
$member2
), 0;
delta_ok
$transformed
->get_count(
$member3
), 32.511536414017719;
delta_ok
$transformed
->get_count(
$member4
), 0;
delta_ok
$transformed
->get_count(
$member5
), 0;
delta_ok
$transformed
->get_count(
$member6
), 50.139804546886701;
ok
$transformer
= Bio::Community::Tools::Transformer->new(
-metacommunity
=>
$meta
,
-type
=>
'chord'
,
),
'Chord'
;
is
$transformer
->get_transformed_meta->get_communities_count, 2;
is
$transformer
->type,
'chord'
;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community1'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community1'
;
delta_ok
$transformed
->get_members_count , 0.272727272727273;
delta_ok
$transformed
->get_count(
$member1
), 0.0181818181818182;
delta_ok
$transformed
->get_count(
$member2
), 0.0363636363636364;
delta_ok
$transformed
->get_count(
$member3
), 0.0545454545454545;
delta_ok
$transformed
->get_count(
$member4
), 0.0727272727272727;
delta_ok
$transformed
->get_count(
$member5
), 0.0909090909090909;
delta_ok
$transformed
->get_count(
$member6
), 0;
$transformed
=
$transformer
->get_transformed_meta->get_community_by_name(
'community2'
);
isa_ok
$transformed
,
'Bio::Community'
;
is
$transformed
->name,
'community2'
;
delta_ok
$transformed
->get_members_count , 4.85920867025514e-04;
delta_ok
$transformed
->get_count(
$member1
), 1.75227327876345e-04;
delta_ok
$transformed
->get_count(
$member2
), 0;
delta_ok
$transformed
->get_count(
$member3
), 9.19638955140499e-05;
delta_ok
$transformed
->get_count(
$member4
), 0;
delta_ok
$transformed
->get_count(
$member5
), 0;
delta_ok
$transformed
->get_count(
$member6
), 2.18729643635120e-04;
done_testing();
exit
;