annotate variant_effect_predictor/Bio/EnsEMBL/DBSQL/AssemblyAdaptor.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 =head1 LICENSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 Copyright (c) 1999-2012 The European Bioinformatics Institute and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 Genome Research Limited. All rights reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 This software is distributed under a modified Apache license.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 For license details, please see
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 http://www.ensembl.org/info/about/code_licence.html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 =head1 CONTACT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 Please email comments or questions to the public Ensembl
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 developers list at <dev@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 Questions may also be sent to the Ensembl help desk at
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 <helpdesk@ensembl.org>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 Bio::EnsEMBL::DBSQL::AssemblyAdaptor - Retrieves meta information
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 related to the assembly, density features/counts per chromosome or if none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25 provided, all top level seq regions
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 =head1 METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 package Bio::EnsEMBL::DBSQL::AssemblyAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 use warnings;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 use Bio::EnsEMBL::DBSQL::BaseAdaptor;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 use Bio::EnsEMBL::DBSQL::MetaContainer;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 use Bio::EnsEMBL::Attribute;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 use Bio::EnsEMBL::Utils::Exception qw(throw deprecate warning);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 @ISA = qw(Bio::EnsEMBL::DBSQL::BaseAdaptor);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 Arg [1] : Bio::EnsEMBL::DBAdaptor $dbadaptor the adaptor for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57 the database this assembly info adaptor is using.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 Example : my $aia = new Bio::EnsEMBL::AssemblyAdaptor($dbadaptor);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59 Description: Creates a new AssemblyAdaptor object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 Returntype : Bio::EnsEMBL::DBSQL::AssemblyAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 Caller : Bio::EnsEMBL::DBSQL::DBAdaptor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 my($class, $dbadaptor) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 my $self = $class->SUPER::new($dbadaptor);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75 =head2 fetch_info
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 Description: Returns a hash containing information about the assembly
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 stored in the meta table, such as assembly name, date etc.,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 a reference to array of top level seq_region names and a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 reference to array of all coordinate system versions found
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 Returntype : reference to a hash with assembly info key and value pairs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 Exceptions : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 sub fetch_info {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92 #fetch assembly information stored in the meta table
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 my $meta_container = $self->db()->get_adaptor('MetaContainer');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 my @meta_keys = qw(assembly.name assembly.date genebuild.start_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 genebuild.method genebuild.initial_release_date genebuild.last_geneset_update);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 my %assembly_info;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 foreach my $meta_key (@meta_keys) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101 my @values = @{ $meta_container->list_value_by_key($meta_key) };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 if (@values) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 $assembly_info{$meta_key} = $values[0];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 my $schema_build = $self->db()->_get_schema_build();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 if ($schema_build) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 $assembly_info{'schema_build'} = $schema_build;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 #fetch available coordinate systems
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 my $csa = $self->db()->get_adaptor('CoordSystem');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 my %versions;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 foreach my $cs (@{$csa->fetch_all()}) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117 $versions{$cs->version()} = 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119 my @coord_system_versions = keys %versions;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121 $assembly_info{'coord_system_versions'} = \@coord_system_versions;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 #fetch top level seq_region names
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 my $sa = $self->db()->get_adaptor('Slice');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127 my $slices = $sa->fetch_all('toplevel');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129 my @top_level_seq_region_names;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131 if ($slices) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 @top_level_seq_region_names = sort(map { $_->seq_region_name() } @$slices);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 $assembly_info{'top_level_seq_region_names'} = \@top_level_seq_region_names;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 return \%assembly_info;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 =head2 fetch_stats
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 Arg [1] : string $seq_region_name (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 The name of the toplevel seq_region for which statistics should be fetched
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Description: Returns a reference to a hash containing density features/ density related
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 seq_region attributes for a toplevel seq_region provided or if none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 provided - all top level seq regions
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Returntype : hashref
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 Exceptions : throw if the toplevel slice with seq_region_name provided does not exist
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 Caller : general
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 Status : Stable
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 sub fetch_stats {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 my $seq_region_name = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162 my @slices;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 my %assembly_stats;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166 my $sa = $self->db()->get_adaptor('Slice');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 if ($seq_region_name) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 my $slice = $sa->fetch_by_region('toplevel',$seq_region_name);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170 if (!$slice) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 throw("Top level slice $seq_region_name not found");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 push(@slices, $slice);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 $assembly_stats{'seq_region_name'} = $seq_region_name;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 @slices = @{$sa->fetch_all('toplevel')};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 my @density_types = qw(genedensity knowngenedensity snpdensity percentgc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 my @attrib_types = qw(GeneNo% SNPCount);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 my $aa = $self->db()->get_adaptor('Attribute');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 my $dfa = $self->db()->get_adaptor('DensityFeature');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 #used to calculate the average density value for density types represented as ratios
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 my %density_ft_count = ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 foreach my $slice (@slices) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 $assembly_stats{'Length (bps)'} += $slice->length();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 foreach my $density_type (@density_types) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 my $density_features = $dfa->fetch_all_by_Slice($slice,$density_type);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 foreach my $density_feature (@$density_features) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 if ($density_feature->density_type()->value_type() eq 'ratio') {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 $density_ft_count{$density_feature->density_type()->analysis()->display_label()} += 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 $assembly_stats{$density_feature->density_type()->analysis()->display_label()} += $density_feature->density_value();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 foreach my $attrib_type (@attrib_types) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 my $attribs = $aa->fetch_all_by_Slice($slice,$attrib_type);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 foreach my $attrib (@$attribs) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 $assembly_stats{$attrib->description()} += $attrib->value();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 foreach my $density_analysis (keys %density_ft_count) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 if ($density_ft_count{$density_analysis} > 1) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 $assembly_stats{$density_analysis} /= $density_ft_count{$density_analysis};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 $assembly_stats{$density_analysis} = sprintf "%.2f", $assembly_stats{$density_analysis};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 $assembly_stats{$density_analysis} .= '%';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 return \%assembly_stats;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234