[med-svn] [libbio-graphics-perl] 01/05: Imported Upstream version 2.39

Andreas Tille tille at debian.org
Fri Aug 8 16:29:31 UTC 2014


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository libbio-graphics-perl.

commit 46bbf186de4b34e201729577da62df53bed4b149
Author: Andreas Tille <tille at debian.org>
Date:   Fri Aug 8 18:16:42 2014 +0200

    Imported Upstream version 2.39
---
 Changes                                  |   8 +
 MANIFEST                                 |   6 +
 META.json                                | 329 +++++++++++--------------------
 META.yml                                 |   8 +-
 Makefile.PL                              |   2 +-
 lib/Bio/Graphics.pm                      |   2 +-
 lib/Bio/Graphics/DrawTransmembrane.pm    |   2 +-
 lib/Bio/Graphics/Glyph.pm                |   6 +-
 lib/Bio/Graphics/Glyph/generic.pm        |   8 +-
 lib/Bio/Graphics/Glyph/hybrid_plot.pm    |  22 ++-
 lib/Bio/Graphics/Glyph/vista_plot.pm     |  18 +-
 lib/Bio/Graphics/Glyph/wiggle_data.pm    |  45 ++++-
 lib/Bio/Graphics/Glyph/wiggle_density.pm |   8 +-
 lib/Bio/Graphics/Glyph/wiggle_xyplot.pm  |  29 ++-
 scripts/feature_draw.pl                  |   9 +-
 t/BioGraphics.t                          |  21 +-
 t/data/t1.gif                            | Bin 14219 -> 14625 bytes
 t/data/t1.png                            | Bin 6088 -> 6187 bytes
 t/data/t1/version15.gif                  | Bin 0 -> 14625 bytes
 t/data/t1/version15.png                  | Bin 0 -> 6187 bytes
 t/data/t2.gif                            | Bin 21935 -> 22447 bytes
 t/data/t2.png                            | Bin 10183 -> 10356 bytes
 t/data/t2/version21.gif                  | Bin 0 -> 22447 bytes
 t/data/t2/version21.png                  | Bin 0 -> 10356 bytes
 t/data/t3.gif                            | Bin 5679 -> 5753 bytes
 t/data/t3.png                            | Bin 4856 -> 4956 bytes
 t/data/t3/version16.gif                  | Bin 0 -> 5753 bytes
 t/data/t3/version16.png                  | Bin 0 -> 4955 bytes
 28 files changed, 268 insertions(+), 255 deletions(-)

diff --git a/Changes b/Changes
index 779759e..50ed607 100755
--- a/Changes
+++ b/Changes
@@ -1,4 +1,12 @@
 Revision history for Perl extension Bio::Graphics.
+2.39
+   - Turn off image-based regression tests becuase libgd has started to produce visually-identical
+     images that are different at the byte level.
+	
+2.38
+   - If left labeling requested and the selected font size is larger than the available height,
+     then go to smallest available font (gdTinyFont).
+
 2.37
    - Merge fix for incorrect parsing of feature_file sections (issue #6)
    - Added decorated_transcript glyph
diff --git a/MANIFEST b/MANIFEST
index d80b0bb..afbf76f 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -145,6 +145,8 @@ t/data/t1/version13.gif
 t/data/t1/version13.png
 t/data/t1/version14.gif
 t/data/t1/version14.png
+t/data/t1/version15.gif
+t/data/t1/version15.png
 t/data/t1/version2.gif
 t/data/t1/version2.png
 t/data/t1/version3.gif
@@ -179,6 +181,8 @@ t/data/t2/version2.gif
 t/data/t2/version2.png
 t/data/t2/version20.gif
 t/data/t2/version20.png
+t/data/t2/version21.gif
+t/data/t2/version21.png
 t/data/t2/version3.gif
 t/data/t2/version3.png
 t/data/t2/version4.png
@@ -203,6 +207,8 @@ t/data/t3/version14.gif
 t/data/t3/version14.png
 t/data/t3/version15.gif
 t/data/t3/version15.png
+t/data/t3/version16.gif
+t/data/t3/version16.png
 t/data/t3/version2.gif
 t/data/t3/version2.png
 t/data/t3/version3.gif
diff --git a/META.json b/META.json
index e1bd058..4b679b6 100644
--- a/META.json
+++ b/META.json
@@ -4,7 +4,7 @@
       "Lincoln Stein <lincoln.stein at oicr.on.ca>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.110440",
+   "generated_by" : "Module::Build version 0.4205",
    "license" : [
       "perl_5"
    ],
@@ -16,7 +16,7 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "Module::Build" : "0.38"
+            "Module::Build" : "0.42"
          }
       },
       "runtime" : {
@@ -34,447 +34,340 @@
    "provides" : {
       "Bio::Graphics" : {
          "file" : "lib/Bio/Graphics.pm",
-         "version" : "2.37"
+         "version" : "2.39"
       },
       "Bio::Graphics::ConfiguratorI" : {
-         "file" : "lib/Bio/Graphics/ConfiguratorI.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/ConfiguratorI.pm"
       },
       "Bio::Graphics::DrawTransmembrane" : {
-         "file" : "lib/Bio/Graphics/DrawTransmembrane.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/DrawTransmembrane.pm"
       },
       "Bio::Graphics::Feature" : {
-         "file" : "lib/Bio/Graphics/Feature.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Feature.pm"
       },
       "Bio::Graphics::FeatureBase" : {
-         "file" : "lib/Bio/Graphics/FeatureBase.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/FeatureBase.pm"
       },
       "Bio::Graphics::FeatureDir" : {
-         "file" : "lib/Bio/Graphics/FeatureDir.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/FeatureDir.pm"
       },
       "Bio::Graphics::FeatureFile" : {
-         "file" : "lib/Bio/Graphics/FeatureFile.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/FeatureFile.pm"
       },
       "Bio::Graphics::FeatureFile::Iterator" : {
-         "file" : "lib/Bio/Graphics/FeatureFile/Iterator.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/FeatureFile/Iterator.pm"
       },
       "Bio::Graphics::FileSplitter" : {
-         "file" : "lib/Bio/Graphics/FeatureDir.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/FeatureDir.pm"
       },
       "Bio::Graphics::GDWrapper" : {
-         "file" : "lib/Bio/Graphics/GDWrapper.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/GDWrapper.pm"
       },
       "Bio::Graphics::Glyph" : {
-         "file" : "lib/Bio/Graphics/Glyph.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph.pm"
       },
       "Bio::Graphics::Glyph::Factory" : {
-         "file" : "lib/Bio/Graphics/Glyph/Factory.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/Factory.pm"
       },
       "Bio::Graphics::Glyph::alignment" : {
-         "file" : "lib/Bio/Graphics/Glyph/alignment.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/alignment.pm"
       },
       "Bio::Graphics::Glyph::allele_tower" : {
-         "file" : "lib/Bio/Graphics/Glyph/allele_tower.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/allele_tower.pm"
       },
       "Bio::Graphics::Glyph::anchored_arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/anchored_arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/anchored_arrow.pm"
       },
       "Bio::Graphics::Glyph::arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/arrow.pm"
       },
       "Bio::Graphics::Glyph::box" : {
-         "file" : "lib/Bio/Graphics/Glyph/box.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/box.pm"
       },
       "Bio::Graphics::Glyph::broken_line" : {
-         "file" : "lib/Bio/Graphics/Glyph/broken_line.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/broken_line.pm"
       },
       "Bio::Graphics::Glyph::cds" : {
-         "file" : "lib/Bio/Graphics/Glyph/cds.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/cds.pm"
       },
       "Bio::Graphics::Glyph::christmas_arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/christmas_arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/christmas_arrow.pm"
       },
       "Bio::Graphics::Glyph::cross" : {
-         "file" : "lib/Bio/Graphics/Glyph/cross.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/cross.pm"
       },
       "Bio::Graphics::Glyph::crossbox" : {
-         "file" : "lib/Bio/Graphics/Glyph/crossbox.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/crossbox.pm"
       },
       "Bio::Graphics::Glyph::dashed_line" : {
-         "file" : "lib/Bio/Graphics/Glyph/dashed_line.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/dashed_line.pm"
       },
       "Bio::Graphics::Glyph::decorated_gene" : {
-         "file" : "lib/Bio/Graphics/Glyph/decorated_gene.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/decorated_gene.pm"
       },
       "Bio::Graphics::Glyph::decorated_transcript" : {
-         "file" : "lib/Bio/Graphics/Glyph/decorated_transcript.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/decorated_transcript.pm"
       },
       "Bio::Graphics::Glyph::diamond" : {
-         "file" : "lib/Bio/Graphics/Glyph/diamond.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/diamond.pm"
       },
       "Bio::Graphics::Glyph::dna" : {
-         "file" : "lib/Bio/Graphics/Glyph/dna.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/dna.pm"
       },
       "Bio::Graphics::Glyph::dot" : {
-         "file" : "lib/Bio/Graphics/Glyph/dot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/dot.pm"
       },
       "Bio::Graphics::Glyph::dumbbell" : {
-         "file" : "lib/Bio/Graphics/Glyph/dumbbell.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/dumbbell.pm"
       },
       "Bio::Graphics::Glyph::ellipse" : {
-         "file" : "lib/Bio/Graphics/Glyph/ellipse.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ellipse.pm"
       },
       "Bio::Graphics::Glyph::ex" : {
-         "file" : "lib/Bio/Graphics/Glyph/ex.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ex.pm"
       },
       "Bio::Graphics::Glyph::extending_arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/extending_arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/extending_arrow.pm"
       },
       "Bio::Graphics::Glyph::fb_shmiggle" : {
-         "file" : "lib/Bio/Graphics/Glyph/fb_shmiggle.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/fb_shmiggle.pm"
       },
       "Bio::Graphics::Glyph::fixedwidth" : {
-         "file" : "lib/Bio/Graphics/Glyph/fixedwidth.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/fixedwidth.pm"
       },
       "Bio::Graphics::Glyph::flag" : {
-         "file" : "lib/Bio/Graphics/Glyph/flag.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/flag.pm"
       },
       "Bio::Graphics::Glyph::gene" : {
-         "file" : "lib/Bio/Graphics/Glyph/gene.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/gene.pm"
       },
       "Bio::Graphics::Glyph::generic" : {
-         "file" : "lib/Bio/Graphics/Glyph/generic.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/generic.pm"
       },
       "Bio::Graphics::Glyph::graded_segments" : {
-         "file" : "lib/Bio/Graphics/Glyph/graded_segments.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/graded_segments.pm"
       },
       "Bio::Graphics::Glyph::group" : {
-         "file" : "lib/Bio/Graphics/Glyph/group.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/group.pm"
       },
       "Bio::Graphics::Glyph::hat" : {
-         "file" : "lib/Bio/Graphics/Glyph/hat.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/hat.pm"
       },
       "Bio::Graphics::Glyph::heat_map" : {
-         "file" : "lib/Bio/Graphics/Glyph/heat_map.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/heat_map.pm"
       },
       "Bio::Graphics::Glyph::heat_map_ideogram" : {
-         "file" : "lib/Bio/Graphics/Glyph/heat_map_ideogram.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/heat_map_ideogram.pm"
       },
       "Bio::Graphics::Glyph::heterogeneous_segments" : {
-         "file" : "lib/Bio/Graphics/Glyph/heterogeneous_segments.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/heterogeneous_segments.pm"
       },
       "Bio::Graphics::Glyph::hidden" : {
-         "file" : "lib/Bio/Graphics/Glyph/hidden.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/hidden.pm"
       },
       "Bio::Graphics::Glyph::hybrid_plot" : {
          "file" : "lib/Bio/Graphics/Glyph/hybrid_plot.pm",
          "version" : "1.0"
       },
       "Bio::Graphics::Glyph::ideogram" : {
-         "file" : "lib/Bio/Graphics/Glyph/ideogram.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ideogram.pm"
       },
       "Bio::Graphics::Glyph::image" : {
-         "file" : "lib/Bio/Graphics/Glyph/image.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/image.pm"
       },
       "Bio::Graphics::Glyph::lightning" : {
-         "file" : "lib/Bio/Graphics/Glyph/lightning.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/lightning.pm"
       },
       "Bio::Graphics::Glyph::line" : {
-         "file" : "lib/Bio/Graphics/Glyph/line.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/line.pm"
       },
       "Bio::Graphics::Glyph::merge_parts" : {
-         "file" : "lib/Bio/Graphics/Glyph/merge_parts.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/merge_parts.pm"
       },
       "Bio::Graphics::Glyph::merged_alignment" : {
-         "file" : "lib/Bio/Graphics/Glyph/merged_alignment.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/merged_alignment.pm"
       },
       "Bio::Graphics::Glyph::minmax" : {
-         "file" : "lib/Bio/Graphics/Glyph/minmax.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/minmax.pm"
       },
       "Bio::Graphics::Glyph::operon" : {
-         "file" : "lib/Bio/Graphics/Glyph/operon.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/operon.pm"
       },
       "Bio::Graphics::Glyph::oval" : {
-         "file" : "lib/Bio/Graphics/Glyph/oval.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/oval.pm"
       },
       "Bio::Graphics::Glyph::pairplot" : {
-         "file" : "lib/Bio/Graphics/Glyph/pairplot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/pairplot.pm"
       },
       "Bio::Graphics::Glyph::pentagram" : {
-         "file" : "lib/Bio/Graphics/Glyph/pentagram.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/pentagram.pm"
       },
       "Bio::Graphics::Glyph::phylo_align" : {
-         "file" : "lib/Bio/Graphics/Glyph/phylo_align.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/phylo_align.pm"
       },
       "Bio::Graphics::Glyph::pinsertion" : {
-         "file" : "lib/Bio/Graphics/Glyph/pinsertion.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/pinsertion.pm"
       },
       "Bio::Graphics::Glyph::point_glyph" : {
-         "file" : "lib/Bio/Graphics/Glyph/point_glyph.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/point_glyph.pm"
       },
       "Bio::Graphics::Glyph::primers" : {
-         "file" : "lib/Bio/Graphics/Glyph/primers.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/primers.pm"
       },
       "Bio::Graphics::Glyph::processed_transcript" : {
-         "file" : "lib/Bio/Graphics/Glyph/processed_transcript.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/processed_transcript.pm"
       },
       "Bio::Graphics::Glyph::protein" : {
-         "file" : "lib/Bio/Graphics/Glyph/protein.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/protein.pm"
       },
       "Bio::Graphics::Glyph::ragged_ends" : {
-         "file" : "lib/Bio/Graphics/Glyph/ragged_ends.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ragged_ends.pm"
       },
       "Bio::Graphics::Glyph::rainbow_gene" : {
-         "file" : "lib/Bio/Graphics/Glyph/rainbow_gene.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/rainbow_gene.pm"
       },
       "Bio::Graphics::Glyph::read_pair" : {
-         "file" : "lib/Bio/Graphics/Glyph/read_pair.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/read_pair.pm"
       },
       "Bio::Graphics::Glyph::redgreen_box" : {
-         "file" : "lib/Bio/Graphics/Glyph/redgreen_box.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/redgreen_box.pm"
       },
       "Bio::Graphics::Glyph::redgreen_segment" : {
-         "file" : "lib/Bio/Graphics/Glyph/redgreen_segment.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/redgreen_segment.pm"
       },
       "Bio::Graphics::Glyph::repeating_shape" : {
-         "file" : "lib/Bio/Graphics/Glyph/repeating_shape.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/repeating_shape.pm"
       },
       "Bio::Graphics::Glyph::rndrect" : {
-         "file" : "lib/Bio/Graphics/Glyph/rndrect.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/rndrect.pm"
       },
       "Bio::Graphics::Glyph::ruler_arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/ruler_arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ruler_arrow.pm"
       },
       "Bio::Graphics::Glyph::saw_teeth" : {
-         "file" : "lib/Bio/Graphics/Glyph/saw_teeth.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/saw_teeth.pm"
       },
       "Bio::Graphics::Glyph::scale" : {
-         "file" : "lib/Bio/Graphics/Glyph/scale.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/scale.pm"
       },
       "Bio::Graphics::Glyph::segmented_keyglyph" : {
-         "file" : "lib/Bio/Graphics/Glyph/segmented_keyglyph.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/segmented_keyglyph.pm"
       },
       "Bio::Graphics::Glyph::segments" : {
-         "file" : "lib/Bio/Graphics/Glyph/segments.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/segments.pm"
       },
       "Bio::Graphics::Glyph::smoothing" : {
-         "file" : "lib/Bio/Graphics/Glyph/smoothing.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/smoothing.pm"
       },
       "Bio::Graphics::Glyph::so_transcript" : {
-         "file" : "lib/Bio/Graphics/Glyph/so_transcript.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/so_transcript.pm"
       },
       "Bio::Graphics::Glyph::span" : {
-         "file" : "lib/Bio/Graphics/Glyph/span.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/span.pm"
       },
       "Bio::Graphics::Glyph::spectrogram" : {
-         "file" : "lib/Bio/Graphics/Glyph/spectrogram.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/spectrogram.pm"
       },
       "Bio::Graphics::Glyph::splice_site" : {
-         "file" : "lib/Bio/Graphics/Glyph/splice_site.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/splice_site.pm"
       },
       "Bio::Graphics::Glyph::stackedplot" : {
-         "file" : "lib/Bio/Graphics/Glyph/stackedplot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/stackedplot.pm"
       },
       "Bio::Graphics::Glyph::ternary_plot" : {
-         "file" : "lib/Bio/Graphics/Glyph/ternary_plot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/ternary_plot.pm"
       },
       "Bio::Graphics::Glyph::text_in_box" : {
-         "file" : "lib/Bio/Graphics/Glyph/text_in_box.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/text_in_box.pm"
       },
       "Bio::Graphics::Glyph::three_letters" : {
-         "file" : "lib/Bio/Graphics/Glyph/three_letters.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/three_letters.pm"
       },
       "Bio::Graphics::Glyph::tic_tac_toe" : {
-         "file" : "lib/Bio/Graphics/Glyph/tic_tac_toe.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/tic_tac_toe.pm"
       },
       "Bio::Graphics::Glyph::toomany" : {
-         "file" : "lib/Bio/Graphics/Glyph/toomany.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/toomany.pm"
       },
       "Bio::Graphics::Glyph::trace" : {
-         "file" : "lib/Bio/Graphics/Glyph/trace.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/trace.pm"
       },
       "Bio::Graphics::Glyph::track" : {
-         "file" : "lib/Bio/Graphics/Glyph/track.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/track.pm"
       },
       "Bio::Graphics::Glyph::transcript" : {
-         "file" : "lib/Bio/Graphics/Glyph/transcript.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/transcript.pm"
       },
       "Bio::Graphics::Glyph::transcript2" : {
-         "file" : "lib/Bio/Graphics/Glyph/transcript2.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/transcript2.pm"
       },
       "Bio::Graphics::Glyph::translation" : {
-         "file" : "lib/Bio/Graphics/Glyph/translation.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/translation.pm"
       },
       "Bio::Graphics::Glyph::triangle" : {
-         "file" : "lib/Bio/Graphics/Glyph/triangle.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/triangle.pm"
       },
       "Bio::Graphics::Glyph::two_bolts" : {
-         "file" : "lib/Bio/Graphics/Glyph/two_bolts.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/two_bolts.pm"
       },
       "Bio::Graphics::Glyph::vista_plot" : {
          "file" : "lib/Bio/Graphics/Glyph/vista_plot.pm",
          "version" : "1.0"
       },
       "Bio::Graphics::Glyph::wave" : {
-         "file" : "lib/Bio/Graphics/Glyph/wave.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wave.pm"
       },
       "Bio::Graphics::Glyph::weighted_arrow" : {
-         "file" : "lib/Bio/Graphics/Glyph/weighted_arrow.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/weighted_arrow.pm"
       },
       "Bio::Graphics::Glyph::whiskerplot" : {
-         "file" : "lib/Bio/Graphics/Glyph/whiskerplot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/whiskerplot.pm"
       },
       "Bio::Graphics::Glyph::wiggle_box" : {
-         "file" : "lib/Bio/Graphics/Glyph/wiggle_box.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wiggle_box.pm"
       },
       "Bio::Graphics::Glyph::wiggle_data" : {
-         "file" : "lib/Bio/Graphics/Glyph/wiggle_data.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wiggle_data.pm"
       },
       "Bio::Graphics::Glyph::wiggle_density" : {
-         "file" : "lib/Bio/Graphics/Glyph/wiggle_density.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wiggle_density.pm"
       },
       "Bio::Graphics::Glyph::wiggle_whiskers" : {
-         "file" : "lib/Bio/Graphics/Glyph/wiggle_whiskers.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wiggle_whiskers.pm"
       },
       "Bio::Graphics::Glyph::wiggle_xyplot" : {
-         "file" : "lib/Bio/Graphics/Glyph/wiggle_xyplot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/wiggle_xyplot.pm"
       },
       "Bio::Graphics::Glyph::xyplot" : {
-         "file" : "lib/Bio/Graphics/Glyph/xyplot.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Glyph/xyplot.pm"
       },
       "Bio::Graphics::Layout" : {
-         "file" : "lib/Bio/Graphics/Layout.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Layout.pm"
       },
       "Bio::Graphics::Layout::Contour" : {
-         "file" : "lib/Bio/Graphics/Layout.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Layout.pm"
       },
       "Bio::Graphics::Math" : {
-         "file" : "lib/Bio/Graphics/Layout.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Layout.pm"
       },
       "Bio::Graphics::Panel" : {
-         "file" : "lib/Bio/Graphics/Panel.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Panel.pm"
       },
       "Bio::Graphics::Pictogram" : {
-         "file" : "lib/Bio/Graphics/Pictogram.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Pictogram.pm"
       },
       "Bio::Graphics::RendererI" : {
-         "file" : "lib/Bio/Graphics/RendererI.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/RendererI.pm"
       },
       "Bio::Graphics::Util" : {
-         "file" : "lib/Bio/Graphics/Util.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Util.pm"
       },
       "Bio::Graphics::Wiggle" : {
          "file" : "lib/Bio/Graphics/Wiggle.pm",
          "version" : "1.0"
       },
       "Bio::Graphics::Wiggle::Loader" : {
-         "file" : "lib/Bio/Graphics/Wiggle/Loader.pm",
-         "version" : 0
+         "file" : "lib/Bio/Graphics/Wiggle/Loader.pm"
       }
    },
    "release_status" : "stable",
@@ -483,5 +376,5 @@
          "http://dev.perl.org/licenses/"
       ]
    },
-   "version" : "2.37"
+   "version" : "2.39"
 }
diff --git a/META.yml b/META.yml
index 343d703..7f229d0 100644
--- a/META.yml
+++ b/META.yml
@@ -4,9 +4,9 @@ author:
   - 'Lincoln Stein <lincoln.stein at oicr.on.ca>'
 build_requires: {}
 configure_requires:
-  Module::Build: 0.38
+  Module::Build: 0.42
 dynamic_config: 1
-generated_by: 'Module::Build version 0.38, CPAN::Meta::Converter version 2.110440'
+generated_by: 'Module::Build version 0.4205, CPAN::Meta::Converter version 2.120351'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -15,7 +15,7 @@ name: Bio-Graphics
 provides:
   Bio::Graphics:
     file: lib/Bio/Graphics.pm
-    version: 2.37
+    version: 2.39
   Bio::Graphics::ConfiguratorI:
     file: lib/Bio/Graphics/ConfiguratorI.pm
     version: 0
@@ -355,4 +355,4 @@ requires:
   Statistics::Descriptive: 2.6
 resources:
   license: http://dev.perl.org/licenses/
-version: 2.37
+version: 2.39
diff --git a/Makefile.PL b/Makefile.PL
index ff5123e..34def82 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.3800
+# Note: this file was auto-generated by Module::Build::Compat version 0.4205
 
     unless (eval "use Module::Build::Compat 0.02; 1" ) {
       print "This module requires Module::Build to install itself.\n";
diff --git a/lib/Bio/Graphics.pm b/lib/Bio/Graphics.pm
index 2894b28..a02c97a 100755
--- a/lib/Bio/Graphics.pm
+++ b/lib/Bio/Graphics.pm
@@ -2,7 +2,7 @@ package Bio::Graphics;
 
 use strict;
 use Bio::Graphics::Panel;
-our $VERSION = '2.37';
+our $VERSION = '2.39';
 
 1;
 
diff --git a/lib/Bio/Graphics/DrawTransmembrane.pm b/lib/Bio/Graphics/DrawTransmembrane.pm
index 260b57a..838d34d 100755
--- a/lib/Bio/Graphics/DrawTransmembrane.pm
+++ b/lib/Bio/Graphics/DrawTransmembrane.pm
@@ -76,7 +76,7 @@ my %DRAWOPTIONS = (
                                    'default' => 1},
     ## labeling options
     'labels'                  => { 'private' => 'loop_labels',
-                                   'default' => []},
+                                   'default' => {}},
     'text_offset'             => { 'private' => 'text_offset',
                                    'default' => 0},
     'helix_label'             => { 'private' => 'helix_label',
diff --git a/lib/Bio/Graphics/Glyph.pm b/lib/Bio/Graphics/Glyph.pm
index b6d2587..6c70908 100755
--- a/lib/Bio/Graphics/Glyph.pm
+++ b/lib/Bio/Graphics/Glyph.pm
@@ -9,7 +9,7 @@ use Bio::Graphics::Layout;
 use Memoize 'memoize';
 memoize('options') unless $^O =~ /mswin/i;
 # memoize('option',NORMALIZER=>'_normalize_objects'); # helps ??
-my %OptionCache; # works better?
+# my %OptionCache; # works better?
 
 use base qw(Bio::Root::Root);
 
@@ -630,11 +630,9 @@ sub boxes {
    my $self = shift;
    my $option_name = shift;
    local $^W=0;
-   my $cache_key = join ';',(%$self,$option_name);
-   return $OptionCache{$cache_key} if exists $OptionCache{$cache_key};
    my @args = ($option_name,@{$self}{qw(partno total_parts)});
    my $factory = $self->{factory} or return;
-   return $OptionCache{$cache_key} = $factory->option($self, at args);
+   return $factory->option($self, at args);
 }
 
 # get an option that might be a code reference
diff --git a/lib/Bio/Graphics/Glyph/generic.pm b/lib/Bio/Graphics/Glyph/generic.pm
index 3a39d6e..7af2b2e 100755
--- a/lib/Bio/Graphics/Glyph/generic.pm
+++ b/lib/Bio/Graphics/Glyph/generic.pm
@@ -217,7 +217,9 @@ sub pad_left {
 }
 sub labelfont {
   my $self = shift;
-  return $self->getfont('label_font',$self->font);
+  my $font = $self->getfont('label_font',$self->font);
+  $font = GD->gdTinyFont if $self->string_height($font) > $self->height && $self->label_position eq 'left';
+  return $font;
 }
 sub descfont {
   my $self = shift;
@@ -478,8 +480,8 @@ sub draw_label {
 			$self->top + $top - 1,
 			$label);
   } elsif ($self->label_position eq 'left') {
-      my $y = $self->{top} + ($self->height - $self->string_height($font))/2 + $top;
-      $y    = $self->{top} + $top if $y < $self->{top} + $top;
+#      my $y = $top + $self->{top} + ($self->height - $self->string_height($font))/2;
+      my $y = $top + $self->{top} - 1;
       $self->render_label($gd,
 			  $font,
 			  $x,
diff --git a/lib/Bio/Graphics/Glyph/hybrid_plot.pm b/lib/Bio/Graphics/Glyph/hybrid_plot.pm
index 200f237..4cbebb9 100755
--- a/lib/Bio/Graphics/Glyph/hybrid_plot.pm
+++ b/lib/Bio/Graphics/Glyph/hybrid_plot.pm
@@ -70,7 +70,7 @@ sub draw {
  my ($left,$top,$right,$bottom) = $self->calculate_boundaries($dx,$dy);
  my $height   = $bottom - $top;
  my $feature  = $self->feature;
- my $set_flip = $self->option('flip_sign') | 0;
+ my $set_flip = $self->option('flip_sign') || 0;
 
  #Draw individual features for reads (unlike wiggle features reads will have scores)
  my $t_id = $feature->method;
@@ -106,7 +106,23 @@ sub draw {
 					-end    => $self->panel->end,
 					-type   => 'summary');
 	 my $stats = $summary->statistical_summary($self->width);
-	 my @vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount}*$flip:0} @$stats;
+	 my $interval_method = $self->option('interval_method') || 'mean';
+	 my @vals;
+	 if ($interval_method eq 'mean') {
+		@vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount} * $flip : undef} @$stats;
+	 }
+	 elsif ($interval_method eq 'sum') {
+		@vals  = map {$_->{validCount} ? $_->{sumData} * $flip : undef} @$stats;
+	 }
+	 elsif ($interval_method eq 'min') {
+		@vals  = map {$_->{validCount} ? $_->{minVal} * $flip : undef} @$stats;
+	 }
+	 elsif ($interval_method eq 'max') {
+		@vals  = map {$_->{validCount} ? $_->{maxVal} * $flip : undef} @$stats;
+	 }
+	 else {
+		warn "unrecognized interval method $interval_method!";
+	 }
 	 $self->_draw_coverage($summary,\@vals, at _);
      }
  }
@@ -129,6 +145,7 @@ sub minmax {
     my $parts  = shift;
 
     my $autoscale  = $self->option('autoscale') || 'local';
+    my $set_flip = $self->option('flip_sign') || 0;
 
     my $min_score  = $self->min_score  unless $autoscale eq 'z_score';
     my $max_score  = $self->max_score  unless $autoscale eq 'z_score';
@@ -160,6 +177,7 @@ sub minmax {
 	$stdev += $d**2;
     }
     $stdev = sqrt($stdev);
+    $min = $max * -1 if ($set_flip);
 
     $min_score = $min if $do_min;
     $max_score = $max if $do_max;
diff --git a/lib/Bio/Graphics/Glyph/vista_plot.pm b/lib/Bio/Graphics/Glyph/vista_plot.pm
index 7486eac..af7690a 100755
--- a/lib/Bio/Graphics/Glyph/vista_plot.pm
+++ b/lib/Bio/Graphics/Glyph/vista_plot.pm
@@ -203,7 +203,23 @@ sub draw_signal {
 	    $self->Bio::Graphics::Glyph::wiggle_whiskers::draw(@_);
 	} else {
 	    my $stats = $summary->statistical_summary($self->width);
-	    my @vals  = map {$_->{validCount} ? Bio::DB::BigWig::binMean($_) : 0} @$stats; 
+		my $interval_method = $self->option('interval_method') || 'mean';
+		my @vals;
+		if ($interval_method eq 'mean') {
+			@vals  = map {$_->{validCount} ? Bio::DB::BigWig::binMean($_) : undef} @$stats;
+		}
+		elsif ($interval_method eq 'sum') {
+			@vals  = map {$_->{validCount} ? $_->{sumData} : undef} @$stats;
+		}
+		elsif ($interval_method eq 'min') {
+			@vals  = map {$_->{validCount} ? $_->{minVal} : undef} @$stats;
+		}
+		elsif ($interval_method eq 'max') {
+			@vals  = map {$_->{validCount} ? $_->{maxVal} : undef} @$stats;
+		}
+		else {
+			warn "unrecognized interval method $interval_method!";
+		}
 	    $self->bigwig_summary($summary);
 	    if ($signal_type eq 'density') {
 		$self->Bio::Graphics::Glyph::wiggle_density::_draw_coverage($summary,\@vals, at _);
diff --git a/lib/Bio/Graphics/Glyph/wiggle_data.pm b/lib/Bio/Graphics/Glyph/wiggle_data.pm
index f9707ee..a95e75b 100755
--- a/lib/Bio/Graphics/Glyph/wiggle_data.pm
+++ b/lib/Bio/Graphics/Glyph/wiggle_data.pm
@@ -3,6 +3,7 @@ package Bio::Graphics::Glyph::wiggle_data;
 use strict;
 use base qw(Bio::Graphics::Glyph::minmax);
 use File::Spec;
+use Data::Dumper;
 sub minmax {
     my $self   = shift;
     my $parts  = shift;
@@ -155,7 +156,7 @@ sub wig {
 sub datatype {
     my $self = shift;
     my $feature = $self->feature;
-    warn $feature->display_name;
+
     my ($tag,$value);
     for my $t ('wigfile','wigdata','densefile','coverage') {
 	if (my ($v) = eval{$feature->get_tag_values($t)}) {
@@ -164,12 +165,13 @@ sub datatype {
 	    last;
 	}
     }
-    unless ($value) {
+    if (!$value && $feature->can('statistical_summary')) {
 	$tag   = 'statistical_summary';
 	$value = eval{$feature->statistical_summary};
-	$value or warn "track data object '",ref($feature),"' does not support statistical_summary() method; please add wigfile,wigdata,densefile or coverage attribute to data file";
     }
+
     $tag ||= 'generic';
+
     return wantarray ? ($tag,$value) : $tag;
 }
 
@@ -243,7 +245,23 @@ sub create_parts_from_summary {
     my $self = shift;
     my ($stats,$start,$end) = @_;
     $stats ||= [];
-    my @vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount}:0} @$stats;
+    my $interval_method = $self->option('interval_method') || 'mean';
+    my @vals;
+    if ($interval_method eq 'mean') {
+    	@vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'sum') {
+    	@vals  = map {$_->{validCount} ? $_->{sumData} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'min') {
+    	@vals  = map {$_->{validCount} ? $_->{minVal} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'max') {
+    	@vals  = map {$_->{validCount} ? $_->{maxVal} : undef} @$stats;
+    }
+    else {
+    	warn "unrecognized interval method $interval_method!";
+    }
     return \@vals;
 }
 
@@ -397,7 +415,23 @@ sub draw_statistical_summary {
     my $feature = shift;
     my $stats = $feature->statistical_summary($self->width);
     $stats   ||= [];
-    my @vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount}:0} @$stats;
+    my $interval_method = $self->option('interval_method') || 'mean';
+    my @vals;
+    if ($interval_method eq 'mean') {
+    	@vals  = map {$_->{validCount} ? $_->{sumData}/$_->{validCount} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'sum') {
+    	@vals  = map {$_->{validCount} ? $_->{sumData} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'min') {
+    	@vals  = map {$_->{validCount} ? $_->{minVal} : undef} @$stats;
+    }
+    elsif ($interval_method eq 'max') {
+    	@vals  = map {$_->{validCount} ? $_->{maxVal} : undef} @$stats;
+    }
+    else {
+    	warn "unrecognized interval method $interval_method!";
+    }
     return $self->_draw_coverage($feature,\@vals, at _);
 }
 
@@ -418,6 +452,7 @@ sub _draw_coverage {
 	my $s      = $start + $offset;
 	my $e      = $s+1;  # fill in gaps
 	my $v      = $array->[$offset/$bases_per_bin];
+	next unless defined $v; # skip missing values
 	push @parts,[$s,$s,$v];
     }
     $self->draw_plot(\@parts, at _);
diff --git a/lib/Bio/Graphics/Glyph/wiggle_density.pm b/lib/Bio/Graphics/Glyph/wiggle_density.pm
index edc324a..e27385e 100755
--- a/lib/Bio/Graphics/Glyph/wiggle_density.pm
+++ b/lib/Bio/Graphics/Glyph/wiggle_density.pm
@@ -80,7 +80,8 @@ sub draw {
     $self->panel->endGroup($gd);
     return $retval;
   } else {
-      return $self->Bio::Graphics::Glyph::box::draw(@_);
+      # This draws a filled box for null value data
+      #return $self->Bio::Graphics::Glyph::box::draw(@_);
   }
 }
 
@@ -168,6 +169,7 @@ sub draw_segment {
   my $data    = ref $seg_data eq 'ARRAY' ? $seg_data
                                          : $seg_data->values($start,$end,$samples);
 
+
   # scale the glyph if the data end before the panel does
   my $data_width = $end - $start;
   my $data_width_ratio;
@@ -358,6 +360,7 @@ sub draw_plot {
     $self->panel->startGroup($gd);
     foreach (@$parts) {
 	my ($start,$end,$score) = @$_;
+	next unless defined $score; # undefined (absent) score transparent
 	$score    = ($score-$mean)/$stdev if $rescale;
 	$score    = $scaled_min if $scaled_min > $score;
 	$score    = $scaled_max if $scaled_max < $score;
@@ -401,6 +404,7 @@ sub _draw_coverage {
 	my $s      = $start + $offset;
 	my $e      = $s+1;  # fill in gaps
 	my $v      = $array->[$offset/$bases_per_bin];
+	#$v         = 0 unless defined $v; # don't want undefined values
 	push @parts,[$s,$s,$v];
     }
     $self->Bio::Graphics::Glyph::wiggle_density::draw_plot(\@parts, at _);
@@ -411,7 +415,7 @@ sub calculate_color {
   my ($s,$rgb,$min_score,$max_score) = @_;
   $s ||= $min_score;
 
-  return (255,255,255) if $max_score <= $min_score; # avoid div by zero
+  return (255,255,255) unless $max_score - $min_score; # avoid div by zero
 
   my $relative_score = ($s-$min_score)/($max_score-$min_score);
   $relative_score    = 0 if $relative_score < 0;
diff --git a/lib/Bio/Graphics/Glyph/wiggle_xyplot.pm b/lib/Bio/Graphics/Glyph/wiggle_xyplot.pm
index 9ed0e29..db963ed 100755
--- a/lib/Bio/Graphics/Glyph/wiggle_xyplot.pm
+++ b/lib/Bio/Graphics/Glyph/wiggle_xyplot.pm
@@ -11,10 +11,12 @@ sub my_description {
     return <<END;
 This glyph draws quantitative data as an xyplot. It is designed to be
 used in conjunction with features in "wiggle" format as generated by
-Bio::Graphics::Wiggle, or base pair coverage data generated by the
-Bio::DB::Sam module.
+Bio::Graphics::Wiggle, base pair coverage data generated by the
+Bio::DB::Sam module, or interval statistical_summaries generated by 
+the Bio::DB::BigWig module.
 
-For this glyph to work, the feature must define one of the following tags:
+For this glyph to work, the feature must define one of the following tags
+or methods:
 
   wigfile -- a path to a Bio::Graphics::Wiggle file
 
@@ -24,6 +26,8 @@ For this glyph to work, the feature must define one of the following tags:
   coverage-- a simple comma-delimited string containing the quantitative values,
              assumed to be one value per pixel.
 
+  statistical_summary() -- a method for generating statistical information 
+             including validCount, maxVal, minVal, sumData, and sumSquares.
 END
 }
 
@@ -64,6 +68,13 @@ sub my_options {
 	    'scaled to the minimum and maximum values of the region currently on display.',
 	    'min_score and max_score override autoscaling if one or both are defined'
         ],
+    interval_method => [
+    	['mean', 'sum', 'min', 'max'],
+    	'mean',
+    	'When working with features that offer a statistical_summary() method,',
+    	'such as those from Bio::DB::BigWig, define the method for reporting',
+    	'scores within each interval.',
+    ],
     };
 }
 
@@ -396,6 +407,12 @@ the "wigdata" attribute. This can be an arrayref of quantitative data
 starting at feature start and ending at feature end, or the
 data string returned by Bio::Graphics::Wiggle->export_to_wif64($start,$end).
 
+The glyph also supports features which offer a statistical_summary()
+method, such as those from Bio::DB::BigWig. This method returns a hash
+of values, including validCount, maxVal, minVal, sumData, and sumSquares.
+For each interval, a statistical score is generated from these values.
+The mean, minimum, maximum, or sum of the values may be reported.
+
 =head2 OPTIONS
 
 In addition to all the xyplot glyph options, the following options are
@@ -439,6 +456,12 @@ recognized:
    neg_color   color        When drawing bicolor plots, the fill color to use for values
                               that are below the pivot point.
 
+   interval_method   method  When working with bigWig features that use the
+                             statistical_summary() method, define the method
+                             for reporting one or more scores within each
+                             interval. Options include "mean", "sum", "min",
+                             or "max". Default is "mean".
+
 =head2 SPECIAL FEATURE TAGS
 
 The glyph expects one or more of the following tags (attributes) in
diff --git a/scripts/feature_draw.pl b/scripts/feature_draw.pl
index e878ad0..d597ee8 100755
--- a/scripts/feature_draw.pl
+++ b/scripts/feature_draw.pl
@@ -7,6 +7,7 @@ use Bio::Graphics::Feature;
 use Bio::Graphics::FeatureFile;
 
 use Getopt::Long;
+use List::Util qw/first/;
 
 use constant WIDTH => 600;
 my ($WIDTH,$RANGE,$BOXES);
@@ -86,7 +87,13 @@ if ($BOXES) {  # debugging code
   debugging_rectangles($gd,$boxes);
 }
 
-print $gd->can('png') ? $gd->png : $gd->gif;
+if($gd->can('png')) {
+  print STDERR "Printing png\n";
+  print $gd->png;
+} elsif($gd->can('gif')) {
+  print STDERR "Printing gif\n";
+  print $gd->gif;
+};
 
 sub debugging_rectangles {
   my ($image,$boxes) = @_;
diff --git a/t/BioGraphics.t b/t/BioGraphics.t
index 8e7501c..a2dc52f 100755
--- a/t/BioGraphics.t
+++ b/t/BioGraphics.t
@@ -15,7 +15,9 @@ use File::Glob ':glob';
 # for now, the image tests are turned off
 use lib "$Bin/../lib";
 
-use constant IMAGE_TESTS => 1;
+# libgd has become unstable -- produces a binary different (but visually identical)
+# image each time.
+use constant IMAGE_TESTS => 0; 
 
 BEGIN { 
   use lib '.';
@@ -174,18 +176,19 @@ sub do_write {
 
 sub do_compare {
   my $test = shift;
-  my $canpng = GD::Image->can('png');
-  my @input_files = glob($images . ($canpng ? "/$test/*.png" : "/$test/*.gif"));
+  my $cangif = GD::Image->can('gif');
+  my @input_files = glob($images . ($cangif ? "/$test/*.gif" : "/$test/*.png"));
   my $test_sub    = $test;
   my $panel       = eval "$test_sub()" or die "Couldn't run test";
   my $ok = 0;
-  my $test_data = $canpng ? $panel->gd->png : $panel->gd->gif;
+  my $test_data = $cangif ? $panel->gd->gif : $panel->gd->png;
   foreach (@input_files) {
-    my $reference_data = read_file($_);
-    if ($reference_data eq $test_data) {
-      $ok++;
-      last;
-    }
+      my $gd = $cangif ? GD::Image->newFromGif($_) : GD::Image->newFromPng($_);
+      my $reference_data = $cangif ? $gd->gif : $gd->png;
+      if ($reference_data eq $test_data) {
+	  $ok++;
+	  last;
+      }
   }
   ok($ok);
 }
diff --git a/t/data/t1.gif b/t/data/t1.gif
index 691f946..c8ef1e7 100644
Binary files a/t/data/t1.gif and b/t/data/t1.gif differ
diff --git a/t/data/t1.png b/t/data/t1.png
index 696e7fc..fe28e4b 100644
Binary files a/t/data/t1.png and b/t/data/t1.png differ
diff --git a/t/data/t1/version15.gif b/t/data/t1/version15.gif
new file mode 100644
index 0000000..e291b0e
Binary files /dev/null and b/t/data/t1/version15.gif differ
diff --git a/t/data/t1/version15.png b/t/data/t1/version15.png
new file mode 100644
index 0000000..c485bbf
Binary files /dev/null and b/t/data/t1/version15.png differ
diff --git a/t/data/t2.gif b/t/data/t2.gif
index a025dd4..a1a683a 100644
Binary files a/t/data/t2.gif and b/t/data/t2.gif differ
diff --git a/t/data/t2.png b/t/data/t2.png
index 7d6c1ff..ea7060f 100644
Binary files a/t/data/t2.png and b/t/data/t2.png differ
diff --git a/t/data/t2/version21.gif b/t/data/t2/version21.gif
new file mode 100644
index 0000000..f8f7873
Binary files /dev/null and b/t/data/t2/version21.gif differ
diff --git a/t/data/t2/version21.png b/t/data/t2/version21.png
new file mode 100644
index 0000000..acd2099
Binary files /dev/null and b/t/data/t2/version21.png differ
diff --git a/t/data/t3.gif b/t/data/t3.gif
index 2a2db4b..6cb3a28 100644
Binary files a/t/data/t3.gif and b/t/data/t3.gif differ
diff --git a/t/data/t3.png b/t/data/t3.png
index 540f250..8068959 100644
Binary files a/t/data/t3.png and b/t/data/t3.png differ
diff --git a/t/data/t3/version16.gif b/t/data/t3/version16.gif
new file mode 100644
index 0000000..d58ead7
Binary files /dev/null and b/t/data/t3/version16.gif differ
diff --git a/t/data/t3/version16.png b/t/data/t3/version16.png
new file mode 100644
index 0000000..ce10f23
Binary files /dev/null and b/t/data/t3/version16.png differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/libbio-graphics-perl.git



More information about the debian-med-commit mailing list