commit/galaxy-central: 3 new changesets
3 new commits in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/edae5af34677/ Changeset: edae5af34677 Branch: release_15.03 User: dannon Date: 2015-02-27 00:59:26+00:00 Summary: Fix server_starttime being in app for reports, toolshed. I will be refactoring this shortly to have a base UniverseApplication from which things inherit. Affected #: 2 files diff -r 12a2f45243502295e324bf6656481a98c61101c0 -r edae5af346776161c139666c33f15066f769cdb5 lib/galaxy/webapps/reports/app.py --- a/lib/galaxy/webapps/reports/app.py +++ b/lib/galaxy/webapps/reports/app.py @@ -1,5 +1,7 @@ +import config import sys -import config +import time + import galaxy.model from galaxy.web import security @@ -26,6 +28,8 @@ self.targets_mysql = 'mysql' in self.config.database_connection # Security helper self.security = security.SecurityHelper( id_secret=self.config.id_secret ) + # used for cachebusting -- refactor this into a *SINGLE* UniverseApplication base. + self.server_starttime = int(time.time()) def shutdown( self ): pass diff -r 12a2f45243502295e324bf6656481a98c61101c0 -r edae5af346776161c139666c33f15066f769cdb5 lib/galaxy/webapps/tool_shed/app.py --- a/lib/galaxy/webapps/tool_shed/app.py +++ b/lib/galaxy/webapps/tool_shed/app.py @@ -1,17 +1,18 @@ import config import sys +import time +import galaxy.datatypes.registry +import galaxy.quota +import galaxy.tools.data +import galaxy.webapps.tool_shed.model from galaxy import tools -import galaxy.tools.data -import galaxy.quota -import galaxy.datatypes.registry -import galaxy.webapps.tool_shed.model +from galaxy.managers.tags import CommunityTagManager from galaxy.openid.providers import OpenIDProviders from galaxy.util.dbkeys import GenomeBuilds from galaxy.web import security -from galaxy.managers.tags import CommunityTagManager -from tool_shed.grids.repository_grid_filter_manager import RepositoryGridFilterManager import tool_shed.repository_registry import tool_shed.repository_types.registry +from tool_shed.grids.repository_grid_filter_manager import RepositoryGridFilterManager class UniverseApplication( object ): @@ -70,6 +71,8 @@ self.hgweb_config_manager.hgweb_config_dir = self.config.hgweb_config_dir # Initialize the repository registry. self.repository_registry = tool_shed.repository_registry.Registry( self ) + # used for cachebusting -- refactor this into a *SINGLE* UniverseApplication base. + self.server_starttime = int(time.time()) print >> sys.stderr, "Tool shed hgweb.config file is: ", self.hgweb_config_manager.hgweb_config def shutdown( self ): https://bitbucket.org/galaxy/galaxy-central/commits/be0aa5c296c7/ Changeset: be0aa5c296c7 Branch: release_15.03 User: dan Date: 2015-02-27 20:50:13+00:00 Summary: Allow External display applications to use Tool Data Tables. Affected #: 7 files diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/galaxy/app.py --- a/lib/galaxy/app.py +++ b/lib/galaxy/app.py @@ -88,7 +88,7 @@ # Load proprietary datatype converters and display applications. self.installed_repository_manager.load_proprietary_converters_and_display_applications() # Load datatype display applications defined in local datatypes_conf.xml - self.datatypes_registry.load_display_applications() + self.datatypes_registry.load_display_applications( self ) # Load datatype converters defined in local datatypes_conf.xml self.datatypes_registry.load_datatype_converters( self.toolbox ) # Load external metadata tool diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/galaxy/datatypes/display_applications/application.py --- a/lib/galaxy/datatypes/display_applications/application.py +++ b/lib/galaxy/datatypes/display_applications/application.py @@ -80,21 +80,57 @@ return True class DynamicDisplayApplicationBuilder( object ): - @classmethod + def __init__( self, elem, display_application, build_sites ): - rval = [] filename = None + data_table = None if elem.get( 'site_type', None ) is not None: filename = build_sites.get( elem.get( 'site_type' ) ) else: filename = elem.get( 'from_file', None ) - assert filename is not None, 'Filename and id attributes required for dynamic_links' + if filename is None: + data_table_name = elem.get( 'from_data_table', None ) + if data_table_name: + data_table = display_application.app.tool_data_tables.get( data_table_name, None ) + assert data_table is not None, 'Unable to find data table named "%s".' % data_table_name + + assert filename is not None or data_table is not None,'Filename or data Table is required for dynamic_links.' skip_startswith = elem.get( 'skip_startswith', None ) separator = elem.get( 'separator', '\t' ) - id_col = int( elem.get( 'id', None ) ) - name_col = int( elem.get( 'name', id_col ) ) + id_col = elem.get( 'id', None ) + try: + id_col = int( id_col ) + except: + if data_table: + if id_col is None: + id_col = data_table.columns.get( 'id', None ) + if id_col is None: + id_col = data_table.columns.get( 'value', None ) + try: + id_col = int( id_col ) + except: + # id is set to a string or None, use column by that name if available + id_col = data_table.columns.get( id_col, None ) + id_col = int( id_col ) + name_col = elem.get( 'name', None ) + try: + name_col = int( name_col ) + except: + if data_table: + if name_col is None: + name_col = data_table.columns.get( 'name', None ) + else: + name_col = data_table.columns.get( name_col, None ) + else: + name_col = None + if name_col is None: + name_col = id_col + max_col = max( id_col, name_col ) dynamic_params = {} - max_col = max( id_col, name_col ) + if data_table is not None: + max_col = max( [ max_col ] + data_table.columns.values() ) + for key, value in data_table.columns.items(): + dynamic_params[key] = { 'column': value, 'split': False, 'separator': ',' } for dynamic_param in elem.findall( 'dynamic_param' ): name = dynamic_param.get( 'name' ) value = int( dynamic_param.get( 'value' ) ) @@ -102,27 +138,38 @@ param_separator = dynamic_param.get( 'separator', ',' ) max_col = max( max_col, value ) dynamic_params[name] = { 'column': value, 'split': split, 'separator': param_separator } - for line in open( filename ): - if not skip_startswith or not line.startswith( skip_startswith ): - line = line.rstrip( '\n\r' ) - if not line: + if filename: + data_iter = open( filename ) + elif data_table: + version, data_iter = data_table.get_version_fields() + display_application.add_data_table_watch( data_table.name, version ) + links = [] + for line in data_iter: + if isinstance( line, basestring ): + if not skip_startswith or not line.startswith( skip_startswith ): + line = line.rstrip( '\n\r' ) + if not line: + continue + fields = line.split( separator ) + else: continue - fields = line.split( separator ) - if len( fields ) > max_col: - new_elem = deepcopy( elem ) - new_elem.set( 'id', fields[id_col] ) - new_elem.set( 'name', fields[name_col] ) - dynamic_values = {} - for key, attributes in dynamic_params.iteritems(): - value = fields[ attributes[ 'column' ] ] - if attributes['split']: - value = value.split( attributes['separator'] ) - dynamic_values[key] = value - #now populate - rval.append( DisplayApplicationLink.from_elem( new_elem, display_application, other_values = dynamic_values ) ) - else: - log.warning( 'Invalid dynamic display application link specified in %s: "%s"' % ( filename, line ) ) - self.links = rval + else: + fields = line + if len( fields ) > max_col: + new_elem = deepcopy( elem ) + new_elem.set( 'id', fields[id_col] ) + new_elem.set( 'name', fields[name_col] ) + dynamic_values = {} + for key, attributes in dynamic_params.iteritems(): + value = fields[ attributes[ 'column' ] ] + if attributes['split']: + value = value.split( attributes['separator'] ) + dynamic_values[key] = value + #now populate + links.append( DisplayApplicationLink.from_elem( new_elem, display_application, other_values = dynamic_values ) ) + else: + log.warning( 'Invalid dynamic display application link specified in %s: "%s"' % ( filename, line ) ) + self.links = links def __iter__( self ): return iter( self.links ) @@ -166,12 +213,12 @@ class DisplayApplication( object ): @classmethod - def from_file( cls, filename, datatypes_registry ): - return cls.from_elem( parse_xml( filename ).getroot(), datatypes_registry, filename=filename ) + def from_file( cls, filename, app ): + return cls.from_elem( parse_xml( filename ).getroot(), app, filename=filename ) @classmethod - def from_elem( cls, elem, datatypes_registry, filename=None ): + def from_elem( cls, elem, app, filename=None ): att_dict = cls._get_attributes_from_elem( elem ) - rval = DisplayApplication( att_dict['id'], att_dict['name'], datatypes_registry, att_dict['version'], filename=filename, elem=elem ) + rval = DisplayApplication( att_dict['id'], att_dict['name'], app, att_dict['version'], filename=filename, elem=elem ) rval._load_links_from_elem( elem ) return rval @classmethod @@ -181,29 +228,32 @@ name = elem.get( 'name', display_id ) version = elem.get( 'version', None ) return dict( id=display_id, name=name, version=version ) - def __init__( self, display_id, name, datatypes_registry, version = None, filename=None, elem=None ): + def __init__( self, display_id, name, app, version = None, filename=None, elem=None ): self.id = display_id self.name = name - self.datatypes_registry = datatypes_registry + self.app = app if version is None: version = "1.0.0" self.version = version self.links = odict() self._filename = filename self._elem = elem + self._data_table_versions = {} def _load_links_from_elem( self, elem ): for link_elem in elem.findall( 'link' ): link = DisplayApplicationLink.from_elem( link_elem, self ) if link: self.links[ link.id ] = link for dynamic_links in elem.findall( 'dynamic_links' ): - for link in DynamicDisplayApplicationBuilder( dynamic_links, self, self.datatypes_registry.build_sites ): + for link in DynamicDisplayApplicationBuilder( dynamic_links, self, self.app.datatypes_registry.build_sites ): self.links[ link.id ] = link def get_link( self, link_name, data, dataset_hash, user_hash, trans, app_kwds ): #returns a link object with data knowledge to generate links + self._check_and_reload() return PopulatedDisplayApplicationLink( self.links[ link_name ], data, dataset_hash, user_hash, trans, app_kwds ) def filter_by_dataset( self, data, trans ): - filtered = DisplayApplication( self.id, self.name, self.datatypes_registry, version = self.version ) + self._check_and_reload() + filtered = DisplayApplication( self.id, self.name, self.app, version = self.version ) for link_name, link_value in self.links.iteritems(): if link_value.filter_by_dataset( data, trans ): filtered.links[link_name] = link_value @@ -222,9 +272,24 @@ # clear old links for key in self.links.keys(): del self.links[key] + #clear data table versions: + for key in self._data_table_versions.keys(): + del self._data_table_versions[ key ] # Set new attributes for key, value in attr_dict.iteritems(): setattr( self, key, value ) # Load new links self._load_links_from_elem( elem ) return self + def add_data_table_watch( self, table_name, version=None ): + self._data_table_versions[ table_name ] = version + def _requires_reload( self ): + for key, value in self._data_table_versions.iteritems(): + table = self.app.tool_data_tables.get( key, None ) + if table and not table.is_current_version( value ): + return True + return False + def _check_and_reload( self ): + if self._requires_reload(): + self.reload() + diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/galaxy/datatypes/display_applications/parameters.py --- a/lib/galaxy/datatypes/display_applications/parameters.py +++ b/lib/galaxy/datatypes/display_applications/parameters.py @@ -59,7 +59,7 @@ @property def formats( self ): if self.extensions: - return tuple( map( type, map( self.link.display_application.datatypes_registry.get_datatype_by_extension, self.extensions ) ) ) + return tuple( map( type, map( self.link.display_application.app.datatypes_registry.get_datatype_by_extension, self.extensions ) ) ) return None def _get_dataset_like_object( self, other_values ): #this returned object has file_name, state, and states attributes equivalent to a DatasetAssociation diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/galaxy/datatypes/registry.py --- a/lib/galaxy/datatypes/registry.py +++ b/lib/galaxy/datatypes/registry.py @@ -546,7 +546,7 @@ else: self.log.exception( "Error loading converter (%s): %s" % ( converter_path, str( e ) ) ) - def load_display_applications( self, installed_repository_dict=None, deactivate=False ): + def load_display_applications( self, app, installed_repository_dict=None, deactivate=False ): """ If deactivate is False, add display applications from self.display_app_containers or self.proprietary_display_app_containers to appropriate datatypes. If deactivate is @@ -570,7 +570,7 @@ config_path = os.path.join( self.display_applications_path, display_file ) try: inherit = galaxy.util.string_as_bool( display_app.get( 'inherit', 'False' ) ) - display_app = DisplayApplication.from_file( config_path, self ) + display_app = DisplayApplication.from_file( config_path, app ) if display_app: if display_app.id in self.display_applications: if deactivate: diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/tool_shed/galaxy_install/datatypes/custom_datatype_manager.py --- a/lib/tool_shed/galaxy_install/datatypes/custom_datatype_manager.py +++ b/lib/tool_shed/galaxy_install/datatypes/custom_datatype_manager.py @@ -214,5 +214,5 @@ def load_installed_display_applications( self, installed_repository_dict, deactivate=False ): """Load or deactivate custom datatype display applications.""" - self.app.datatypes_registry.load_display_applications( installed_repository_dict=installed_repository_dict, + self.app.datatypes_registry.load_display_applications( self.app, installed_repository_dict=installed_repository_dict, deactivate=deactivate ) diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/tool_shed/galaxy_install/install_manager.py --- a/lib/tool_shed/galaxy_install/install_manager.py +++ b/lib/tool_shed/galaxy_install/install_manager.py @@ -621,7 +621,7 @@ self.app.datatypes_registry.load_datatype_converters( self.app.toolbox, installed_repository_dict=repository_dict ) if display_path: # Load proprietary datatype display applications - self.app.datatypes_registry.load_display_applications( installed_repository_dict=repository_dict ) + self.app.datatypes_registry.load_display_applications( self.app, installed_repository_dict=repository_dict ) def handle_tool_shed_repositories( self, installation_dict, using_api=False ): # The following installation_dict entries are all required. diff -r edae5af346776161c139666c33f15066f769cdb5 -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 lib/tool_shed/galaxy_install/tool_migration_manager.py --- a/lib/tool_shed/galaxy_install/tool_migration_manager.py +++ b/lib/tool_shed/galaxy_install/tool_migration_manager.py @@ -523,7 +523,7 @@ installed_repository_dict=repository_dict ) if display_path: # Load proprietary datatype display applications - self.app.datatypes_registry.load_display_applications( installed_repository_dict=repository_dict ) + self.app.datatypes_registry.load_display_applications( self.app, installed_repository_dict=repository_dict ) basic_util.remove_dir( work_dir ) def install_repository( self, repository_elem, tool_shed_repository, install_dependencies, is_repository_dependency=False ): https://bitbucket.org/galaxy/galaxy-central/commits/fe4cfbd300a1/ Changeset: fe4cfbd300a1 Branch: release_15.03 User: dan Date: 2015-02-27 20:50:28+00:00 Summary: Have IGV external display application load a set of links for available genomes via a tool data table that reads a URL (http://igv.broadinstitute.org/genomes/genomes.txt). The manually specified builds links should now be used to add additional builds, or for alias mapping (e.g. hg_g1k_v37-->b37). Affected #: 4 files diff -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 -r fe4cfbd300a11b8fc1f05fff06209035f0ef26e6 config/tool_data_table_conf.xml.sample --- a/config/tool_data_table_conf.xml.sample +++ b/config/tool_data_table_conf.xml.sample @@ -65,4 +65,9 @@ <columns>value, path</columns><file path="tool-data/twobit.loc" /></table> + <!-- Available IGV builds, loaded from URL --> + <table name="igv_broad_genomes" comment_char="#"> + <columns>name, url, value</columns> + <file url="http://igv.broadinstitute.org/genomes/genomes.txt" /> + </table></tables> diff -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 -r fe4cfbd300a11b8fc1f05fff06209035f0ef26e6 display_applications/igv/bam.xml --- a/display_applications/igv/bam.xml +++ b/display_applications/igv/bam.xml @@ -93,7 +93,20 @@ #end if </param></dynamic_links> - + + + <dynamic_links from_data_table="igv_broad_genomes" skip_startswith="#" id="value" name="name"> + + <!-- Our input data table is one line per dbkey --> + <filter>${ $dataset.dbkey == $value }</filter> + + <!-- We define url and params as normal, but values defined in dynamic_param are available by specified name --> + <url>http://www.broadinstitute.org/igv/projects/current/igv.php?sessionURL=${bam_file.qp}&genome=${bam_file.dbkey}&merge=true&name=${qp( $bam_file.name )}</url> + + <param type="data" name="bam_file" url="galaxy_${DATASET_HASH}.bam" /> + <param type="data" name="bai_file" url="galaxy_${DATASET_HASH}.bam.bai" metadata="bam_index" /> + + </dynamic_links></display><!-- Dan Blankenberg --> diff -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 -r fe4cfbd300a11b8fc1f05fff06209035f0ef26e6 display_applications/igv/vcf.xml --- a/display_applications/igv/vcf.xml +++ b/display_applications/igv/vcf.xml @@ -93,7 +93,20 @@ #end if </param></dynamic_links> - + + + <dynamic_links from_data_table="igv_broad_genomes" skip_startswith="#" id="value" name="name"> + + <!-- Our input data table is one line per dbkey --> + <filter>${ $dataset.dbkey == $value }</filter> + + <!-- We define url and params as normal, but values defined in dynamic_param are available by specified name --> + <url>http://www.broadinstitute.org/igv/projects/current/igv.php?sessionURL=${bgzip_file.qp}&genome=$bgzip_file.dbkey&merge=true&name=${qp( $bgzip_file.name )}</url> + + <param type="data" name="bgzip_file" url="galaxy_${DATASET_HASH}.vcf.gz" format="vcf_bgzip" /> + <param type="data" name="tabix_file" dataset="bgzip_file" url="galaxy_${DATASET_HASH}.vcf.gz.tbi" format="tabix" /> + + </dynamic_links></display><!-- Dan Blankenberg --> diff -r be0aa5c296c72e85dfea2effe7d228953ffcb8a1 -r fe4cfbd300a11b8fc1f05fff06209035f0ef26e6 tool-data/shared/igv/igv_build_sites.txt.sample --- a/tool-data/shared/igv/igv_build_sites.txt.sample +++ b/tool-data/shared/igv/igv_build_sites.txt.sample @@ -1,4 +1,4 @@ #site_id site_name site_url dbkey ivg_build_name -web_link_main web current http://www.broadinstitute.org/igv/projects/current/igv.php hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum +web_link_main web current http://www.broadinstitute.org/igv/projects/current/igv.php hg_g1k_v37 b37 #web_jnlp_1.5 web 1.5 http://www.broadinstitute.org/igvdata/jws/prod hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum -#local_default local http://localhost:60151/load hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum \ No newline at end of file +#local_default local http://localhost:60151/load hg19,hg_g1k_v37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum hg19,b37,hg18,1kg_ref,hg17,hg16,mm9,mm8,mm7,panTro2,rheMac2,rn4,canFam2,bosTau6,bosTau4,bosTau3,susScrofa,galGal3,cavPor3,monDom5,xenTro2,taeGut1,zebrafish,danRer6,danRer7,gasAcu1,Aplysia,Plasmodium_3D7_v2.1,Plasmodium_3D7_v5.5,Plasmodium_6.1,PlasmoDB_7.0,pvivax,GSM552910,sacCer1,sacCer2,sk1,Y55,sacCer62,spombe_709,spombe_1.55,candida,mg8,spur_2.1,spur_2.5,spur_3.0,WS201,ce6,ce4,dm3,dm2,dmel_5.9,dmel_r5.22,dmel_r5.33,tcas_2.0,tcas_3.0,ncrassa_v3,nc10,Glamblia_2.0,me49,tb927,tbgambi,lmjr,anidulans_4.1,NC_009012,U00096.2,NC_000913.2,NC_002655.2,CSavignyi_v2.1,tair8,tair9,tair10,O_Sativa_r6,osativa_6.1,B73,ZmB73_5a,ppatens_1.2,D.discoideum Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.
participants (1)
-
commits-noreply@bitbucket.org