mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge branch 'release_15.03' of https://github.com/galaxyproject/galaxy into release_15.03
This commit is contained in:
@@ -180,7 +180,7 @@
|
||||
<datatype extension="scf" type="galaxy.datatypes.binary:Scf" mimetype="application/octet-stream" display_in_upload="true" description="A binary sequence file in 'scf' format with a '.scf' file extension. You must manually select this 'File Format' when uploading the file." description_url="https://wiki.galaxyproject.org/Learn/Datatypes#Scf"/>
|
||||
<datatype extension="Sequences" type="galaxy.datatypes.assembly:Sequences" display_in_upload="false"/>
|
||||
<datatype extension="snpeffdb" type="galaxy.datatypes.text:SnpEffDb" display_in_upload="True"/>
|
||||
<datatype extension="snpsiftdbnsfp" type="galaxy.datatypes.txt:SnpSiftDbNSFP" display_in_upload="True"/>
|
||||
<datatype extension="snpsiftdbnsfp" type="galaxy.datatypes.text:SnpSiftDbNSFP" display_in_upload="True"/>
|
||||
<datatype extension="dbnsfp.tabular" type="galaxy.datatypes.tabular:Tabular" subclass="True" display_in_upload="True">
|
||||
<converter file="tabular_to_dbnsfp.xml" target_datatype="snpsiftdbnsfp"/>
|
||||
</datatype>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
@@ -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 -->
|
||||
|
||||
+1
-1
@@ -88,7 +88,7 @@ class UniverseApplication( object, config.ConfiguresGalaxyMixin ):
|
||||
# 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
|
||||
|
||||
@@ -80,21 +80,57 @@ class DisplayApplicationLink( object ):
|
||||
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 ) )
|
||||
dynamic_params = {}
|
||||
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 = {}
|
||||
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 @@ class DynamicDisplayApplicationBuilder( object ):
|
||||
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:
|
||||
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 ) )
|
||||
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:
|
||||
log.warning( 'Invalid dynamic display application link specified in %s: "%s"' % ( filename, line ) )
|
||||
self.links = rval
|
||||
continue
|
||||
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 PopulatedDisplayApplicationLink( object ):
|
||||
|
||||
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 @@ class DisplayApplication( object ):
|
||||
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 @@ class DisplayApplication( object ):
|
||||
# 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()
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ class DisplayApplicationDataParameter( DisplayApplicationParameter ):
|
||||
@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
|
||||
|
||||
@@ -546,7 +546,7 @@ class Registry( object ):
|
||||
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 @@ class Registry( object ):
|
||||
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:
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import sys
|
||||
import config
|
||||
import sys
|
||||
import time
|
||||
|
||||
import galaxy.model
|
||||
from galaxy.web import security
|
||||
|
||||
@@ -26,6 +28,8 @@ class UniverseApplication( object ):
|
||||
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
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
import config
|
||||
import sys
|
||||
from galaxy import tools
|
||||
import galaxy.tools.data
|
||||
import galaxy.quota
|
||||
import time
|
||||
import galaxy.datatypes.registry
|
||||
import galaxy.quota
|
||||
import galaxy.tools.data
|
||||
import galaxy.webapps.tool_shed.model
|
||||
from galaxy import tools
|
||||
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 @@ class UniverseApplication( object ):
|
||||
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 ):
|
||||
|
||||
@@ -214,5 +214,5 @@ class CustomDatatypeLoader( object ):
|
||||
|
||||
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 )
|
||||
|
||||
@@ -621,7 +621,7 @@ class InstallRepositoryManager( object ):
|
||||
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.
|
||||
|
||||
@@ -523,7 +523,7 @@ class ToolMigrationManager( object ):
|
||||
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 ):
|
||||
|
||||
@@ -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
|
||||
#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
|
||||
|
||||
Reference in New Issue
Block a user