Mercurial > repos > dcouvin > resfinder
diff resfinder/cge/out/test.py @ 0:a16d245332d6 draft default tip
Uploaded
author | dcouvin |
---|---|
date | Wed, 08 Dec 2021 01:46:07 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/resfinder/cge/out/test.py Wed Dec 08 01:46:07 2021 +0000 @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 + +import json +import os.path + +from result import Result +from exceptions import CGECoreOutTypeError, CGECoreOutInputError +from template import CGEOutTemplate +from translate import Translate + + +try: + CGEOutTemplate("nonsense") +except CGECoreOutTypeError: + print("Caught expected template error.") + +soft_dict = CGEOutTemplate("software_result") +soft_dict["software_name"] = "ResFinder" +soft_dict["key"] = "soft_dict key" +soft_dict["version"] = "3.2.0" + +soft_result = Result(**soft_dict) + +test_gene = { + "type": "gene", + "key": "some_gene_key", + "name": "gen_name", + "identity": "187", + "alignment_length": "800", + "ref_gene_lenght": "800", + "coverage": "89", + "ref_id": "some_ref_id" +} + +soft_result.add_class(cl="genes", **test_gene) + +test_dict = { + "type": "software_result", + "software_name": "ResFinder", + "software_version": "4.0", + "run_date": "20200214", + "key": "software_key" +} + +result = Result(result_type="software_result", **test_dict) +result.add_class(cl="genes", **test_gene) + +test_trans_table = { + "primary": "key", + "gene": "name", + "id": "identity", + "alignment": "alignment_length", + "gene_lenght": "ref_gene_lenght", + "cov": "coverage" +} + +translator = Translate("gene", test_trans_table) + +test_gene2 = { + "primary": "some_gene_key2", + "gene": "gen_name2", + "id": "97", + "alignment": "800", + "gene_lenght": "800", + "cov": "99" +} + +result.add_class(cl="genes", result_type="gene", + **translator.translate(test_gene2)) + +try: + result.check_results() + soft_result.check_results() +except CGECoreOutInputError as e: + print("Error dict:\n{}".format(e.errors)) + +print(json.dumps(result)) +print(json.dumps(soft_result))