From 5cd7ec3bd2cf8d76042f080bf69035db2e7ea3ec Mon Sep 17 00:00:00 2001 From: Monika Komorowska <mk8@sanger.ac.uk> Date: Wed, 11 Apr 2012 17:08:56 +0000 Subject: [PATCH] store density features in batch --- misc-scripts/density_feature/variation_density.pl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/misc-scripts/density_feature/variation_density.pl b/misc-scripts/density_feature/variation_density.pl index 846db569ad..d7dc86b60c 100644 --- a/misc-scripts/density_feature/variation_density.pl +++ b/misc-scripts/density_feature/variation_density.pl @@ -115,6 +115,8 @@ while ( my $slice = shift @sorted_slices){ $block_size = $slice->length() / $bin_count; + my @density_features; + print STDOUT "Calculating SNP densities for ". $slice->seq_region_name() . " with block size $block_size\n"; $current_end = 0; @@ -138,18 +140,20 @@ while ( my $slice = shift @sorted_slices){ $sth->execute($slice->get_seq_region_id(), $current_end, $current_start); my $count = ($sth->fetchrow_array())[0]; - my $df = Bio::EnsEMBL::DensityFeature->new(-seq_region => $slice, + push @density_features, Bio::EnsEMBL::DensityFeature->new(-seq_region => $slice, -start => $current_start, -end => $current_end, -density_type => $dt, -density_value => $count); - $density_feature_adaptor->store($df); - if ($df->dbID()) { - $total_count ++; + if ($count > 0) { + #density features with value = 0 are not stored + $total_count++; } } + $density_feature_adaptor->store(@density_features); + last if ( $slice_count++ > $max_slices ); } -- GitLab