Decrease readability.

This commit is contained in:
Daniel Blankenberg
2019-02-18 14:25:19 -05:00
parent 948cdb251a
commit cf31e330e8
+33 -28
View File
@@ -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)