Waves Demo classes

WAVES Demo extends base Waves-Core functionality

Service override example

class demo.models.DemoWavesService(id, created, updated, description, short_description, api_name, binary_file, runner, name, authors, citations, version, status, email_on, partial, created_by, remote_service_id, edam_topics, edam_operations, category, to_delete)[source]
Parameters:
  • id – Id
  • created – Creation timestamp
  • updated – Last update timestamp
  • description – Description (HTML)
  • short_description – Short description (Text)
  • api_name – App short code, used in url, leave blank for automatic setup
  • binary_file (ForeignKey to waves.wcore.models.binaries.ServiceBinaryFile) – If set, ‘Execution parameter’ param line:’command’ will be ignored
  • runner (ForeignKey to waves.wcore.models.runners.Runner) – Service job runs configuration
  • name – Service displayed name
  • authors – Tools authors
  • citations – Citation link (Bibtex format)
  • version – Service displayed version
  • status – Service online status
  • email_on – This service sends notification email
  • partial – Set whether some service outputs are dynamic (not known in advance)
  • created_by (ForeignKey to authtools.models.User) – Created by
  • remote_service_id – Remote service tool id
  • edam_topics – Comma separated list of Edam ontology topics
  • edam_operations – Comma separated list of Edam ontology operations
  • category (ForeignKey to demo.models.ServiceCategory) – Category
  • to_delete – Automatic deletion
  • restricted_client (ManyToManyField to authtools.models.User) – Public access is granted to everyone, If status is ‘Restricted’ you may restrict access to specific users here.
  • adaptor_params (GenericRelation) – Adaptor params
submissions

ManyToOneRel to demo.models.DemoWavesSubmission

metas

ManyToOneRel to demo.models.ServiceMeta

Submission override example

class demo.models.DemoWavesSubmission(id, created, updated, order, slug, api_name, binary_file, runner, service, availability, name, to_delete)[source]
Parameters:
  • id – Id
  • created – Creation timestamp
  • updated – Last update timestamp
  • order – Order
  • slug – Slug
  • api_name – App short code, used in url, leave blank for automatic setup
  • binary_file (ForeignKey to waves.wcore.models.binaries.ServiceBinaryFile) – If set, ‘Execution parameter’ param line:’command’ will be ignored
  • runner (ForeignKey to waves.wcore.models.runners.Runner) – Service job runs configuration
  • service (ForeignKey to demo.models.DemoWavesService) – Service
  • availability – Availability
  • name – Label
  • to_delete – Automatic deletion
  • adaptor_params (GenericRelation) – Adaptor params
outputs

ManyToOneRel to waves.wcore.models.services.SubmissionOutput

exit_codes

ManyToOneRel to waves.wcore.models.services.SubmissionExitCode

submission_groups

ManyToOneRel to waves.wcore.models.inputs.RepeatedGroup

inputs

ManyToOneRel to waves.wcore.models.inputs.AParam

service_jobs

ManyToOneRel to waves.wcore.models.jobs.Job

Adapters override example

Demo adapters are not meant to execute anything for real, but are intended to demonstrate how to configure them in backoffice So every standard Wcore adapter is overriden in order to mock their execution on Demo platform

class demo.adaptors.WavesDemoAdaptor(command=None, protocol=u'http', host=u'localhost', **kwargs)[source]
get_command_line(obj)[source]

Retrieve command line normally executed on remote platform

_connect()[source]

Fake connection when running jobs.

__init__(command=None, protocol=u'http', host=u'localhost', **kwargs)[source]

Force command and add a job member

_job_status(job)[source]

Mocking job status

_run_job(job)[source]

Mocking job launch

_prepare_job(job)[source]

Mocking job preparation

_job_run_details(job)[source]

Mocking job run details retrieval

_job_results(job)[source]

Mocking job results, add basic command line to standard output, Randomly set stderr output to see warnings happen

class demo.adaptors.GalaxyJobAdaptor(command=None, protocol=u'http', host=u'localhost', port=u'', api_base_path=u'', api_endpoint=u'', app_key=None, library_dir=u'', **kwargs)[source]
_prepare_job(job)[source]

Mocking job remote preparation

class demo.adaptors.GalaxyJobAdaptor(command=None, protocol=u'http', host=u'localhost', port=u'', api_base_path=u'', api_endpoint=u'', app_key=None, library_dir=u'', **kwargs)[source]
_prepare_job(job)[source]

Mocking job remote preparation