[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