mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-16 07:19:13 +08:00
Decrease readability.
This commit is contained in:
@@ -13,7 +13,7 @@ from galaxy.datatypes.metadata import MetadataElement
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class AnvioComposite( Html ):
|
||||
class AnvioComposite(Html):
|
||||
"""
|
||||
Base class to use for Anvi'o composite datatypes.
|
||||
Generally consist of a sqlite database, plus optional additional files
|
||||
@@ -21,7 +21,7 @@ class AnvioComposite( Html ):
|
||||
file_ext = "anvio_composite"
|
||||
composite_type = 'auto_primary_file'
|
||||
|
||||
def generate_primary_file( self, dataset=None):
|
||||
def generate_primary_file(self, dataset=None):
|
||||
"""
|
||||
This is called only at upload to write the html file
|
||||
cannot rename the datasets here - they come with the default unfortunately
|
||||
@@ -29,30 +29,30 @@ class AnvioComposite( Html ):
|
||||
defined_files = self.get_composite_files(dataset=dataset).items()
|
||||
rval = ["<html><head><title>Files for Anvi'o Composite Dataset (%s)</title></head>" % (self.file_ext)]
|
||||
if defined_files:
|
||||
rval.append( "<p/>This composite dataset is composed of the following defined files:<p/><ul>" )
|
||||
rval.append("<p/>This composite dataset is composed of the following defined files:<p/><ul>")
|
||||
for composite_name, composite_file in defined_files:
|
||||
opt_text = ''
|
||||
if composite_file.optional:
|
||||
opt_text = ' (optional)'
|
||||
missing_text = ''
|
||||
if not os.path.exists( os.path.join( dataset.extra_files_path, composite_name ) ):
|
||||
if not os.path.exists(os.path.join(dataset.extra_files_path, composite_name)):
|
||||
missing_text = ' (missing)'
|
||||
rval.append('<li><a href="%s">%s</a>%s%s</li>' % (composite_name, composite_name, opt_text, missing_text))
|
||||
rval.append( "</ul>" )
|
||||
defined_files = map( lambda x: x[0], defined_files )
|
||||
rval.append("</ul>")
|
||||
defined_files = map(lambda x: x[0], defined_files)
|
||||
extra_files = []
|
||||
for (dirpath, dirnames, filenames) in os.walk(dataset.extra_files_path, followlinks=True):
|
||||
for filename in filenames:
|
||||
rel_path = os.path.relpath( os.path.join( dirpath, filename ), dataset.extra_files_path)
|
||||
rel_path = os.path.relpath(os.path.join(dirpath, filename), dataset.extra_files_path)
|
||||
if rel_path not in defined_files:
|
||||
extra_files.append( rel_path )
|
||||
extra_files.append(rel_path)
|
||||
if extra_files:
|
||||
rval.append( "<p/>This composite dataset contains these undefined files:<p/><ul>" )
|
||||
rval.append("<p/>This composite dataset contains these undefined files:<p/><ul>")
|
||||
for rel_path in extra_files:
|
||||
rval.append('<li><a href="%s">%s</a></li>' % (rel_path, rel_path))
|
||||
rval.append('</ul>')
|
||||
if not ( defined_files or extra_files ):
|
||||
rval.append( "<p/>This composite dataset does not contain any files!<p/><ul>" )
|
||||
if not (defined_files or extra_files):
|
||||
rval.append("<p/>This composite dataset does not contain any files!<p/><ul>")
|
||||
rval.append('</html>')
|
||||
return "\n".join(rval)
|
||||
|
||||
@@ -76,7 +76,8 @@ class AnvioComposite( Html ):
|
||||
except Exception:
|
||||
return "Anvio database (multiple files)"
|
||||
|
||||
class AnvioDB( AnvioComposite ):
|
||||
|
||||
class AnvioDB(AnvioComposite):
|
||||
"""Class for AnvioDB database files."""
|
||||
_anvio_basename = None
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -84,8 +85,8 @@ class AnvioDB( AnvioComposite ):
|
||||
composite_type = 'auto_primary_file'
|
||||
allow_datatype_change = False
|
||||
|
||||
def __init__( self, *args, **kwd ):
|
||||
super( AnvioDB, self ).__init__( *args, **kwd )
|
||||
def __init__(self, *args, **kwd):
|
||||
super(AnvioDB, self).__init__(*args, **kwd)
|
||||
if self._anvio_basename is not None:
|
||||
self.add_composite_file(self._anvio_basename, is_binary=True, optional=False)
|
||||
|
||||
@@ -93,20 +94,21 @@ class AnvioDB( AnvioComposite ):
|
||||
"""
|
||||
Set the anvio_basename based upon actual extra_files_path contents.
|
||||
"""
|
||||
super( AnvioDB, self ).set_meta( dataset, **kwd )
|
||||
if dataset.metadata.anvio_basename is not None and os.path.exists( os.path.join( dataset.extra_files_path, dataset.metadata.anvio_basename ) ):
|
||||
super(AnvioDB, self).set_meta(dataset, **kwd)
|
||||
if dataset.metadata.anvio_basename is not None and os.path.exists(os.path.join(dataset.extra_files_path, dataset.metadata.anvio_basename)):
|
||||
return
|
||||
found = False
|
||||
for basename in [dataset.metadata.anvio_basename, self._anvio_basename]:
|
||||
if found:
|
||||
break
|
||||
if basename is not None and not os.path.exists( os.path.join( dataset.extra_files_path, basename ) ):
|
||||
for name in glob.glob( os.path.join( dataset.extra_files_path, "*%s" % ( basename ) ) ):
|
||||
if basename is not None and not os.path.exists(os.path.join(dataset.extra_files_path, basename)):
|
||||
for name in glob.glob(os.path.join(dataset.extra_files_path, "*%s" % (basename))):
|
||||
dataset.metadata.anvio_basename = os.path.basename(name)
|
||||
found = True
|
||||
break
|
||||
|
||||
class AnvioStructureDB( AnvioDB ):
|
||||
|
||||
class AnvioStructureDB(AnvioDB):
|
||||
"""Class for Anvio Structure DB database files."""
|
||||
_anvio_basename = 'STRUCTURE.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -114,7 +116,8 @@ class AnvioStructureDB( AnvioDB ):
|
||||
composite_type = 'auto_primary_file'
|
||||
allow_datatype_change = False
|
||||
|
||||
class AnvioGenomesDB( AnvioDB ):
|
||||
|
||||
class AnvioGenomesDB(AnvioDB):
|
||||
"""Class for Anvio Genomes DB database files."""
|
||||
_anvio_basename = '-GENOMES.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -122,7 +125,8 @@ class AnvioGenomesDB( AnvioDB ):
|
||||
composite_type = 'auto_primary_file'
|
||||
allow_datatype_change = False
|
||||
|
||||
class AnvioContigsDB( AnvioDB ):
|
||||
|
||||
class AnvioContigsDB(AnvioDB):
|
||||
"""Class for Anvio Contigs DB database files."""
|
||||
_anvio_basename = 'CONTIGS.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -130,12 +134,12 @@ class AnvioContigsDB( AnvioDB ):
|
||||
composite_type = 'auto_primary_file'
|
||||
allow_datatype_change = False
|
||||
|
||||
def __init__( self, *args, **kwd ):
|
||||
super( AnvioContigsDB, self ).__init__( *args, **kwd )
|
||||
def __init__(self, *args, **kwd):
|
||||
super(AnvioContigsDB, self).__init__(*args, **kwd)
|
||||
self.add_composite_file('CONTIGS.h5', is_binary=True, optional=True)
|
||||
|
||||
|
||||
class AnvioProfileDB( AnvioDB ):
|
||||
class AnvioProfileDB(AnvioDB):
|
||||
"""Class for Anvio Profile DB database files."""
|
||||
_anvio_basename = 'PROFILE.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -143,14 +147,15 @@ class AnvioProfileDB( AnvioDB ):
|
||||
composite_type = 'auto_primary_file'
|
||||
allow_datatype_change = False
|
||||
|
||||
def __init__( self, *args, **kwd ):
|
||||
super( AnvioProfileDB, self ).__init__( *args, **kwd )
|
||||
def __init__(self, *args, **kwd):
|
||||
super(AnvioProfileDB, self).__init__(*args, **kwd)
|
||||
self.add_composite_file('RUNINFO.cp', is_binary=True, optional=True)
|
||||
self.add_composite_file('RUNINFO.mcp', is_binary=True, optional=True)
|
||||
self.add_composite_file('AUXILIARY_DATA.db', is_binary=True, optional=True)
|
||||
self.add_composite_file('RUNLOG.txt', is_binary=False, optional=True)
|
||||
|
||||
class AnvioPanDB( AnvioDB ):
|
||||
|
||||
class AnvioPanDB(AnvioDB):
|
||||
"""Class for Anvio Pan DB database files."""
|
||||
_anvio_basename = 'PAN.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
@@ -159,7 +164,7 @@ class AnvioPanDB( AnvioDB ):
|
||||
allow_datatype_change = False
|
||||
|
||||
|
||||
class AnvioSamplesDB( AnvioDB ):
|
||||
class AnvioSamplesDB(AnvioDB):
|
||||
"""Class for Anvio Samples DB database files."""
|
||||
_anvio_basename = 'SAMPLES.db'
|
||||
MetadataElement(name="anvio_basename", default=_anvio_basename, desc="Basename", readonly=True)
|
||||
|
||||
Reference in New Issue
Block a user