GBrowse

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


2.24
   * Fixed gbrowse_metadb_config.pl script so that it no longer fails when creating a user database
     from scratch.

2.23
   * Added an "example_scripts" directory that contains a perl scripts that show how to manipulate
     sessions, upload custom tracks, and get basic information about services. This directory accompanies
     new REST API documentation located at http://gmod.oicr.on.ca/wiki/GBrowse2_REST_API.
   * Fixed missing "registration" link in login dialog. This occurred when openid was unavailable.
   * Fixed popup dialogs in the "Help" menu so that they appear again.
   * Fixed file upload status display to prevent upload details section from disappearing when
     uploading very small files.
   * Tinkered with session settings to minimize session lock timeouts.
   * Removed some dangling warnings in the track sharing module.
   * Made SQLite the default user account database.
   * Fixed default SQLite user account database to be created in /var/www/gbrowse2/databases rather
     than in / (root) directory.

2.22
   * Fixed gbrowse_img to reactivate documented ability to list multiple tracks with t=track1+track2+track3
   * Fixed startup to avoid Javascript crashing on autocomplete initiation when user accounts turned off. This
     had caused the "eurl" param (used to import external data tracks via URL) to fail.

2.21
   * Fix all references to File::Path 'remove_tree" to "rm_tree" in order to work
   with older versions of File::Path.
   * Fixed display bug in Safari (popup balloons not working after zooming into a track).
   * Fixed Internet Explorer crash when uploading new files.
   * Fixed 'eurl=url' remote feature addition.
   * Added basic ipad functionality.
   * Newly-added uploaded tracks appear on the top now.

2.20
    * User uploads can be run in the usual file-based mode or with a new database-driven system that
      supports sharing files between users based on public, group, casual (with a sharing link)
      and private permissions.
    * Added the ability to load wider details images. Detail tracks can then be dragged left and right

Changes  view on Meta::CPAN

	  initialize the account.
	* If session arguments not specified in GBrowse.conf, software will pick the fastest
	  version.
        * Brought tutorial into synch with new features and syntax.
        * "Build demo" now works correctly.
        * Install registration feature activated.
1.9990  * Re-added the ability to group tracks into NxM tables.
	* Fixed bug in which database ID was not filled in on the clickable imagemap when
	  multiple features are shown.
	* Implemented the Finder plugin interface.
	* Balloon popups now work when gbrowse_img is embedded (from Xiaoqi Shi's patch).
	* Fixed track sharing client functionality.
1.9984  * gbrowse_img now shows karyotype display when multiple regions are selected.
	* Fixed install paths and verified that you can install into home directory.
1.9983  * Not released.
1.9982  * Undid some of the damage left by the upload code cleanup.
	* Can now upload gzipped and bzipp2ed files for all file types.
	* SAM and BAM file uploading supported, provided Bio::DB::BAM library is installed
	  and there is a suitable FASTA file for the reference genome in one of the tracks.
1.9981  * The old-style upload code has been removed.
1.998   * WARNING: WIG FILE UPLOADING NOT WORKING.

Changes  view on Meta::CPAN

        * fixed bug that was causing remote tracks that didn't happen
          to contain any features in current view to remain greyed out

1.90    * server farm rearchitecture introduced
	* big cleanup of defunct files; migrating to Module::Build

1.67    * Templates now the norm, use gbrowse_not to get the "no templates" version.
	* The das script now works (more or less) with Bio::DB::SeqFeature::Store adaptor. Not tested
	with chado adaptor.

1.66    * The popup zoom menu will never show a region larger than the overview.
	* Fixed collapsible sections so that they store their state in transient named cookies
	  rather than in a single bit vector.

1.65	* Improved support for negative and fractional coordinates, such as those used
	  in some genetic maps.

1.64	* Revamped state handling to use CGI::Session instead of cookies
	* Added Russian and Polish language translations
        * Fixed chado adaptor bug for older chado databases with both 
          SO and SOFA loaded

Changes  view on Meta::CPAN

	* Track labels can now be between tracks.
1.45	Sun Jul  7 17:32:08 EDT 2002
	* Major feature release.
	* Added conversion script for human genome annotations from NCBI.
	* New CDS/reading frame glyph.
	* New 3-frame translation glyph.
	* FASTA dumper now dumps out decorated FASTA files.
	* Sequence dumper supports output in GenBank, EMBL, GAME, BSML and other
		formats (thanks to magic of Bio::SeqIO).
	* Full set of restriction enzymes in restriction enzyme annotator plugin.
	* Support for named external feature tracks in popup menu.
	* External feature tracks are now highlighted in selection list.
	* Fixed uploaded files so that they are persistent.
	* Minor aesthetic improvements.
	* REQUIRES: BioPerl 1.02.
	* STILL PENDING: Internationalization/localization fixes
1.44	Mon May  6 19:14:45 EDT 2002
	* Bug fix that caused keyword searches to fail on case mismatch.
	* Number of matches now printed at top of multiple-match page.
1.43	Mon May  6 14:38:40 EDT 2002
	* Bug fix to correct a server error that occurred when multiple

Changes  view on Meta::CPAN

	* Completely reworked the way that track options are stored.
	* Allow multiple files to be uploaded.
	* Added online help documentation.
	* Preparation for plug-in architecture.
	
1.35	Tue Mar  5 23:32:14 EST 2002
	* Fixed mkpath bug in Browser.pm (wouldn't run without mods)
	* Fixed typos in sample .conf files.
	
1.34    Tue Feb 19 14:22:31 EST 2002
	* Fixed JavaScript code so that the popup zoom menu works correctly with konqueror
	and old Netscape.
	* Robustified in the face of server timeout errors.
	
1.33    Mon Feb 18 17:41:28 EST 2002
	* Made the zoom/scroll navigation bar more intuitive (in my opinion)
	* Zoom levels more configurable
	* Cleaned up the GIF buttons (install will overwrite the old ones)
	* Added GC and DNA content glyph to example config file

1.32   (intermediate version, do not use)

MANIFEST  view on Meta::CPAN

htdocs/tutorial/figures/overview1.gif
htdocs/tutorial/figures/phylo_align1.gif
htdocs/tutorial/figures/phylo_align2.gif
htdocs/tutorial/figures/phylo_align3.gif
htdocs/tutorial/figures/plugins1.gif
htdocs/tutorial/figures/plugins2.gif
htdocs/tutorial/figures/predicted_genes.gif
htdocs/tutorial/figures/segmented_features1.gif
htdocs/tutorial/figures/segmented_features2.gif
htdocs/tutorial/figures/semantic_zooming1.gif
htdocs/tutorial/figures/setting_popup.png
htdocs/tutorial/figures/third_party1.gif
htdocs/tutorial/figures/third_party2.gif
htdocs/tutorial/figures/third_party3.gif
htdocs/tutorial/figures/third_party4.gif
htdocs/tutorial/figures/third_party5.gif
htdocs/tutorial/figures/trace1.png
htdocs/tutorial/figures/trace2.png
htdocs/tutorial/figures/wiggle_density.gif
htdocs/tutorial/figures/wiggle_density.png
htdocs/tutorial/tutorial.css

cgi-bin/gbrowse_details  view on Meta::CPAN

    }

    warn "search term = $search_term" if DEBUG;

    my $features = eval {$search->search_features({-name=>$search_term,-class=>$search_class})} || [];
    warn "search_features(-search_term=>$search_term): $@" if $@;

    warn "features = @$features" if DEBUG;
    warn "segments = ",join ' ',$features->[0]->segments if (DEBUG && @$features);

    # provide customized content for popup balloons
    if (defined $rmt) {
	print header,start_html;
	print $self->remote_content($rmt,$features->[0]);
	print end_html;
    }

    else {
	print header();
	my $css = $self->source->global_setting('stylesheet');
	my $stylesheet = $self->globals->resolve_path($css,'url');

cgi-bin/gbrowse_details  view on Meta::CPAN

    my $bug = $feature->strand < 0 && $feature->hit->strand < 0;
    $self->position($feature->hit,undef,$bug)
}

sub format_name {
    my $self = shift;
    my $name = shift;
    b($name)
}

# do something for popup balloons
sub remote_content {
    my $self = shift;

    # the key for the text or code-ref in the gbrowse config file
    my ($key,$feat) = @_;

    my $contents = $self->source->setting('TOOLTIPS',$key) 
	or die "$key is empty";
    my $coderef = (ref $contents||'') eq 'CODE';
    return $contents unless $coderef;

cgi-bin/gbrowse_gmap  view on Meta::CPAN


To use Google Maps, a GMap API key must be supplied.  As of writing, keys are
freely available from Google at http://code.google.com/apis/maps/.

Set the $gmap_api_key to your new api key.  As follows:

  gmap_api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Note: You must keep the quotes and the semicolon intact for it to work.

=item * $popup_url

Each PhyloGeoViz pie has a marker in the middle.  Clicking on that pops up a
window with information.  If set $popup_url will be used as a base url to get
html to fill the pop-up window.  We want that to point to this (the
gbrowse_gmap) script.

  $popup_url = "/cgi-bin/gb2/gbrowse_gmap/pop_demo?pop_name=";

Note: You still must keep the quotes and the semicolon intact for it to work.

=back

=head3 Test PhyloGeoViz

To check that the installation worked, go to your web site:

http://localhost/phylo/

cgi-bin/gbrowse_gmap  view on Meta::CPAN

        or die $template->error();
    print $html;
    return;
}

=pod

=head2 print_pop_details

This method prints out the population details for the given feature.  This is
to be presented in a smallish popup balloon.  It presents population
information and creates links to GBrowse.

The reason that this is not it's own script is that it is just a small portion
of the gbrowse_gmap project.  I'm trying to minimize the file footprint of this
project.

=cut 

sub print_pop_details {
    my $self             = shift;

cgi-bin/gbrowse_gmap  view on Meta::CPAN

        }
    }
    return 0 unless ( defined $pop_key );

    my $longitude = $type_geolocation->{$pop_key}{'longitude'};
    my $latitude  = $type_geolocation->{$pop_key}{'latitude'};
    my $category  = $type_geolocation->{$pop_key}{'category'};

    print header, start_html;
    print qq[
        <div id="phylo_popup_div" >
        $pop_name <br>
        Location: $latitude, $longitude <br>
        <table>
    ];
    for my $hap_name ( sort keys %{ $population_data->{$pop_key} } ) {
        print "<tr> <td>$hap_name:</td> <td>"
            . $population_data->{$pop_key}{$hap_name}
            . "</td></tr>\n";
    }
    print "</table>";

cgi-bin/gbrowse_syn  view on Meta::CPAN

}

sub species_search {
  my $default = $CONF->page_settings("search_src");
  my %labels = map {$_=>$MAP->{$_}{desc}} keys %$MAP; 
  my $values  = [sort {$MAP->{$a}{desc} cmp $MAP->{$b}{desc}} grep {$MAP->{$_}{desc}} keys %labels];
  unshift @$values, '';

  my $onchange = "document.searchform.submit()";
  return b(wiki_help('Reference_Species',$CONF->tr('Genome to Search'))) . ':' . br .
      popup_menu(
		 -onchange => $onchange,
		 -name     =>'search_src',
		 -values   => $values,
		 -labels   => \%labels,
		 -default  => $default,
		 -override => 1
		 );
}

sub search_form {

cgi-bin/gbrowse_syn  view on Meta::CPAN


sub expand_display {
  return '' if keys %$MAP < 4;
  my $options = [qw/expanded compact/];
  my $labels  = { expanded => 'ref. species plus 2',
		  compact  => 'all species in one panel' };
  my $default = ['expanded'];
  my $name    = 'display';

  b(' ', wiki_help("Display Mode",$CONF->tr('Display Mode')), ': ') .
  popup_menu({-name => $name, -labels => $labels, -values => $options, -default => $default});
}

sub options_table {
  my @onclick = ();
  my $radio_style = {-style=>"background:lightyellow;border:5px solid lightyellow", @onclick};
  my $space = '&nbsp;&nbsp';
  my @grid = (span($radio_style, option_check('Grid lines', 'pgrid'))) unless $SYNTENY_IO->nomap;

  print toggle( $CONF->tr('Display_settings'),
                table({-cellpadding => 5, -width => '100%', -border => 0, -class => 'searchtitle'},

cgi-bin/gbrowse_syn  view on Meta::CPAN

}

sub source_menu {
  my $settings = shift;
  my @sources      = $CONF->sources;
  my $show_sources = $CONF->setting('show sources');
  $show_sources    = 1 unless defined $show_sources;   # default to true
  my $sources = $show_sources && @sources > 1;
  my $source = $CONF->get_source;
  return $sources ? b(wiki_help('Data Source',$CONF->tr('Data Source')), ': ') . br.
      popup_menu(-onchange => 'document.searchform.submit()',
		 -name   => 'source',
		 -values => \@sources,
		 -labels => { map {$_ => $CONF->description($_)} $CONF->sources},
		 -default => $source,		 
		 ) : $CONF->description($sources[0]);
}


sub aggregate {
  my $hits = shift;

conf/languages/POSIX.pm  view on Meta::CPAN


   SETTINGS_INSTRUCTIONS => <<END,
The <i>Show</i> checkbox turns the track on and off. The
<i>Compact</i> option forces the track to be condensed so that
annotations will overlap. The <i>Expand</i> and <i>Hyperexpand</i>
options turn on collision control using slower and faster layout
algorithms. The <i>Expand</i> &amp; <i>label</i> and <i>Hyperexpand
&amp; label</i> options force annotations to be labeled. If
<i>Auto</i> is selected, the collision control and label options will
be set automatically if space permits. To change the track order use
the <i>Change Track Order</i> popup menu to assign an annotation to a
track. To limit the number of annotations of this type shown, change
the value of the <i>Limit</i> menu.
END

   TRACK  => 'Track',

   TRACK_TYPE => 'Track Type',

   SHOW => 'Show',

conf/languages/en.pm  view on Meta::CPAN


   SETTINGS_INSTRUCTIONS => <<END,
The <i>Show</i> checkbox turns the track on and off. The
<i>Compact</i> option forces the track to be condensed so that
annotations will overlap. The <i>Expand</i> and <i>Hyperexpand</i>
options turn on collision control using slower and faster layout
algorithms. The <i>Expand</i> &amp; <i>label</i> and <i>Hyperexpand
&amp; label</i> options force annotations to be labeled. If
<i>Auto</i> is selected, the collision control and label options will
be set automatically if space permits. To change the track order use
the <i>Change Track Order</i> popup menu to assign an annotation to a
track. To limit the number of annotations of this type shown, change
the value of the <i>Limit</i> menu.
END

   TRACK  => 'Track',

   TRACK_TYPE => 'Track Type',

   SHOW => 'Show',

conf/languages/nl.pm  view on Meta::CPAN


   SETTINGS_INSTRUCTIONS => <<END,
De <i>Toon</i> checkbox zet een baan aan of uit. In de <i>Formaat</i> kolom kan via de 
<i>Compact</i> optie de baan gecondenseerd worden, zodat 
annotaties elkaar overlappen. De <i>Uitgeklapt</i> en <i>Extra Uitgeklapt</i>
opties zetten de 'botsingscontrole' aan, gebruik makend van tragere en snellere layout 
algorithmen. De <i>Uitgeklapt</i> &amp; <i>Label</i> en <i>Extra Uitgeklapt
&amp; Label</i> opties zorgen ervoor dat de annotaties daarbij ook nog worden gelabeled. Bij de
selectie van <i>Auto</i>, gebeuren de 'botsingscontrole' en label opties automatisch,
enkel indien voldoende ruimte voorhanden is. Om de volgorde van de banen te veranderen
gebruik het <i>Volgorde Veranderen</i> popup menu waar een annotatie kan toegekend worden
aan een baan. Om het aantal getoonde annotaties van dit type te beperken, verander
de waarde via het <i>Grens</i> menu.
END

   TRACK  => 'Baan',

   TRACK_TYPE => 'Baantype',

   SHOW => 'Tonen',

conf/plugins/AlignTwoSequences.pm  view on Meta::CPAN

  $current->{'t'} = $self->config_param('t');
  $current->{'U'} = $self->config_param('U');
}
sub configure_form {
  my $self = shift;
  my $current_config = $self->configuration;

  my $form = h3("Default bl2seq values have been selected for you").
      table({-border => 0},TR([
      td([b("Sequence To Align"),   textfield(-name => $self->config_name('sequence_to_blast'),-size => 100, -value=>$current_config->{'sequence_to_blast'})]),
      td(["Blast Program: ",   popup_menu($self->config_name('p'),['blastn','tblastx'], $current_config->{'p'})]),
      td("Gapped: ").td(radio_group( -name=>$self->config_name('g'), -values=>['T','F'],-default=>$current_config->{'g'})),
      td(["Gap Penalty: ",   textfield(-name=>$self->config_name('G'),-default=>$current_config->{'G'},-size=>3,-maxlength=>3)]),
      td(["Extend Penalty: ",   textfield(-name=>$self->config_name('E'),-default=>$current_config->{'E'},-size=>3,-maxlength=>3)]),
      td(["Dropoff value: ",   textfield(-name=>$self->config_name('X'),-default=>$current_config->{'X'},-size=>3,-maxlength=>3)]),
      td(["Word size: " ,    textfield(-name=>$self->config_name('W'),-default=>$current_config->{'W'},-size=>3,-maxlength=>3)]),
      td(["Matrix: ",   popup_menu($self->config_name('M'), ['BLOSUM62'],$current_config->{'M'})]),
      td(["Mismatch Penalty: ",   textfield(-name=>$self->config_name('q'),-default=>$current_config->{'q'},-size=>3,-maxlength=>3)]),
      td(["Match Reward: ",    textfield(-name=>$self->config_name('r'),-default=>$current_config->{'r'},-size=>3,-maxlength=>3)]),
      td("Filter query: ").td(radio_group(-name=>$self->config_name('F'), -values=>['T','F'],-default=>$current_config->{'F'})),
      td(["Expect: ",   textfield(-name=>$self->config_name('e'),-default=>$current_config->{'e'},-size=>10,-maxlength=>10)]),
      td(["Strands to search: ",    textfield(-name=>$self->config_name('S'),-default=>$current_config->{'S'},-size=>1,-maxlength=>1)]),
      td(["Search Space: ",    textfield(-name=>$self->config_name('Y'),-default=>$current_config->{'Y'},-size=>3,-maxlength=>3)]),
      td(["Length of largest intron: ",    textfield(-name=>$self->config_name('t'),-default=>$current_config->{'t'},-size=>3,-maxlength=>3)]),
      td("Filter Lower Case: ").td(radio_group(-name=>$self->config_name('U'), -values=>['T','F'],-default=>$current_config->{'U'}))
                              ]));
    return $form;

conf/plugins/Aligner.pm  view on Meta::CPAN

package Bio::Graphics::Browser2::Plugin::Aligner;
# $Id: Aligner.pm,v 1.13 2008-09-18 15:27:07 lstein Exp $

use strict;
use Bio::Graphics::Browser2::Plugin;
use CGI qw(table a TR td th p popup_menu radio_group checkbox checkbox_group h1 h2 pre);
use Bio::Graphics::Browser2::Realign 'align_segs';
use Bio::Graphics::Browser2::PadAlignment;
use Bio::Graphics::Browser2::Util 'shellwords';

use constant DEBUG => 0;
use constant DEFAULT_RAGGED_ENDS => (0,10,25,50,100,150,500);

use vars '$VERSION','@ISA';
$VERSION = '0.23';
@ISA = qw(Bio::Graphics::Browser2::Plugin);

conf/plugins/Aligner.pm  view on Meta::CPAN

		th('Features to include in alignment:'),
		td(checkbox_group(-name     => $self->config_name('align'),
				  -values   => $self->{alignable},
				  -defaults => $current->{align},
				  -labels   => \%labels,
				  @{$self->{alignable}} > 4 ? (-cols     => 4) : ()
				 )));
  }
  $html .= TR(
	      th({-colspan=>2,-align=>'left'},
		 'Allow up to',popup_menu(-name     => $self->config_name('ragged'),
					  -values   => $self->{ragged},
					  -default  => $current->{ragged} || $self->{ragged_default} || 0),
		 '&nbsp;bp of unaligned sequence at ends.')
	      );
  return $html ? table({-class=>'searchtitle'},$html) : undef;
}

sub reconfigure {
  my $self = shift;
  my $current = $self->configuration;

conf/plugins/AttributeHiliter.pm  view on Meta::CPAN

    push @rows,TR({-class=>'searchtitle'},th(['Property','Text to Match','Highlight Color']));

    for my $attribute (@attributes) {
      next unless $attribute;
      my ($color,$text) = split(/\s+/,$current_config->{$attribute}||'',2);
      push @rows,TR(
		    th({-class=>'searchtitle',-align=>'RIGHT'},$attribute),
		    td({-align=>'CENTER'},textfield(-name    => $self->config_name("match.$attribute"),
						    -default => $text,
						    -size    => 60)),
		    td(popup_menu(-name  => $self->config_name("color.$attribute"),
				  -values=> \@COLORS,
				  -default => $color,
				 )))
    }

    return table({-width=>'10%',-border=>0},@rows);
}


1;

conf/plugins/AttributeHiliter.pm  view on Meta::CPAN


=head1 DESCRIPTION

This plugin creates a configuration page that prompts the user to
select features to hilite based on their attributes (also known as
feature tags in BioPerl parlance). You specify which attributes to
present in a [AttributeHiliter:plugin] configuration track with a
single "attributes" option. The value of this option is a
space-delimited list of attributes to present to the user.

A more sophisticated example using popup menus to select particular
attributes from a controlled vocabulary would be easy to write.

=head1 OPTIONS

None

=head1 BUGS

None known yet.

conf/plugins/BatchDumper.pm  view on Meta::CPAN

					  -labels   => {'html' => 'html/xml',
							'external_viewer' => 'GenBank Helper Application',
							'todisk' => 'Save to Disk',
						       },
					  '-override' => 1))));
  my $browser = $self->browser_config();
  # this to be fixed as more general

  push @choices, TR({-class => 'searchtitle'}, 
			th({-align=>'RIGHT',-width=>'25%'},"Sequence File Format",
			   td(popup_menu('-name'   => $self->config_name('fileformat'),
					 '-values' => \@ORDER,
					 '-labels' => \%LABELS,
					 '-default'=> $current_config->{'fileformat'} ))));

  push @choices,TR({-class=>'searchtitle'},
		   th({-align=>'RIGHT',-width=>'25%'},"Orientation",
		      td(checkbox(-name    => $self->config_name('flip'),
				  -label   => 'Flip (Fasta and raw sequence only)',
				  -checked => $self->page_settings->{flip},
				  -override => 1))));


  push @choices, TR({-class => 'searchtitle'}, 
		    th({-align=>'RIGHT',-width=>'25%'},
		       "Sorted SubLocations (for VectorNTI input of GenBank)",
		       td(popup_menu('-name'   => $self->config_name('wantsorted'),
				     '-values' => [qw(0 1)],
				     '-labels' => { '0' => 'No',
						    '1' => 'Yes'},
				     '-default'=> $current_config->{'wantsorted'} ))));
  
  push @choices, TR({-class=>'searchtitle'},
			th({-align=>'RIGHT',-width=>'25%'},'Sequence IDs','<p><i>(Entry overrides chosen segment)</i></p>',
			   td(textarea(-name=>$self->config_name('sequence_IDs'),
                           	       -rows=>20,
                              	       -columns=>20,

conf/plugins/Blat.pm  view on Meta::CPAN

  		'hits' => '5'}
}

sub configure_form {
  my $self = shift;
  my $current_config = $self->configuration;

  my $form .= h3("Enter parameters below for alignment of sequences using a Client to a local BLAT Server:")
  .start_table({-border => 0})
  .TR([
    td(b("Input sequence type:"), popup_menu(-align=>'center', -name=>$self->config_name('q'),-values=>['dna', 'rna']))
  ])
  .TR([
    td([b("Input Sequence To Align:"), textarea(-align=>'center', -name=>$self->config_name('sequence_to_blat'),-rows=>10,-cols=>80,-value=>$current_config->{'sequence_to_blat'})])
  ]);

  $form .= end_table();
  $form .= start_table({-border => 0}) . Tr(td(p())) . Tr(td(p())) . Tr(td(p())) . end_table();
  $form .= start_table({-border => 0})
  .TR([
    td(b("Minimum Percent Identity:"), textfield(-align=>'center', -name=>$self->config_name('minIdentity'),-size=>10, -value=>'90'))

conf/plugins/FBTableDumper.pm  view on Meta::CPAN

  my $current_config = $self->configuration;
  foreach my $p ( $self->config_param() ) {
    $current_config->{$p} = $self->config_param($p);
  }
}

sub configure_form {
  my $self = shift;
  my $current_config = $self->configuration;
  my $html = p('Dump',
	       popup_menu(-name   => $self->config_name('mode'),
			  -values  => ['selected','all'],
			  -default => $current_config->{mode},
			  -override => 1,
			 ),
	       '&nbsp; features');
  autoEscape(1);


  $html;
}

conf/plugins/FastaDumper.pm  view on Meta::CPAN

			  th({-align=>'RIGHT',-width=>'25%'}, $realtext,
			     td(join ('&nbsp;',
				      radio_group(-name     => $self->config_name($featuretype),
						  -values   => [ (sort keys %LABELS)[0..4] ],
						  -labels   => \%LABELS,
						  -default  => $current_config->{$featuretype} || 0),
				      radio_group(-name     => $self->config_name($featuretype),
						  -values   => 5,
						  -labels   => \%LABELS,
						  -default  => $current_config->{$featuretype} || 0),
				      popup_menu(-name      => $self->config_name("$featuretype.fgcolor"),
						 -values    => \@COLORS,
						 -default    => $current_config->{"$featuretype.fgcolor"}),
				      radio_group(-name     => $self->config_name($featuretype),
						  -values   => 6,
						  -labels   => \%LABELS,
						  -default  => $current_config->{$featuretype} || 0),
				      popup_menu(-name      => $self->config_name("$featuretype.bgcolor"),
						 -values    => \@COLORS,
						 -default    => $current_config->{"$featuretype.bgcolor"}
						),
				     ))));
    }
    autoEscape(1);
    my $html= table({-width=>'100%'},@choices);
    $html;
}

conf/plugins/FilterTest.pm  view on Meta::CPAN

            )
        )
    );
    push @choices,
      TR(
        { -class => 'searchtitle' },
        th(
            { -align => 'RIGHT', -width => '25%' },
            'Filter',
            td(
                popup_menu(
                    -name    => "$objtype.filter",
                    -values  => [ 0 .. $#FILTERS ],
                    -labels  => \%LABELS,
                    -default => $current_config->{'filter'}
                ),
                textfield(
                    -name    => "$objtype.filter_value",
                    -default => $current_config->{filter_value}
                )
            )

conf/plugins/PrimerDesigner.pm  view on Meta::CPAN

  my $self = shift;
  my ($length,$max,$item_label) = @_;
  $item_label ||= '';

  my %seen;
  my @r         = sort {$a<=>$b} $self->data_source->get_ranges();
  $max         *= $self->data_source->unit_divider;

  my @ranges	= grep {!$seen{$self->data_source->unit_label($_)}++ && $_<=$max} sort {$b<=>$a} @r,$length;
  my %labels    = map {$_=>$item_label.$self->data_source->unit_label($_)} @ranges;
  return popup_menu(-class   => 'searchtitle',
		    -name    => 'span',
		    -values  => \@ranges,
		    -labels  => \%labels,
		    -default => $length,
		    -force   => 1,
		    -onChange => "oPrimerDesigner.scroll('set span',this.options[this.selectedIndex].value)",
		   );
}

#NML: holdovers from Bio::Graphics::Browser

conf/plugins/ProteinDumper.pm  view on Meta::CPAN

						   'todisk' => 'Save to Disk',
						  },
				     -override => 1,
				    )
			)
		     )
		  );

  push @choices, TR({-class => 'searchtitle'},
		    th({-align=>'RIGHT',-width=>'25%'},"Sequence File Format",
		       td(popup_menu('-name'   => $self->config_name('fileformat'),
				     '-values' => \@ORDER,
				     '-labels' => \%LABELS,
				     '-default'=> $current_config->{'fileformat'},
				    )
			 )
		      )
		   );

  push @choices, TR({-class => 'searchtitle'},
		    th({-align=>'RIGHT',-width=>'25%'},"Genetic Code",
		       td(popup_menu('-name'   => $self->config_name('geneticcode'),
				     '-values' => [
						   grep {
						     $Bio::Tools::CodonTable::NAMES[$_-1]
						   } 1..@Bio::Tools::CodonTable::NAMES
						  ],
				     '-labels' => {
						   map {
						     ( $_ => $Bio::Tools::CodonTable::NAMES[$_-1] )
						   } grep {
						     $Bio::Tools::CodonTable::NAMES[$_-1]

conf/plugins/SequenceDumper.pm  view on Meta::CPAN

					  -default  => $current_config->{'format'},
					  -labels   => {html => 'html/xml',
							'todisk' => 'Save to Disk',
						       },
					  -override => 1))));
  my $browser = $self->browser_config();
  # this to be fixed as more general

  push @choices, TR({-class => 'searchtitle'}, 
			th({-align=>'RIGHT',-width=>'25%'},"Sequence File Format",
			   td(popup_menu('-name'   => $self->config_name('fileformat'),
					 '-values' => \@ORDER,
					 '-labels' => \%LABELS,
					 '-default'=> $current_config->{'fileformat'} ))));
  push @choices, TR({-class => 'searchtitle'}, 
			th({-align=>'RIGHT',-width=>'25%'},
			   "Sorted SubLocations (for VectorNTI input of GenBank)",
			   td(popup_menu('-name'   => $self->config_name('wantsorted'),
					 '-values' => [qw(0 1)],
					 '-labels' => { '0' => 'No',
							'1' => 'Yes'},
					 '-default'=> $current_config->{'wantsorted'} ))));
  
  my $html= table(@choices);
  $html;
}

sub gff_dump {

conf/plugins/SourceTrackFinder.pm  view on Meta::CPAN

  my $current_config = $self->configuration;
  my $source         = $self->browser_config;

  my @fields         = $self->get_fields;
  my @elements;

  for my $f (@fields) {
      my @options = ('',shellwords($source->plugin_setting($f)));
      push @elements,b(ucfirst $f.':');
      push @elements,
        popup_menu(
	    -id       => "plugin_$f",
	    -class    => "SourceTrackFinderPopup",
	    -name     => $self->config_name($f),
	    -values   => \@options,
	    -default  => $current_config->{$f},
	    -override => 1,
	    -onChange => 'doPluginUpdate()',
	    )
  }
  push @elements,

conf/plugins/SourceTrackFinder.pm  view on Meta::CPAN

This plugin activates a panel above the tracks table that allows the
user to filter the tracks according to combinations of fields that you
define. The fields are defined in the [SourceTrackFinder:plugin]
stanza of the configuration file and consist of one or more field
names followed by their allowable values, separated by spaces using
the usual GBrowse config rules. For filtering to work, each track must
also have a similarly-named set of fields, each with one or more
values.

GBrowse will prompt the user to select field values using a series of
popup menus located above the tracks table. When the user changes the
popups, the tracks table will be filtered to show only the tracks that
match the selected field values. The user can press the "clear" button
to turn off filtering.

Note that this only affects the display of track names. Tracks that
were previously turned on will stay on, but their entries will be
invisible in the tracks table. The user can still turn them off by
clicking on the individual track's configure or (-) buttons.

=head1 OPTIONS

conf/plugins/Spectrogram.pm  view on Meta::CPAN

 
  my $msg = $self->_help_message( $state, 'Sliding window size', split "NL", <<'END;');
Window size is the number of bases to include in each calculation.NL
Overlap is the increment by which the window slides (amount of overlap).NL
<font color=red>Note: </font>larger window sizes and/or smaller
overlaps increase computation time.
END;

  $form .= h4({-class => 'searchtitle'}, $msg) .
      p( 'Window: size ',
	 popup_menu( -name  => $self->config_name('win'),
		     -values => [8,16,32,64,128,256,512,1024,2048,4096,8192],
		     -default => $conf->{win} ),
	 ' bp' . br. br . ' overlap ',
	 textfield( -name  => $self->config_name('inc'),
		    -value => $conf->{inc},
		    -size  => 4 ),
	 'bp' );
  
  $msg = $self->_help_message( $state, 'Display options', split "NL", <<'END;');
The allowed range of periods or frequencies controls spectrogram height
and calculation time.NL 
period = size (bp) of structure or repeat unit, calculated as 
2*(window size)/frequency.NL
row height = the height (pixels) of each frequency row in the spectrogram.
END;
  
  $form .= br .  h4({-class => 'searchtitle'}, $msg) .
      p( 'Restrict ',
	 popup_menu( -name   => $self->config_name('measure'),
		     -values => [qw/period frequency/],
		     -default => $conf->{type} ),
	 ' to between ',
	 textfield( -name  => $self->config_name('min'),
		    -value => $conf->{min},
		    -size  => 4 ),
	 ' and ',
	 textfield( -name  => $self->config_name('max'),
		    -value => $conf->{max},
		    -size  => 4 ),

conf/plugins/TrackDumper.pm  view on Meta::CPAN

  my @keys = keys %{$self->config_defaults};
  foreach my $p ( @keys ) {
      $current_config->{$p} = $self->config_param($p);
  }
}

sub configure_form {
  my $self = shift;
  my $current_config = $self->configuration;
  my $html = p('Dump',
	       popup_menu(-name   => $self->config_name('mode'),
			  -values  => ['selected','all'],
			  -default => $current_config->{mode},
			  -override => 1,
			 ),
	       '&nbsp; features using GFF version',
	       popup_menu(-name   => $self->config_name('version'),
			  -values => [2,2.5,3],
			  -labels => { 2   => '2',
                                       2.5 => '2.5*',
				       3   => '3'},
			  -default => $current_config->{version},
			  -override => 1),
  
	       popup_menu(-name=>$self->config_name('region'),
			  -default=>$current_config->{region},
			  -override=>1,
			  -values => ['selected','all'],
			  -labels=>{all      => 'Across entire genome',
				    selected => 'Across currently visible region'})
      );      

  autoEscape(0);
  $html .= p(
	     radio_group(-name=>$self->config_name('disposition'),

contrib/SynView/MAL11/MAL11.conf  view on Meta::CPAN

# "Sequence" is the default - change it if you use something else
reference class = Sequence

# max and default segment sizes for detailed view
max segment     = 500000
default segment = 50000

# zoom levels
zoom levels    = 100 200 1000 2000 5000 10000 20000 40000 100000 200000 500000 1000000

# whether to show the sources popup menu (0=false, 1=true; defaults to true)
show sources   = 1

# colors of the overview, detailed map and key
overview bgcolor = lightgrey
detailed bgcolor = lightgoldenrodyellow
key bgcolor      = beige

# examples to show in the introduction
examples = MAL11:370,500..410,000

contrib/TextDumper/TextDumper.pm  view on Meta::CPAN

  			      -override => 1,
			      -label	=> '',
			      -checked 	=> 1,
  			      ),
		    ),
		)
	     );
    }
    # offer choice of output
    push(@choices, TR( th({-align => 'RIGHT'}, 'Return results to:'),
		       td( popup_menu( -name	=> 'textdump_format',
				       -values	=> [qw(browser excel)],
				       -override=> 1, ) ),
		       ) );

    return table({-cellpadding=>2}, @choices);
}

sub attributes {
    return @attrs;
}

docs/developer_notes/README.rearchitecture  view on Meta::CPAN

global2 = setting2

# subsequent stanzas are data sources
[HUM77]
description  = Human Build 77
path         = /etc/gbrowse/hum77.conf

[MouseV3]
description  = Mouse Test database
path         = /var/htdocs/gbrowse/conf/mouse_test.conf
hide         = 1   # hide from popup menu
restrict     =     ## additional authentication options?

=================================================================

3) Bio::Graphics::Browser::Session

This object is responsible for persistent per-user settings. It is
created by the Bio::Graphics::Browser object based on the session
configuration globals. It has the following methods, all of which are
in the current Bio::Graphics::Browser::PageSettings object:

docs/pod/CONFIGURE_HOWTO.pod  view on Meta::CPAN


During this discussion, you might want to follow along with one of the
example configuration files.

The following [GENERAL] options are recognized:

=over

=item * description

The description of the database.  This will appear in the popup
menu that allows users to select the data source and in the 
header of the page.  Don't make it as long as the previous example!
(You will want to change this.)

=item * db_adaptor

Tells GBrowse what database adaptor to use.  By using different adaptors
you can attach gbrowse to a variety of different databases.  Currently
the only stable adaptor you can use is Bio::DB::GFF, which is a standard
set of adaptors contained in Bioperl.

docs/pod/CONFIGURE_HOWTO.pod  view on Meta::CPAN

    plugins = SequenceDumper FastaDumper RestrictionAnnotator

See the contents of conf/plugins and contrib/plugins for more plugins
that you can install.

=item * quicklink plugins

This is a list of plugins that you want to appear as links in the link
bar (which includes the [Bookmark this] and [Link to Image] links).
Selecting one of these links is equivalent to choosing the plugin from
the popup menu and pressing the "Go" button.  The popup will continue
to appear in the popup menu.

=item * plugin_path

By default gbrowse searches for plugins in its standard location of conf/plugins.
You can store plugins in a non-standard location by providing this option
with a space-delimited list of additional directories to search in.

=item * buttons

URL in which the various graphical buttons used by GBrowse are located.

docs/pod/CONFIGURE_HOWTO.pod  view on Meta::CPAN

If this configuration option is set, a new "region panel" will appear
that is intermediate in size between the overview and the detail
panel. The value of this option becomes the initial size of the region
panel in base pairs.

     region segment = 10000

=item * region sizes

This contains a space-delimited list of region panel sizes to present
to the user in a popup menu:

     region sizes   = 5000 10000 20000

=item * show sources

A 0 (false) or 1 (true) value which controls whether or not to show
the popup menu displaying the defined data sources.  Set this to 0 if
you wish for the names of the data sources to be hidden.  If not
present, this option defaults to 1 (true).  

Note that all data sources will need to have this option defined in
order for it to take effect across all databases.

=item * default varying

The track selection table will be sorted alphabetically, by default;
setting this variable to true will cause the tracks to appear in the

docs/pod/CONFIGURE_HOWTO.pod  view on Meta::CPAN

=item * title

The title option controls the "tooltips" text that pops up when the
mouse hovers over a glyph in certain browsers.  The rules for
generating titles are the same as the "link" option discussed above.
The "title" option can also be computed dynamically.  See COMPUTED
OPTIONS for details.

Note HTML characters such as "<", ">" and "&" are not automatically
escaped from the title. This lets you do neat stuff, such as create
popup menus, but also means that you need to be careful. The function
CGI::escapeHTML() is available to properly escape HTML characters in
dynamically-generated titles.

The special value "AUTO" causes a default description to appear
describing the name, type and position of the feature.  This is
also assumed if the title option is missing or blank.

=item * landmark_padding = 1000

The landmark_padding option will add the indicated number of base pairs

docs/pod/CONFIGURE_HOWTO.pod  view on Meta::CPAN

    
    use Socket;
    $host = gethostbyaddr(inet_aton($addr),AF_INET);

Note that this may slow down the response time of gbrowse noticeably
if you have a slow DNS name server.

Another thing to be aware of when restricting access to an entire
database is that that even though the database itself will not be
accessible to unauthorized users, the name of the database will still
be available from the popup "Data Source" menu.  If you wish even the
name to be suppressed from view by unauthorized users, add the
following line to the [GENERAL] section of the configuration file of
the database you wish to suppress:

    restrict = require valid-user

The syntax described earlier for restricting access to tracks by
hostname, IP address or username holds true for restricting the
visibility of the database on the Data Source popup menu.

=head1 F. DISPLAYING GENETIC AND RH MAPS

GBrowse can be tweaked to make it more suitable for displaying genetic
and radiation hybrid maps.  

The main issue is that the Bio::DB::GFF database expects coordinates
to be positive integers, not fractions, but genetic and RH maps use
floating point numbers.  Working around this is a bit of an ugly hack.
Before loading your data you must multiply all your coordinates by a

docs/pod/DAS_HOWTO.pod  view on Meta::CPAN


Insert all features of category "variation."

=item http://genome.cse.ucsc.edu/cgi-bin/das/hg16?category=variation;type=genscan

Insert all features of category "variation" or of type "genscan."

=back

You may wish to use the "remote sources" option to preconfigure a
popup menu of remote DAS servers that users access frequently.

Alternatively, you can configure GBrowse so that it runs entirely off
a DAS server.  To do this, simply set the db_adaptor and db_args
options to use the Bio::Das data adaptor.  For example:

 [GENERAL]
 description   = Human July 2003 Genome at UCSC
 db_adaptor    = Bio::Das
 db_args       = -source http://genome.cse.ucsc.edu/cgi-bin/das
	         -dsn    hg16

docs/pod/PLUGINS_HOWTO.pod  view on Meta::CPAN


Bio::Graphics::Browser::Plugin -- Base class for gbrowse plugins.

=head1 SYNOPSIS

     package Bio::Graphics::Browser::Plugin::MyPlugin;
     use Bio::Graphics::Browser::Plugin;
     use CGI ':standard';
     @ISA = 'Bio::Graphics::Browser::Plugin';

     # called by gbrowse to return name of plugin for popup menu
     sub name        { 'Example Plugin' }

     # called by gbrowse to return description of plugin
     sub description { 'This is an example plugin' }

     # called by gbrowse to return type of plugin
     sub type        { 'annotator' }

     # called by gbrowse to configure default settings for plugin
     sub config_defaults {

htdocs/css/gbrowse.css  view on Meta::CPAN

.toggle           { color: #E0E0E0; }
.error            { color: red;
		    font-size: 16pt;
		    font-weight:bold;
		  }
.errorpanel       { background-color: lightyellow;    
		    margin:   -8px 8px  8px  -8px;
		  }
.note             { color: red; }
.pre              { font-family: monospace; }
.popup            { COLOR: #9F141A;
                    CURSOR: help;
                    TEXT-DECORATION: none
                  }
.ctl_visible,
.ctl_hidden       { z-index:10; }

span.tctl         { cursor: pointer }
.menutitle {
    color: blue;
    font-size: 10pt;

htdocs/js/balloon.js  view on Meta::CPAN

  return el1 == el2;
}


///////////////////////////////////////////////////////
// Security -- get the balloon contents while checking 
// for disallowed elements.
//////////////////////////////////////////////////////
Balloon.prototype.getAndCheckContents = function(caption) {
  var originalCaption = caption;
  var notAllowed = 'are not allowed in popup balloons in this web site.  \
Please contact the site administrator for assistance.';
  var notSupported = 'AJAX is not supported for popup balloons in this web site.  \
Please contact the site administrator for assistance.';
  
  // no Help Url without AJAX
  if (this.helpUrl && !this.allowAJAX) {
    alert('Sorry, you have specified help URL '+this.helpUrl+' but '+notSupported);
    return null;
  }

  // look for a url in the balloon contents
  if (caption.match(/^url:/)) {



( run in 2.744 seconds using v1.01-cache-2.11-cpan-364913b4093 )