Mercurial > repos > dereeper > roary_plots
diff Roary/t/Bio/Roary/AnnotateGroups.t @ 0:c47a5f61bc9f draft
Uploaded
author | dereeper |
---|---|
date | Fri, 14 May 2021 20:27:06 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Roary/t/Bio/Roary/AnnotateGroups.t Fri May 14 20:27:06 2021 +0000 @@ -0,0 +1,119 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Data::Dumper; +use Moose; +use Test::Files; +use File::Slurper qw(read_lines); +BEGIN { unshift( @INC, './t/lib' ) } +with 'TestHelper'; + +BEGIN { unshift( @INC, './lib' ) } +$ENV{PATH} .= ":./bin"; + +BEGIN { + use Test::Most; + use_ok('Bio::Roary::AnnotateGroups'); +} + +my $obj; + +ok( + $obj = Bio::Roary::AnnotateGroups->new( + gff_files => [ 't/data/query_1.gff', 't/data/query_2.gff', 't/data/query_3.gff' ], + groups_filename => 't/data/query_groups', + ), + 'initalise' +); + +ok( $obj->reannotate, 'reannotate' ); +is_deeply( + $obj->_ids_to_gene_size, + { + 'abc_00012' => 188, + '2_3' => 1001, + '1_1' => 959, + 'abc_00004' => 716, + '3_3' => 1001, + '3_2' => 725, + '2_2' => 725, + 'abc_00006' => 725, + 'abc_00008' => 935, + '1_6' => 134, + 'abc_00015' => 134, + '3_1' => 959, + 'abc_00014' => 134, + 'abc_01705' => 1556, + 'abc_00013' => 75, + 'abc_00010' => 227, + '1_2' => 725, + 'abc_00011' => 947, + 'abc_00016' => 686, + '2_7' => 134, + '1_3' => 1001, + '2_1' => 959, + '3_5' => 686, + 'abc_00002' => 146, + 'abc_00003' => 197 + }, + 'gene lengths as expected' +); + +is_deeply( + $obj->group_nucleotide_lengths, + { + 'group_3' => { + 'average' => 1001, + 'min' => 1001, + 'max' => 1001 + }, + 'group_5' => { + 'average' => 686, + 'min' => 686, + 'max' => 686 + }, + 'group_7' => { + 'average' => 134, + 'min' => 134, + 'max' => 134 + }, + 'group_1' => { + 'average' => 959, + 'min' => 959, + 'max' => 959 + }, + 'group_6' => { + 'average' => 134, + 'min' => 134, + 'max' => 134 + }, + 'group_2' => { + 'average' => 725, + 'min' => 725, + 'max' => 725 + } + }, + 'group lengths' +); + +compare_files( 'reannotated_groups_file', 't/data/expected_reannotated_groups_file', 'groups reannotated as expected' ); + +unlink('reannotated_groups_file'); + + +ok( + $obj = Bio::Roary::AnnotateGroups->new( + gff_files => [ 't/data/gene_name_field/annotation_1.gff', 't/data/gene_name_field/annotation_2.gff' ], + groups_filename => 't/data/gene_name_field/groups', + ), + 'initalise where gene key is replaced by Name' +); +ok( $obj->reannotate, 'reannotate' ); +compare_files('reannotated_groups_file', + 't/data/gene_name_field/expected_reannotated_groups_file', + 'Reannoated groups file has the gene names transferred' +); +unlink('reannotated_groups_file'); + +done_testing(); +