0
|
1 #!/usr/bin/env perl
|
|
2 use strict;
|
|
3 use warnings;
|
|
4 use Data::Dumper;
|
|
5 use Moose;
|
|
6 use Test::Files;
|
|
7 use File::Slurper qw(read_lines);
|
|
8 BEGIN { unshift( @INC, './t/lib' ) }
|
|
9 with 'TestHelper';
|
|
10
|
|
11 BEGIN { unshift( @INC, './lib' ) }
|
|
12 $ENV{PATH} .= ":./bin";
|
|
13
|
|
14 BEGIN {
|
|
15 use Test::Most;
|
|
16 use_ok('Bio::Roary::AnnotateGroups');
|
|
17 }
|
|
18
|
|
19 my $obj;
|
|
20
|
|
21 ok(
|
|
22 $obj = Bio::Roary::AnnotateGroups->new(
|
|
23 gff_files => [ 't/data/query_1.gff', 't/data/query_2.gff', 't/data/query_3.gff' ],
|
|
24 groups_filename => 't/data/query_groups',
|
|
25 ),
|
|
26 'initalise'
|
|
27 );
|
|
28
|
|
29 ok( $obj->reannotate, 'reannotate' );
|
|
30 is_deeply(
|
|
31 $obj->_ids_to_gene_size,
|
|
32 {
|
|
33 'abc_00012' => 188,
|
|
34 '2_3' => 1001,
|
|
35 '1_1' => 959,
|
|
36 'abc_00004' => 716,
|
|
37 '3_3' => 1001,
|
|
38 '3_2' => 725,
|
|
39 '2_2' => 725,
|
|
40 'abc_00006' => 725,
|
|
41 'abc_00008' => 935,
|
|
42 '1_6' => 134,
|
|
43 'abc_00015' => 134,
|
|
44 '3_1' => 959,
|
|
45 'abc_00014' => 134,
|
|
46 'abc_01705' => 1556,
|
|
47 'abc_00013' => 75,
|
|
48 'abc_00010' => 227,
|
|
49 '1_2' => 725,
|
|
50 'abc_00011' => 947,
|
|
51 'abc_00016' => 686,
|
|
52 '2_7' => 134,
|
|
53 '1_3' => 1001,
|
|
54 '2_1' => 959,
|
|
55 '3_5' => 686,
|
|
56 'abc_00002' => 146,
|
|
57 'abc_00003' => 197
|
|
58 },
|
|
59 'gene lengths as expected'
|
|
60 );
|
|
61
|
|
62 is_deeply(
|
|
63 $obj->group_nucleotide_lengths,
|
|
64 {
|
|
65 'group_3' => {
|
|
66 'average' => 1001,
|
|
67 'min' => 1001,
|
|
68 'max' => 1001
|
|
69 },
|
|
70 'group_5' => {
|
|
71 'average' => 686,
|
|
72 'min' => 686,
|
|
73 'max' => 686
|
|
74 },
|
|
75 'group_7' => {
|
|
76 'average' => 134,
|
|
77 'min' => 134,
|
|
78 'max' => 134
|
|
79 },
|
|
80 'group_1' => {
|
|
81 'average' => 959,
|
|
82 'min' => 959,
|
|
83 'max' => 959
|
|
84 },
|
|
85 'group_6' => {
|
|
86 'average' => 134,
|
|
87 'min' => 134,
|
|
88 'max' => 134
|
|
89 },
|
|
90 'group_2' => {
|
|
91 'average' => 725,
|
|
92 'min' => 725,
|
|
93 'max' => 725
|
|
94 }
|
|
95 },
|
|
96 'group lengths'
|
|
97 );
|
|
98
|
|
99 compare_files( 'reannotated_groups_file', 't/data/expected_reannotated_groups_file', 'groups reannotated as expected' );
|
|
100
|
|
101 unlink('reannotated_groups_file');
|
|
102
|
|
103
|
|
104 ok(
|
|
105 $obj = Bio::Roary::AnnotateGroups->new(
|
|
106 gff_files => [ 't/data/gene_name_field/annotation_1.gff', 't/data/gene_name_field/annotation_2.gff' ],
|
|
107 groups_filename => 't/data/gene_name_field/groups',
|
|
108 ),
|
|
109 'initalise where gene key is replaced by Name'
|
|
110 );
|
|
111 ok( $obj->reannotate, 'reannotate' );
|
|
112 compare_files('reannotated_groups_file',
|
|
113 't/data/gene_name_field/expected_reannotated_groups_file',
|
|
114 'Reannoated groups file has the gene names transferred'
|
|
115 );
|
|
116 unlink('reannotated_groups_file');
|
|
117
|
|
118 done_testing();
|
|
119
|