← Index
NYTProf Performance Profile   « block view • line view • sub view »
For bin/pan_genome_post_analysis
  Run on Fri Mar 27 11:43:32 2015
Reported on Fri Mar 27 11:45:53 2015

Filename/Users/ap13/pathogens/Roary/lib/Bio/Roary/Output/EmblGroups.pm
StatementsExecuted 1520758 statements in 3.05s
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
2112.24s3.25sBio::Roary::Output::EmblGroups::::_build__groups_to_filesBio::Roary::Output::EmblGroups::_build__groups_to_files
3643011811ms4.46sBio::Roary::Output::EmblGroups::::_blockBio::Roary::Output::EmblGroups::_block
3643011559ms872msBio::Roary::Output::EmblGroups::::_header_blockBio::Roary::Output::EmblGroups::_header_block
221469ms6.50sBio::Roary::Output::EmblGroups::::create_filesBio::Roary::Output::EmblGroups::create_files
211314ms505msBio::Roary::Output::EmblGroups::::_fragment_blocksBio::Roary::Output::EmblGroups::_fragment_blocks
49671123.7ms27.5msBio::Roary::Output::EmblGroups::::_annotation_typeBio::Roary::Output::EmblGroups::_annotation_type
49752111.5ms11.5msBio::Roary::Output::EmblGroups::::_block_colourBio::Roary::Output::EmblGroups::_block_colour
21167µs503µsBio::Roary::Output::EmblGroups::::_build__output_header_fhBio::Roary::Output::EmblGroups::_build__output_header_fh
11159µs4.52msBio::Roary::Output::EmblGroups::::BEGIN@19Bio::Roary::Output::EmblGroups::BEGIN@19
21156µs88µsBio::Roary::Output::EmblGroups::::_build__sorted_file_namesBio::Roary::Output::EmblGroups::_build__sorted_file_names
21147µs90µsBio::Roary::Output::EmblGroups::::_build_output_header_filenameBio::Roary::Output::EmblGroups::_build_output_header_filename
21143µs341µsBio::Roary::Output::EmblGroups::::_build__output_fhBio::Roary::Output::EmblGroups::_build__output_fh
21120µs20µsBio::Roary::Output::EmblGroups::::_header_topBio::Roary::Output::EmblGroups::_header_top
11112µs2.56msBio::Roary::Output::EmblGroups::::BEGIN@20Bio::Roary::Output::EmblGroups::BEGIN@20
21111µs11µsBio::Roary::Output::EmblGroups::::_header_bottomBio::Roary::Output::EmblGroups::_header_bottom
11111µs112µsBio::Roary::Output::EmblGroups::::BEGIN@239Bio::Roary::Output::EmblGroups::BEGIN@239
11110µs10µsBio::Roary::Output::EmblGroups::::BEGIN@22Bio::Roary::Output::EmblGroups::BEGIN@22
1118µs8µsBio::Roary::Output::EmblGroups::::BEGIN@21Bio::Roary::Output::EmblGroups::BEGIN@21
1117µs7µsBio::Roary::Output::EmblGroups::::BEGIN@23Bio::Roary::Output::EmblGroups::BEGIN@23
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package Bio::Roary::Output::EmblGroups;
2
3# ABSTRACT: Create a tab/embl file with the features for drawing pretty pictures
4
5=head1 SYNOPSIS
6
7reate a tab/embl file with the features for drawing pretty pictures
8 use Bio::Roary::Output::EmblGroups;
9
10 my $obj = Bio::Roary::Output::EmblGroups->new(
11 output_filename => 'group_statitics.csv',
12 annotate_groups_obj => $annotate_groups_obj,
13 analyse_groups_obj => $analyse_groups_obj
14 );
15 $obj->create_file;
16
17=cut
18
19256µs28.98ms
# spent 4.52ms (59µs+4.46) within Bio::Roary::Output::EmblGroups::BEGIN@19 which was called: # once (59µs+4.46ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 19
use Moose;
# spent 4.52ms making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@19 # spent 4.46ms making 1 call to Moose::import
20232µs25.12ms
# spent 2.56ms (12µs+2.55) within Bio::Roary::Output::EmblGroups::BEGIN@20 which was called: # once (12µs+2.55ms) by Bio::Roary::PostAnalysis::BEGIN@21 at line 20
use POSIX;
# spent 2.56ms making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@20 # spent 2.55ms making 1 call to POSIX::import
21223µs18µs
# spent 8µs within Bio::Roary::Output::EmblGroups::BEGIN@21 which was called: # once (8µs+0s) by Bio::Roary::PostAnalysis::BEGIN@21 at line 21
use Bio::Roary::Exceptions;
# spent 8µs making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@21
22226µs110µs
# spent 10µs within Bio::Roary::Output::EmblGroups::BEGIN@22 which was called: # once (10µs+0s) by Bio::Roary::PostAnalysis::BEGIN@21 at line 22
use Bio::Roary::AnalyseGroups;
# spent 10µs making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@22
2321.23ms17µs
# spent 7µs within Bio::Roary::Output::EmblGroups::BEGIN@23 which was called: # once (7µs+0s) by Bio::Roary::PostAnalysis::BEGIN@21 at line 23
use Bio::Roary::AnnotateGroups;
# spent 7µs making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@23
24
2512µs12.65mshas 'annotate_groups_obj' => ( is => 'ro', isa => 'Bio::Roary::AnnotateGroups', required => 1 );
# spent 2.65ms making 1 call to Moose::has
2612µs11.57mshas 'analyse_groups_obj' => ( is => 'ro', isa => 'Bio::Roary::AnalyseGroups', required => 1 );
# spent 1.57ms making 1 call to Moose::has
2712µs11.57mshas 'output_filename' => ( is => 'ro', isa => 'Str', default => 'core_accessory.tab' );
# spent 1.57ms making 1 call to Moose::has
2813µs12.39mshas 'output_header_filename' => ( is => 'ro', isa => 'Str', lazy => 1, builder => '_build_output_header_filename');
# spent 2.39ms making 1 call to Moose::has
2913µs12.00mshas 'groups_to_contigs' => ( is => 'ro', isa => 'Maybe[HashRef]');
# spent 2.00ms making 1 call to Moose::has
3013µs13.04mshas 'ordering_key' => ( is => 'ro', isa => 'Str', default => 'core_accessory_overall_order' );
# spent 3.04ms making 1 call to Moose::has
31
3213µs11.97mshas '_output_fh' => ( is => 'ro', lazy => 1, builder => '_build__output_fh' );
# spent 1.97ms making 1 call to Moose::has
3312µs11.78mshas '_output_header_fh' => ( is => 'ro', lazy => 1, builder => '_build__output_header_fh' );
# spent 1.78ms making 1 call to Moose::has
3412µs11.90mshas '_sorted_file_names' => ( is => 'ro', isa => 'ArrayRef', lazy => 1, builder => '_build__sorted_file_names' );
# spent 1.90ms making 1 call to Moose::has
3513µs11.81mshas '_groups_to_files' => ( is => 'ro', isa => 'HashRef', lazy => 1, builder => '_build__groups_to_files' );
# spent 1.81ms making 1 call to Moose::has
36
37
# spent 341µs (43+298) within Bio::Roary::Output::EmblGroups::_build__output_fh which was called 2 times, avg 171µs/call: # 2 times (43µs+298µs) by Bio::Roary::Output::EmblGroups::_output_fh at line 11 of (eval 25)[Eval/Closure.pm:125], avg 171µs/call
sub _build__output_fh {
386334µs my ($self) = @_;
394298µs open( my $fh, '>', $self->output_filename )
# spent 287µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:open, avg 144µs/call # spent 10µs making 2 calls to Bio::Roary::Output::EmblGroups::output_filename, avg 5µs/call
40 or Bio::Roary::Exceptions::CouldntWriteToFile->throw(
41 error => "Couldnt write output file:" . $self->output_filename );
42 return $fh;
43}
44
45sub _build__output_header_fh
46
# spent 503µs (67+436) within Bio::Roary::Output::EmblGroups::_build__output_header_fh which was called 2 times, avg 252µs/call: # 2 times (67µs+436µs) by Bio::Roary::Output::EmblGroups::_output_header_fh at line 11 of (eval 25)[Eval/Closure.pm:125], avg 252µs/call
{
476316µs my ($self) = @_;
484437µs open( my $fh, '>', $self->output_header_filename )
# spent 252µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:open, avg 126µs/call # spent 184µs making 2 calls to Bio::Roary::Output::EmblGroups::output_header_filename, avg 92µs/call
49 or Bio::Roary::Exceptions::CouldntWriteToFile->throw(
50 error => "Couldnt write output file:" . $self->output_filename );
51 return $fh;
52}
53
54sub _build_output_header_filename
55
# spent 90µs (47+44) within Bio::Roary::Output::EmblGroups::_build_output_header_filename which was called 2 times, avg 45µs/call: # 2 times (47µs+44µs) by Bio::Roary::Output::EmblGroups::output_header_filename at line 12 of (eval 25)[Eval/Closure.pm:125], avg 45µs/call
{
56877µs my ($self) = @_;
57214µs my $base_name = $self->output_filename;
# spent 14µs making 2 calls to Bio::Roary::Output::EmblGroups::output_filename, avg 7µs/call
58229µs $base_name =~ s/\.tab/.header.embl/i;
# spent 29µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:subst, avg 15µs/call
59 return $base_name;
60}
61
62
# spent 88µs (56+33) within Bio::Roary::Output::EmblGroups::_build__sorted_file_names which was called 2 times, avg 44µs/call: # 2 times (56µs+33µs) by Bio::Roary::Output::EmblGroups::_sorted_file_names at line 12 of (eval 25)[Eval/Closure.pm:125], avg 44µs/call
sub _build__sorted_file_names {
63666µs my ($self) = @_;
64633µs my @sorted_file_names = sort( @{ $self->analyse_groups_obj->fasta_files } );
# spent 17µs making 2 calls to Bio::Roary::Output::EmblGroups::analyse_groups_obj, avg 8µs/call # spent 8µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:sort, avg 4µs/call # spent 8µs making 2 calls to Bio::Roary::AnalyseGroups::fasta_files, avg 4µs/call
65 return \@sorted_file_names;
66}
67
68
# spent 3.25s (2.24+1.01) within Bio::Roary::Output::EmblGroups::_build__groups_to_files which was called 2 times, avg 1.62s/call: # 2 times (2.24s+1.01s) by Bio::Roary::Output::EmblGroups::_groups_to_files at line 12 of (eval 25)[Eval/Closure.pm:125], avg 1.62s/call
sub _build__groups_to_files {
6983.78ms my ($self) = @_;
70 my %groups_to_files;
71426.4ms for my $group ( @{ $self->annotate_groups_obj->_groups } ) {
# spent 26.4ms making 2 calls to Bio::Roary::AnnotateGroups::_groups, avg 13.2ms/call # spent 4µs making 2 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 2µs/call
72145720185ms72860134ms my $genes = $self->annotate_groups_obj->_groups_to_id_names->{$group};
# spent 70.6ms making 36430 calls to Bio::Roary::AnnotateGroups::_groups_to_id_names, avg 2µs/call # spent 63.9ms making 36430 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 2µs/call
73 my %filenames;
74 for my $gene_name ( @{$genes} ) {
755771681.29s577168846ms my $filename = $self->analyse_groups_obj->_genes_to_file->{$gene_name};
# spent 436ms making 288584 calls to Bio::Roary::Output::EmblGroups::analyse_groups_obj, avg 2µs/call # spent 410ms making 288584 calls to Bio::Roary::AnalyseGroups::_genes_to_file, avg 1µs/call
76 push( @{ $filenames{$filename} }, $gene_name );
77 }
78 $groups_to_files{$group} = \%filenames;
79 }
80 return \%groups_to_files;
81}
82
83
# spent 4.46s (811ms+3.65) within Bio::Roary::Output::EmblGroups::_block which was called 36430 times, avg 122µs/call: # 36430 times (811ms+3.65s) by Bio::Roary::Output::EmblGroups::create_files at line 229, avg 122µs/call
sub _block {
84195390375ms my ( $self, $group ) = @_;
85 my @taxon_names_array;
8672860114ms my $annotated_group_name = $self->annotate_groups_obj->_groups_to_consensus_gene_names->{$group};
# spent 64.6ms making 36430 calls to Bio::Roary::AnnotateGroups::_groups_to_consensus_gene_names, avg 2µs/call # spent 49.7ms making 36430 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 1µs/call
87
8882596121ms return '' if(!(defined($self->groups_to_contigs->{$annotated_group_name}) && defined($self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key}) ));
# spent 82.8ms making 59513 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call # spent 38.1ms making 23083 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call
89
90993414.2ms return '' if(defined($self->groups_to_contigs->{$annotated_group_name}->{comment}) && $self->groups_to_contigs->{$annotated_group_name}->{comment} ne '');
# spent 14.2ms making 9934 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
91
92993415.4ms my $coordindates = $self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key};
# spent 8.38ms making 4967 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call # spent 6.98ms making 4967 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
93
94496710.9ms for my $filename ( @{ $self->_sorted_file_names } ) {
# spent 10.9ms making 4967 calls to Bio::Roary::Output::EmblGroups::_sorted_file_names, avg 2µs/call
957947290.7ms397363.32s my $group_to_file_genes = $self->_groups_to_files->{$group}->{$filename};
# spent 3.32s making 39736 calls to Bio::Roary::Output::EmblGroups::_groups_to_files, avg 84µs/call
96
97150724148ms if ( defined($group_to_file_genes) && @{$group_to_file_genes} > 0 ) {
98 my $filename_cpy = $filename;
993768144.9ms $filename_cpy =~ s!\.gff\.proteome\.faa!!;
# spent 44.9ms making 37681 calls to Bio::Roary::Output::EmblGroups::CORE:subst, avg 1µs/call
100 push( @taxon_names_array, $filename_cpy );
101 next;
102 }
103 }
104
105 my $colour = 4;
106
107 my $taxon_names = join(" ",@taxon_names_array);
108
109 my $tab_file_entry = "FT variation $coordindates\n";
110 $tab_file_entry .= "FT /colour=$colour\n";
111 $tab_file_entry .= "FT /gene=$annotated_group_name\n";
112 $tab_file_entry .= "FT /taxa=\"$taxon_names\"\n";
113
114 return $tab_file_entry;
115}
116
117sub _block_colour
118
# spent 11.5ms within Bio::Roary::Output::EmblGroups::_block_colour which was called 4975 times, avg 2µs/call: # 4967 times (11.5ms+0s) by Bio::Roary::Output::EmblGroups::_header_block at line 158, avg 2µs/call # 8 times (46µs+0s) by Bio::Roary::Output::EmblGroups::_fragment_blocks at line 216, avg 6µs/call
{
1191540115.5ms my ( $self, $accessory_label ) = @_;
120 my $colour = 2;
121 return $colour unless(defined($accessory_label) );
122
123 $colour += $accessory_label % 6;
124 return $colour;
125}
126
127
128sub _header_top
129
# spent 20µs within Bio::Roary::Output::EmblGroups::_header_top which was called 2 times, avg 10µs/call: # 2 times (20µs+0s) by Bio::Roary::Output::EmblGroups::create_files at line 226, avg 10µs/call
{
1301222µs my ( $self) = @_;
131 my $header_lines = 'ID Genome standard; DNA; PRO; 1234 BP.'."\n";
132 $header_lines .= 'XX'."\n";
133 $header_lines .= 'FH Key Location/Qualifiers'."\n";
134 $header_lines .= 'FH'."\n";
135 return $header_lines;
136}
137
138sub _header_bottom
139
# spent 11µs within Bio::Roary::Output::EmblGroups::_header_bottom which was called 2 times, avg 6µs/call: # 2 times (11µs+0s) by Bio::Roary::Output::EmblGroups::create_files at line 233, avg 6µs/call
{
1401023µs my ( $self) = @_;
141 my $header_lines = 'XX'."\n";
142 $header_lines .= 'SQ Sequence 1234 BP; 789 A; 1717 C; 1693 G; 691 T; 0 other;'."\n";
143 $header_lines .= '//'."\n";
144 return $header_lines;
145}
146
147sub _header_block
148
# spent 872ms (559+313) within Bio::Roary::Output::EmblGroups::_header_block which was called 36430 times, avg 24µs/call: # 36430 times (559ms+313ms) by Bio::Roary::Output::EmblGroups::create_files at line 230, avg 24µs/call
{
149190423376ms my ( $self, $group ) = @_;
15072860115ms my $annotated_group_name = $self->annotate_groups_obj->_groups_to_consensus_gene_names->{$group};
# spent 65.7ms making 36430 calls to Bio::Roary::AnnotateGroups::_groups_to_consensus_gene_names, avg 2µs/call # spent 49.3ms making 36430 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 1µs/call
151 my $colour = 1;
152
15382596122ms return '' if(!(defined($self->groups_to_contigs->{$annotated_group_name}) && defined($self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key}) ));
# spent 83.7ms making 59513 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call # spent 37.9ms making 23083 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call
154993414.3ms return '' if(defined($self->groups_to_contigs->{$annotated_group_name}->{comment}) && $self->groups_to_contigs->{$annotated_group_name}->{comment} ne '');
# spent 14.3ms making 9934 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
155993415.3ms my $coordindates = $self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key};
# spent 8.34ms making 4967 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call # spent 6.95ms making 4967 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
156496727.5ms my $annotation_type = $self->_annotation_type($annotated_group_name);
# spent 27.5ms making 4967 calls to Bio::Roary::Output::EmblGroups::_annotation_type, avg 6µs/call
157
158993419.6ms $colour = $self->_block_colour($self->groups_to_contigs->{$annotated_group_name}->{accessory_label});
# spent 11.5ms making 4967 calls to Bio::Roary::Output::EmblGroups::_block_colour, avg 2µs/call # spent 8.14ms making 4967 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 2µs/call
159
160 my $tab_file_entry = "FT$annotation_type$coordindates\n";
161 $tab_file_entry .= "FT /label=$annotated_group_name\n";
162 $tab_file_entry .= "FT /locus_tag=$annotated_group_name\n";
163 $tab_file_entry .= "FT /colour=$colour\n";
164
165 return $tab_file_entry;
166}
167
168sub _annotation_type
169
# spent 27.5ms (23.7+3.86) within Bio::Roary::Output::EmblGroups::_annotation_type which was called 4967 times, avg 6µs/call: # 4967 times (23.7ms+3.86ms) by Bio::Roary::Output::EmblGroups::_header_block at line 156, avg 6µs/call
{
1701986829.0ms my ( $self, $annotated_group_name ) = @_;
171 my $annotation_type = " feature ";
17249673.86ms if($annotated_group_name =~ /group_/)
# spent 3.86ms making 4967 calls to Bio::Roary::Output::EmblGroups::CORE:match, avg 778ns/call
173 {
174 $annotation_type = " misc_feature ";
175 }
176 return $annotation_type;
177}
178
179sub _fragment_blocks
180
# spent 505ms (314+191) within Bio::Roary::Output::EmblGroups::_fragment_blocks which was called 2 times, avg 252ms/call: # 2 times (314ms+191ms) by Bio::Roary::Output::EmblGroups::create_files at line 232, avg 252ms/call
{
18182.53ms my ( $self, $fh ) = @_;
182 my %fragment_numbers;
183414.8ms for my $group ( @{ $self->annotate_groups_obj->_groups })
# spent 14.8ms making 2 calls to Bio::Roary::AnnotateGroups::_groups, avg 7.40ms/call # spent 6µs making 2 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 3µs/call
184 {
18573552193ms72860120ms my $annotated_group_name = $self->annotate_groups_obj->_groups_to_consensus_gene_names->{$group};
# spent 65.4ms making 36430 calls to Bio::Roary::AnnotateGroups::_groups_to_consensus_gene_names, avg 2µs/call # spent 54.8ms making 36430 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 2µs/call
186
1873643052.8ms next unless(defined($self->groups_to_contigs->{$annotated_group_name}->{accessory_label}));
# spent 52.8ms making 36430 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
1884641.11ms next unless(defined($self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key}));
# spent 784µs making 232 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 3µs/call # spent 329µs making 232 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call
189460757µs next if($self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key} eq '');
# spent 411µs making 230 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call # spent 346µs making 230 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 2µs/call
1906901.09ms push(@{$fragment_numbers{$self->groups_to_contigs->{$annotated_group_name}->{accessory_label}} }, $self->groups_to_contigs->{$annotated_group_name}->{$self->ordering_key});
# spent 675µs making 460 calls to Bio::Roary::Output::EmblGroups::groups_to_contigs, avg 1µs/call # spent 412µs making 230 calls to Bio::Roary::Output::EmblGroups::ordering_key, avg 2µs/call
191 }
192
193 for my $accessory_label (keys %fragment_numbers)
194 {
19548319µs next unless(defined($fragment_numbers{$accessory_label}));
196856µs my @sorted_fragment = sort {$a <=> $b} @{$fragment_numbers{$accessory_label} };
# spent 56µs making 8 calls to Bio::Roary::Output::EmblGroups::CORE:sort, avg 7µs/call
197 my $tab_file_entry = '';
1983028µs if(@sorted_fragment > 1)
199 {
200 my $min = $sorted_fragment[0];
201 my $max = $sorted_fragment[-1];
202
203 next if(!defined($min) || !defined($max) || $min eq '' || $max eq '');
204 $tab_file_entry = "FT feature $min".'..'."$max\n";
205 }
206 elsif(@sorted_fragment == 1)
207 {
208 my $min = $sorted_fragment[0];
209 next if(!defined($min) || $min eq '');
210 $tab_file_entry = "FT feature $min\n";
211 }
212 else
213 {
214 next;
215 }
216846µs $tab_file_entry .= "FT /colour=".$self->_block_colour($accessory_label)."\n";
# spent 46µs making 8 calls to Bio::Roary::Output::EmblGroups::_block_colour, avg 6µs/call
217
218812µs print {$fh} $tab_file_entry;
# spent 12µs making 8 calls to Bio::Roary::Output::EmblGroups::CORE:print, avg 2µs/call
219 }
220
221}
222
223
# spent 6.50s (469ms+6.03) within Bio::Roary::Output::EmblGroups::create_files which was called 2 times, avg 3.25s/call: # once (246ms+3.40s) by Bio::Roary::PostAnalysis::_create_embl_files at line 193 of lib/Bio/Roary/PostAnalysis.pm # once (223ms+2.63s) by Bio::Roary::PostAnalysis::_create_embl_files at line 202 of lib/Bio/Roary/PostAnalysis.pm
sub create_files {
224143.39ms my ($self) = @_;
225
2266600µs print { $self->_output_header_fh } $self->_header_top();
# spent 569µs making 2 calls to Bio::Roary::Output::EmblGroups::_output_header_fh, avg 284µs/call # spent 20µs making 2 calls to Bio::Roary::Output::EmblGroups::_header_top, avg 10µs/call # spent 11µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:print, avg 5µs/call
227420.4ms for my $group ( @{ $self->annotate_groups_obj->_groups })
# spent 20.3ms making 2 calls to Bio::Roary::AnnotateGroups::_groups, avg 10.2ms/call # spent 13µs making 2 calls to Bio::Roary::Output::EmblGroups::annotate_groups_obj, avg 7µs/call
228 {
22972860342ms1092904.55s print { $self->_output_fh } $self->_block($group);
# spent 4.46s making 36430 calls to Bio::Roary::Output::EmblGroups::_block, avg 122µs/call # spent 72.4ms making 36430 calls to Bio::Roary::Output::EmblGroups::_output_fh, avg 2µs/call # spent 17.3ms making 36430 calls to Bio::Roary::Output::EmblGroups::CORE:print, avg 475ns/call
230109290960ms print { $self->_output_header_fh } $self->_header_block($group);
# spent 872ms making 36430 calls to Bio::Roary::Output::EmblGroups::_header_block, avg 24µs/call # spent 73.5ms making 36430 calls to Bio::Roary::Output::EmblGroups::_output_header_fh, avg 2µs/call # spent 14.8ms making 36430 calls to Bio::Roary::Output::EmblGroups::CORE:print, avg 407ns/call
231 }
2324505ms $self->_fragment_blocks($self->_output_header_fh);
# spent 505ms making 2 calls to Bio::Roary::Output::EmblGroups::_fragment_blocks, avg 252ms/call # spent 26µs making 2 calls to Bio::Roary::Output::EmblGroups::_output_header_fh, avg 13µs/call
233624µs print { $self->_output_header_fh } $self->_header_bottom();
# spent 11µs making 2 calls to Bio::Roary::Output::EmblGroups::_header_bottom, avg 6µs/call # spent 11µs making 2 calls to Bio::Roary::Output::EmblGroups::_output_header_fh, avg 6µs/call # spent 2µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:print, avg 900ns/call
2344310µs close( $self->_output_header_fh);
# spent 305µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:close, avg 152µs/call # spent 5µs making 2 calls to Bio::Roary::Output::EmblGroups::_output_header_fh, avg 2µs/call
2354219µs close( $self->_output_fh );
# spent 204µs making 2 calls to Bio::Roary::Output::EmblGroups::CORE:close, avg 102µs/call # spent 15µs making 2 calls to Bio::Roary::Output::EmblGroups::_output_fh, avg 7µs/call
236}
237
238
239250µs2213µs
# spent 112µs (11+101) within Bio::Roary::Output::EmblGroups::BEGIN@239 which was called: # once (11µs+101µs) by Bio::Roary::PostAnalysis::BEGIN@21 at line 239
no Moose;
# spent 112µs making 1 call to Bio::Roary::Output::EmblGroups::BEGIN@239 # spent 101µs making 1 call to Moose::unimport
24017µs27.22ms__PACKAGE__->meta->make_immutable;
# spent 7.21ms making 1 call to Class::MOP::Class::make_immutable # spent 15µs making 1 call to Bio::Roary::Output::EmblGroups::meta
241
242162µs1;