biosimulators_test_suite package#
Subpackages#
- biosimulators_test_suite.results package
- biosimulators_test_suite.test_case package
- Submodules
- biosimulators_test_suite.test_case.cli module
- biosimulators_test_suite.test_case.combine_archive module
CombineArchiveHasSedDocumentsInNestedDirectories
CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories
CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories._archive_has_master
CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories.SED_DOCUMENTS_HAVE_SAME_NAMES
CombineArchiveHasSedDocumentsWithSameNamesInDifferentInNestedDirectories.SED_DOCUMENT_LOCATIONS_ARE_NESTED
CombineArchiveTestCase
WhenACombineArchiveHasAMasterFileSimulatorOnlyExecutesThisFile
WhenACombineArchiveHasNoMasterFileSimulatorExecutesAllSedDocuments
- biosimulators_test_suite.test_case.docker_image module
- biosimulators_test_suite.test_case.log module
- biosimulators_test_suite.test_case.published_project module
ConfigurableMasterCombineArchiveTestCase
ConfigurableMasterCombineArchiveTestCase._archive_has_master
ConfigurableMasterCombineArchiveTestCase._model_change_filter
ConfigurableMasterCombineArchiveTestCase._remove_algorithm_parameter_changes
ConfigurableMasterCombineArchiveTestCase._use_single_variable_data_generators
ConfigurableMasterCombineArchiveTestCase._remove_plots
ConfigurableMasterCombineArchiveTestCase._keep_one_task_one_report
ConfigurableMasterCombineArchiveTestCase._expected_report_ids
ConfigurableMasterCombineArchiveTestCase.build_synthetic_archives()
ExpectedResultOfSyntheticArchive
SimulatorCanExecutePublishedProject
SimulatorCanExecutePublishedProject.id
SimulatorCanExecutePublishedProject.name
SimulatorCanExecutePublishedProject.filename
SimulatorCanExecutePublishedProject.task_requirements
SimulatorCanExecutePublishedProject.skipped_simulators
SimulatorCanExecutePublishedProject.expected_reports
SimulatorCanExecutePublishedProject.expected_plots
SimulatorCanExecutePublishedProject.runtime_failure_alert_type
SimulatorCanExecutePublishedProject.assert_no_extra_reports
SimulatorCanExecutePublishedProject.assert_no_extra_datasets
SimulatorCanExecutePublishedProject.assert_no_missing_plots
SimulatorCanExecutePublishedProject.assert_no_extra_plots
SimulatorCanExecutePublishedProject.r_tol
SimulatorCanExecutePublishedProject.a_tol
SimulatorCanExecutePublishedProject.minimum_number_of_synthetic_uniform_time_steps
SimulatorCanExecutePublishedProject.compatible_with_specifications()
SimulatorCanExecutePublishedProject.eval()
SimulatorCanExecutePublishedProject.exec_sedml_docs_in_archive()
SimulatorCanExecutePublishedProject.from_dict()
SimulatorCanExecutePublishedProject.from_json()
SimulatorCanExecutePublishedProject.get_description()
SingleMasterSedDocumentCombineArchiveTestCase
SyntheticCombineArchiveTestCase
SyntheticCombineArchiveTestCase.id
SyntheticCombineArchiveTestCase.name
SyntheticCombineArchiveTestCase.description
SyntheticCombineArchiveTestCase.output_medium
SyntheticCombineArchiveTestCase.published_projects_test_cases
SyntheticCombineArchiveTestCase._published_projects_test_case
SyntheticCombineArchiveTestCase.EXEC_WITH_SINGULARITY
SyntheticCombineArchiveTestCase.REPORT_ERROR_AS_SKIP
SyntheticCombineArchiveTestCase.build_synthetic_archives()
SyntheticCombineArchiveTestCase.eval()
SyntheticCombineArchiveTestCase.eval_outputs()
SyntheticCombineArchiveTestCase.is_curated_archive_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_algorithm_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_doc_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_model_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_report_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_simulation_suitable_for_building_synthetic_archive()
SyntheticCombineArchiveTestCase.is_curated_sed_task_suitable_for_building_synthetic_archive()
UniformTimeCourseTestCase
UniformTimeCourseTestCase.TEST_TIME
UniformTimeCourseTestCase.add_time_data_set()
UniformTimeCourseTestCase.build_synthetic_archives()
UniformTimeCourseTestCase.eval_outputs()
UniformTimeCourseTestCase.is_curated_sed_task_suitable_for_building_synthetic_archive()
UniformTimeCourseTestCase.modify_simulation()
find_cases()
- biosimulators_test_suite.test_case.results_report module
- biosimulators_test_suite.test_case.sedml module
SimulatorProducesLinear2DPlots
SimulatorProducesLinear3DPlots
SimulatorProducesLogarithmic2DPlots
SimulatorProducesLogarithmic3DPlots
SimulatorProducesMultiplePlots
SimulatorProducesReportsWithCuratedNumberOfDimensions
SimulatorSupportsAlgorithmParameters
SimulatorSupportsModelAttributeChanges
SimulatorSupportsModelsSimulationsTasksDataGeneratorsAndReports
SimulatorSupportsMultipleReportsPerSedDocument
SimulatorSupportsMultipleTasksPerSedDocument
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.FUNCTONAL_RANGE_USES_VARIABLES
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.HAS_CHANGES
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.NUM_NESTED_RANGES
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithFunctionalRangeVariables.is_concrete()
SimulatorSupportsRepeatedTasksWithFunctionalRanges
SimulatorSupportsRepeatedTasksWithFunctionalRanges.FUNCTONAL_RANGE_USES_VARIABLES
SimulatorSupportsRepeatedTasksWithFunctionalRanges.NUM_NESTED_RANGES
SimulatorSupportsRepeatedTasksWithFunctionalRanges.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithFunctionalRanges.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithFunctionalRanges.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithFunctionalRanges.is_concrete()
SimulatorSupportsRepeatedTasksWithLinearUniformRanges
SimulatorSupportsRepeatedTasksWithLinearUniformRanges.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithLinearUniformRanges.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithLinearUniformRanges.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithLinearUniformRanges.UNIFORM_RANGE_TYPE
SimulatorSupportsRepeatedTasksWithLinearUniformRanges.is_concrete()
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges.UNIFORM_RANGE_TYPE
SimulatorSupportsRepeatedTasksWithLogarithmicUniformRanges.is_concrete()
SimulatorSupportsRepeatedTasksWithMultipleSubTasks
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.FUNCTONAL_RANGE_USES_VARIABLES
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.NUM_NESTED_RANGES
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithNestedFunctionalRanges.is_concrete()
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.MIXED_SUB_TASK_TYPES
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.RANGE_LENS
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithNestedRepeatedTasks.is_concrete()
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.MIXED_SUB_TASK_TYPES
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.NUM_NESTED_REPEATED_TASKS
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.NUM_SUB_TASKS
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.RANGE_LENS
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.RANGE_TYPE
SimulatorSupportsRepeatedTasksWithSubTasksOfMixedTypes.is_concrete()
SimulatorSupportsRepeatedTasksWithVectorRanges
SimulatorSupportsSubstitutingAlgorithms
SimulatorSupportsUniformTimeCoursesWithNonZeroInitialTimes
SimulatorSupportsUniformTimeCoursesWithNonZeroOutputStartTimes
- biosimulators_test_suite.test_case.utils module
Submodules#
biosimulators_test_suite.config module#
Configuration
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2021-01-30
- Copyright:
2021, Center for Reproducible Biomedical Modeling
- License:
MIT
- class biosimulators_test_suite.config.Config(pull_docker_image=None, docker_hub_username=None, docker_hub_token=None, biosimulators_auth_endpoint=None, biosimulators_audience=None, biosimulators_api_client_id=None, biosimulators_api_client_secret=None, biosimulators_prod_api_endpoint=None, biosimulators_dev_api_endpoint=None, biosimulators_curator_gh_ids=None, biosimulators_default_specifications_version=None, biosimulators_default_image_version=None, biosimulators_docker_registry_url=None, biosimulators_docker_registry_username=None, biosimulators_docker_registry_token=None, biosimulators_docker_image_url_pattern=None, runbiosimulations_auth_endpoint=None, runbiosimulations_audience=None, runbiosimulations_api_client_id=None, runbiosimulations_api_client_secret=None, runbiosimulations_api_endpoint=None, test_case_timeout=None, user_to_exec_in_simulator_containers=None, singularity_image_dirname=None)[source]#
Bases:
object
Configuration
- pull_docker_image[source]#
whether to pull the Docker image for the simulator (default:
True
)- Type:
bool
- biosimulators_curator_gh_ids[source]#
GitHub user ids of the BioSimulators curators
- Type:
list
ofstr
- biosimulators_default_specifications_version[source]#
Default version of the BioSimulators simulation specifications
- Type:
str
- biosimulators_default_image_version[source]#
Default version of the BioSimulators Docker image format
- Type:
str
- biosimulators_docker_registry_username[source]#
username for Docker registry for simulators
- Type:
str
- biosimulators_docker_image_url_pattern[source]#
URL pattern for Docker images for simulators
- Type:
str
- runbiosimulations_auth_endpoint[source]#
Authentification endpoint for the runBioSimulations API
- Type:
str
- user_to_exec_in_simulator_containers[source]#
user id or name to execute calls inside simulator containers
Use
_CURRENT_USER_
to indicate that the Docker container should execute commands as the current user (os.getuid()
)Use the format
<name|uid>[:<group|gid>]
to indicate any other user/group that the Docker container should use to execute commands
- Type:
str
orNone
biosimulators_test_suite.data_model module#
Data model for test cases for validating simulators
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-21
- Copyright:
2020, Center for Reproducible Biomedical Modeling
- License:
MIT
- class biosimulators_test_suite.data_model.AlertType(value)[source]#
Bases:
str
,Enum
Type of alert upon the failure of a test case
- class biosimulators_test_suite.data_model.ExpectedSedDataSet(id=None, label=None)[source]#
Bases:
object
An expected SED report
- Attributes
id (
str
): id label (str
): label
- class biosimulators_test_suite.data_model.ExpectedSedPlot(id=None)[source]#
Bases:
object
An expected SED report
- Attributes
id (
str
): id
- class biosimulators_test_suite.data_model.ExpectedSedReport(id=None, data_sets=None, points=None, values=None)[source]#
Bases:
object
An expected SED report
- Attributes
id (
str
): id data_sets (list
ofExpectedSedDataSet
): labels of expected data sets points (tuple
ofint
): number of expected points of values (dict
ofstr
todict
oflist
): expected values of data sets or elements of data sets
- class biosimulators_test_suite.data_model.OutputMedium(value)[source]#
Bases:
str
,Enum
Output medium
- class biosimulators_test_suite.data_model.SedTaskRequirements(model_format=None, model_format_features=None, simulation_algorithm=None)[source]#
Bases:
object
Required model format for simulation algorithm for each task in a SED document
- class biosimulators_test_suite.data_model.TestCase(id=None, name=None, description=None, output_medium=OutputMedium.console)[source]#
Bases:
ABC
A test case for validating a simulator
- abstract eval(specifications, working_dirname, synthetic_archives_dir=None, dry_run=False, cli=None)[source]#
Evaluate a simulator’s performance on a test case
- Parameters:
specifications (
dict
) – specifications of the simulator to validateworking_dirname (
str
) – directory for temporary files for evaluating test casesynthetic_archives_dir (
str
, optional) – Directory to save the synthetic COMBINE/OMEX archives generated by the test casesdry_run (
bool
, optional) – ifTrue
, do not use the simulator to execute COMBINE/OMEX archives.cli (
str
, optional) – command-line interface to use to execute the tests involving the simulation of COMBINE/OMEX archives rather than a Docker image
- Raises:
SkippedTestCaseException – if the test case is not applicable to the simulator
Exception – if the simulator did not pass the test case
biosimulators_test_suite.exceptions module#
Common exceptions for test cases
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-21
- Copyright:
2020, Center for Reproducible Biomedical Modeling
- License:
MIT
- exception biosimulators_test_suite.exceptions.InvalidOutputsException[source]#
Bases:
TestCaseException
Exception raised when outputs of execution of COMBINE/OMEX archive are not as expected
- exception biosimulators_test_suite.exceptions.SkippedTestCaseException[source]#
Bases:
TestCaseException
Exception raised that indicates that a test case should be skipped
- exception biosimulators_test_suite.exceptions.TestCaseException[source]#
Bases:
Exception
Exception raised when outputs of execution of COMBINE/OMEX archive are not as expected
- exception biosimulators_test_suite.exceptions.TimeoutException[source]#
Bases:
TestCaseException
Exception raised that indicates that a test case timed out
biosimulators_test_suite.exec_cli module#
Program for validating that simulation tools are consistent with the BioSimulators standards
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-22
- Copyright:
2020, BioSimulators Team
- License:
MIT
- class biosimulators_test_suite.exec_cli.App(label=None, **kw)[source]#
Bases:
App
Command line application
- class biosimulators_test_suite.exec_cli.BaseController(*args, **kw)[source]#
Bases:
ArgparseController
Base controller for command line application
- class Meta[source]#
Bases:
object
- arguments = [(['specifications'], {'type': <class 'str'>, 'help': 'Path or URL to the specifications of the simulator'}), (['-c', '--test-case'], {'type': <class 'str'>, 'nargs': '+', 'default': None, 'dest': 'case_ids', 'help': "Ids of test cases of evaluate (e.g., 'sedml.SimulatorSupportsModelAttributeChanges', 'published_project.SimulatorCanExecutePublishedProject:sbml-core/Caravagna-J-Theor-Biol-2010-tumor-suppressive-oscillations') substrings of ids of test cases to evaluate (e.g., 'sedml.', 'published_project.' to evaluate all SED-ML test cases or all test cases involving published projects). Default: evaluate all test cases"}), (['--cli'], {'default': None, 'help': 'Command-line interface to use to execute the tests involving the simulation of COMBINE/OMEX archives rather than a Docker image'}), (['--synthetic-archives-dir'], {'default': None, 'help': 'Directory to save the synthetic COMBINE/OMEX archives generated by the test cases'}), (['--report'], {'default': None, 'help': 'Path to save a report of the results in JSON format'}), (['--verbose'], {'action': 'store_true', 'help': 'If set, print the stdout and stderr of the execution of the tests in real time.'}), (['--work-dir'], {'default': None, 'help': 'Working directory for files for evaluating tests. This option enables intermediate files to be inspected rather than automatically cleaned up.'}), (['--do-not-validate-specs'], {'action': 'store_true', 'help': "If set, don't validate the specifications of the simulator."}), (['--do-not-log-std-out-err'], {'action': 'store_true', 'help': "If set, don't use capturer to collect stdout and stderr."}), (['--dry-run'], {'action': 'store_true', 'help': 'If set, create synthetic archives, but do not use the simulator to execute them.'}), (['-v', '--version'], {'action': 'version', 'version': '0.1.88'})][source]#
biosimulators_test_suite.exec_core module#
Utilities for validate containerized simulators
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-21
- Copyright:
2020, Center for Reproducible Biomedical Modeling
- License:
MIT
- class biosimulators_test_suite.exec_core.SimulatorValidator(specifications, case_ids=None, verbose=False, synthetic_archives_dir=None, output_medium=OutputMedium.console, log_std_out_err=True, working_dirname=None, dry_run=False, cli=None, validate_specs=True)[source]#
Bases:
object
Validate that a Docker image for a simulator implements the BioSimulations simulator interface by checking that the image produces the correct outputs for one of more test cases (e.g., COMBINE archive)
- specifications[source]#
path or URL to the specifications of the simulator, or the specifications of the simulator
- Type:
str
ordict
- synthetic_archives_dir[source]#
Directory to save the synthetic COMBINE/OMEX archives generated by the test cases
- Type:
str
- log_std_out_err[source]#
whether to log the standard output and error generated by each test case
- Type:
bool
- cli[source]#
command-line interface to use to execute the tests involving the simulation of COMBINE/OMEX archives rather than a Docker image
- Type:
str
- eval_case(case, working_dirname)[source]#
Evaluate a test case for a simulator
- Parameters:
case (
TestCase
) – test caseworking_dirname (
str
) – directory for temporary files for evaluating test case
- Returns:
test case result
- Return type:
TestCaseResult
- find_cases(ids=None)[source]#
Find test cases
- Parameters:
ids (
list
ofstr
, optional) – List of ids of test cases to verify. Ifids
is none, all test cases are verified.- Returns:
groups of test cases
- Return type:
collections.OrderedDict
oftypes.ModuleType
toTestCase
- find_cases_in_module(module, published_projects_test_cases, ids=None)[source]#
Discover test cases in a module
- Parameters:
module (
types.ModuleType
) – moduleids (
list
ofstr
, optional) – List of ids of test cases to verify. Ifids
is none, all test cases are verified.published_projects_test_cases (
list
ofpublished_project.SimulatorCanExecutePublishedProject
) – test cases involving executing curated COMBINE/OMEX archives
- Returns:
test cases
- Return type:
list
ofTestCase
- run()[source]#
Validate that a Docker image for a simulator implements the BioSimulations simulator interface by checking that the image produces the correct outputs for test cases (e.g., COMBINE archive)
- Returns:
results of executing test cases
- Return type:
list
TestCaseResult
- static summarize_results(results, debug=False, output_medium=OutputMedium.console)[source]#
Get a summary of the results of a set of test cases
- Parameters:
results (
list
TestCaseResult
) – results of executing test casesdebug (
bool
, optional) – whether to display traceback information about each error with additional information for debuggingoutput_medium (
OutputMedium
, optional) – environment where outputs will be sent
- Returns:
tuple
str
: summary of results of test caseslist
ofstr
: details of failureslist
ofstr
: details of warningslist
ofstr
: details of skips
biosimulators_test_suite.exec_gh_action module#
Methods for processing submissions to the BioSimulators registry (CI workflows for reviewing and committing simulators to the registry)
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-06
- Copyright:
2020, Center for Reproducible Biomedical Modeling
- License:
MIT
- class biosimulators_test_suite.exec_gh_action.ValidateCommitSimulatorGitHubAction[source]#
Bases:
GitHubAction
Action to validate a containerized simulator
- classmethod add_comment_to_issue(issue_number, comment, alternative_comment=None, max_len=65536)[source]#
Post a comment to the GitHub issue
- Parameters:
issue_number (
str
) – issue numbercomment (
str
) – commentalternative_comment (
str
, optional) – optional alternative comment to try posting to the GitHub issuemax_len (
int
, optional) – maximum comment length accepted by GitHub
- commit_simulator(submission, specifications, existing_version_specifications, test_results)[source]#
Commit simulator to the BioSimulators registry
- Parameters:
submission (
SimulatorSubmission
) – simulator submissionspecifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation tooltest_results (
list
ofTestCaseResults
) – results of test cases
- does_submission_have_approved_label()[source]#
Determine whether an issue for submitting a simulator already has the approved label
- Returns:
True
, if the issue for the submission already has the approved label- Return type:
bool
- exec_core(submission, submitter)[source]#
Validate simulator
Validate specifications
Validate image
- Parameters:
submission (
SimulatorSubmission
) – simulator submissionsubmitter (
str
) – GitHub id of the submitter
- Returns:
dict
: specifications of a simulation toollist
ofTestCaseResults
: results of test cases
- Return type:
tuple
- get_auth_headers_for_biosimulations_api(endpoint, audience, client_id, client_secret)[source]#
Get authorization headers for using one of the BioSimulations REST APIs (BioSimulators, runBioSimulations, etc.).
- Parameters:
endpoint (
str
) – URL for getting an authentication tokenaudience (
str
) – API audienceclient_id (
str
) – id for this clientclient_secret (
str
) – secret for this client
- Returns:
authorization headers
- Return type:
dict
- get_initial_message(submission, submitter)[source]#
Peport message that validation is starting
- Parameters:
submission (
SimulatorSubmission
) – simulator submissionsubmitter (
str
) – GitHub user name of person who executed the submission
- is_other_version_of_simulator_validated(specifications, existing_version_specifications)[source]#
Determine whether another version of the simulation tool has already been approved
- Parameters:
specifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation tool
- Returns:
True
, if the simulation tool has already been approved- Return type:
bool
- is_simulator_approved(specifications, existing_version_specifications)[source]#
Determine whether a simulation tool has already been approved
- Parameters:
specifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation tool
- Returns:
True
, if the simulation tool has already been approved- Return type:
bool
- is_submission_latest_version_of_simulator(specifications, existing_version_specifications)[source]#
Determine whether the submitted version the latest version of the simulator (greatest tag)
- Parameters:
specifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation tool
- Returns:
True
if the submitted version if the latest version of the simulator- Return type:
bool
- post_entry_to_biosimulators_api(specifications, existing_version_specifications, biosimulators_api_endpoint)[source]#
Post the simulation to the BioSimulators database
- Parameters:
specifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation toolbiosimulators_api_endpoint (
str
) – endpoint for the BioSimulators API (e.g.,https://api.biosimulators.org
)
- push_image(specifications, existing_version_specifications)[source]#
Push the image for a simulation tool to the GitHub Container Registry
- Parameters:
specifications (
dict
) – specifications of a simulation toolexisting_version_specifications (
list
ofdict
) – specifications of other versions of simulation tool
- trigger_conversion_of_docker_image_to_singularity(specifications)[source]#
Post the simulation to the BioSimulators database
- Parameters:
specifications (
dict
) – specifications of a simulation tool
biosimulators_test_suite.utils module#
Utility methods
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2021-06-05
- Copyright:
2021, Center for Reproducible Biomedical Modeling
- License:
MIT
- biosimulators_test_suite.utils.get_singularity_image_filename(docker_image)[source]#
Get the location where a Singularity version of a Docker image should be saved
- Parameters:
docker_image (
str
) – URL for the Docker version of the image- Returns:
path where a Singularity version of a Docker image should be saved
- Return type:
str
biosimulators_test_suite.warnings module#
Common warnings for test cases
- Author:
Jonathan Karr <karr@mssm.edu>
- Date:
2020-12-21
- Copyright:
2020, Center for Reproducible Biomedical Modeling
- License:
MIT
- exception biosimulators_test_suite.warnings.IgnoredTestCaseWarning[source]#
Bases:
TestCaseWarning
Warning that a test case was ignored
- exception biosimulators_test_suite.warnings.InvalidOutputsWarning[source]#
Bases:
TestCaseWarning
Warning that the outputs of the execution of a COMBINE/OMEX archive were not as expected
- exception biosimulators_test_suite.warnings.SimulatorRuntimeErrorWarning[source]#
Bases:
TestCaseWarning
,RuntimeWarning
Warning that the execution of a test case failed