biosimulators_utils.simulator_registry package#

Submodules#

biosimulators_utils.simulator_registry.data_model module#

Data model for submitting simulators to the BioSimulators registry

Author:

Jonathan Karr <karr@mssm.edu>

Date:

2020-12-06

Copyright:

2020, Center for Reproducible Biomedical Modeling

License:

MIT

class biosimulators_utils.simulator_registry.data_model.IssueLabel(value)[source]#

Bases: str, Enum

An enumeration.

__format__(format_spec)[source]#

Returns format using actual value type unless __str__ has been overridden.

action_error = 'Action error'[source]#
approved = 'Approved'[source]#
invalid = 'Invalid'[source]#
validated = 'Validated'[source]#
class biosimulators_utils.simulator_registry.data_model.SimulatorSubmission(id: str | None = None, version: str | None = None, specifications_url: str | None = None, specifications_patch: dict | None = None, validate_image: bool = False, commit_simulator: bool = False)[source]#

Bases: object

Submission of a simulator to the BioSimulators registry

id[source]#

id of simulator (e.g., tellurium or vcell)

Type:

str

version[source]#

version of simulator (e.g., 2.1.6)

Type:

str

specifications_url[source]#

URL for the specifications of the version of the simulator (e.g., https://raw.githubusercontent.com/biosimulators/Biosimulators_tellurium/2.1.6/biosimulators.json)

Type:

str

specifications_patch[source]#

superseding specifications to those at specifications_url

Type:

dict

validate_image[source]#

if True, validate Docker image

Type:

bool

commit_simulator[source]#

if True, commit simulator to database

Type:

bool

is_equal(other)[source]#

Determine if two submissions are equal

Parameters:

other (SimulatorSubmission) – another submission

Returns:

True, if two submissions are equal

Return type:

bool

to_tuple()[source]#

Tuple representation of a person

Returns:

tuple representation of a person

Return type:

tuple of str

biosimulators_utils.simulator_registry.process_submission module#

Methods for processing submissions to the BioSimulators registry

Author:

Jonathan Karr <karr@mssm.edu>

Date:

2020-12-06

Copyright:

2020, Center for Reproducible Biomedical Modeling

License:

MIT

biosimulators_utils.simulator_registry.process_submission.get_simulator_submission_from_gh_issue_body(body)[source]#

Get a simulator submission from the YAML-structured data in an issue

Parameters:

body (str) – body of a GitHub issue for the submission of a simulator

Returns:

simulator submission

Return type:

SimulatorSubmission

biosimulators_utils.simulator_registry.query module#

Methods for querying the BioSimulators registry

Author:

Jonathan Karr <karr@mssm.edu>

Date:

2020-12-06

Copyright:

2020, Center for Reproducible Biomedical Modeling

License:

MIT

biosimulators_utils.simulator_registry.query.get_simulator_version_specs(id: str, config: Config | None = None)[source]#

Get the specifications of the versions of a simulator in the BioSimulators registry

Parameters:
  • id (str) – simulator id

  • config (Config, optional) – configuration

Returns:

specifications of the registered versions of the simulator

Return type:

list of dict

biosimulators_utils.simulator_registry.submit module#

Methods for submitting simulators to the BioSimulators registry

Author:

Jonathan Karr <karr@mssm.edu>

Date:

2020-12-06

Copyright:

2020, Center for Reproducible Biomedical Modeling

License:

MIT

biosimulators_utils.simulator_registry.submit.build_gh_issue_body(submission)[source]#

Build the body of a GitHub issue for the submission of a simulator

Parameters:

submission (SimulatorSubmission) – simulator

Returns:

body for a GitHub issue for the submission of a simulator

Return type:

str

biosimulators_utils.simulator_registry.submit.submit_simulator_to_biosimulators_registry(simulator, gh_username, gh_access_token)[source]#

Submit a version of a simulation tool for review for inclusion in the BioSimulators registry. This will create a GitHub issue which the BioSimulators Team will use to review your submission.

This method requires a GitHub access and personal access token. This access token must have the public_repo scope. Instructions for creating an access token are available in the GitHub documentation <https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token>_.

Parameters:
  • simulator (SimulatorSubmission) – simulator

  • gh_username (str) – GitHub username (e.g., jonrkarr)

  • gh_access_token (str) – GitHub personal access token.

Raises:

requests.exceptions.HTTPError – if the simulator is not successfully submitted for review