GBrowse
view release on metacpan or search on metacpan
* Fix track-level genbank and fasta dumping.
* Fix (mostly) the batch and sequence dumping plugins.
2.47
* Fix bugs in demo mode.
* Fix session locking bug; FastCGI performance subjectively improved.
* Revert to using inline imagemaps when not running in an accelerated environment.
* Require Bio::Graphics version 2.26, so that transparency is supported.
2.46
* Support for transparent overlay tracks. These will appear as a user settable formatting option
for any track with subtracks. To make this default for a track set "bump = overlap" and consider
setting "color_series = 1" in order for background colors to be assigned automatically;
* When downloading vista tracks, default download format to "vista_wiggle".
* Fix signal handling under FastCGI in order to kill runaway rendering processes
when server restarted.
2.45
* Restore h_feat & h_region functionality to gbrowse_img.
* Fix gbrowse_img documentation to point to correct example URLs on WormBase.
* Fix persistent grey screen when clicking on snapshot thumbnail.
docs/pod/PLUGINS_HOWTO.pod view on Meta::CPAN
=item 2. finders
These plugins accept input from the user and return a list of
genomic regions. The main browser displays the found regions and
allows the user to select among them. Example: BLAST search.
=item 3. annotators
These plugins receive the genomic segment object and return a list
of features which are overlayed on top of the detailed view.
Example: restriction site annotator.
=item 4. highlighters
These plugins receive each feature in turn before it is rendered and
can return a color name in order to highlight the background of the
feature with that color.
=item 5. filters
htdocs/js/snapshotManager.js view on Meta::CPAN
return false;
} else {
return true;
}
} else {
return false;
}
},
/* this code has nothing to do with snapshots
* but is instead a hack for xyplot overlays
* disable it for now
linkTrackLegend:
function(){
var subtrack_groups = $$('.subtrack_group');
subtrack_groups.each(function(subtrack_group) {
var subtracks = subtrack_group.childElements();
if(subtracks.size() > 1){
subtracks.each(function(subtrack) {
var label = subtrack.down().down().innerHTML;
lib/Bio/Graphics/Browser2/Plugin.pm view on Meta::CPAN
=item 2) finders
These plugins accept input from the user and return a
list of genomic regions. The main browser displays the found regions
and allows the user to select among them. Example: BLAST search.
=item 3) annotators
These plugins receive the genomic segment object and either 1) return
a list of features which are overlayed on top of the detailed view
(Example: restriction site annotator) or 2) update the database with
new or modified features and return nothing (Example: basic editor)
=item 4) trackfilters
These plugins can be used to reduce the complexity of sites that have
many tracks, by providing search and filtering functions for the track
table. When a trackfilter is active, its form-based user interface is
positioned directly above the tracks table, and changes to the for
cause the list of tracks to be updated dynamically.
lib/Bio/Graphics/Browser2/RenderPanels.pm view on Meta::CPAN
my $pad_img = img(
{ -src => $pad_url,
-width => $pad->width,
-border => 0,
-id => "${label}_pad",
-class => 'track_image',
-style => $collapsed ? "display:inline" : "display:none",
}
);
my $overlay_div = '';
# Add arrows for panning to details scalebar panel
if ($is_scalebar && $is_detail) {
my $style = 'opacity:0.35;position:absolute;border:none;cursor:pointer';
my $pan_left = img({
-style => $style . ';left:5px',
-class => 'panleft',
-src => "$buttons/panleft.png",
-onClick => "Controller.scroll('left',0.5)"
});
lib/Bio/Graphics/Browser2/RenderPanels.pm view on Meta::CPAN
my $pan_right = img({
-style => $style . ';right:5px',
-class => 'panright',
-src => "$buttons/panright.png",
-onClick => "Controller.scroll('right',0.5)",
});
my $scale_div = div( { -id => "detail_scale_scale",
-style => "position:absolute; top:12px", }, "" );
$overlay_div = div( { -id => "${label}_overlay_div",
-style => "position:absolute; top:0px; width:100%; left:0px", }, $pan_left . $pan_right . $scale_div);
}
my $inner_div = div( { -id => "${label}_inner_div",-class=>'inner_div' }, $img . $pad_img ); #Should probably improve this
my $subtrack_labels = join '',map {
my ($label,$left,$top,undef,undef,$color) = @$_;
$left -= $source->global_setting('pad_left') + PAD_DETAIL_SIDES;
$left = 3 if $left < 3;
my ($r,$g,$b,$a) = $color =~ /rgba\((\d+),(\d+),(\d+),([\d.]+)/;
$a = 0.60 if $a > 0.75;
my $fgcolor = $a <= 0.5 ? 'black' : ($r+$g+$b)/3 > 128 ? 'black' : 'white';
div({-class=>'subtrack',-style=>"top:${top}px;left:${left}px;color:$fgcolor;background-color:rgba($r,$g,$b,$a)"},$label);
} @$titles;
my $html = div({-class=>'centered_block',
-style=>"position:relative;overflow:hidden"
},
($show_titlebar ? $titlebar : '' ) . $popmenu . $subtrack_labels . $inner_div . $overlay_div ) . ( $map_html || '' );
return $html;
}
sub if_not_ipad {
my $self = shift;
my @args = @_;
my $agent = CGI->user_agent || '';
my $probably_ipad = $agent =~ /Mobile.+Safari/i;
return if $probably_ipad;
return @args;
( run in 0.260 second using v1.01-cache-2.11-cpan-cba739cd03b )