annotate resfinder/cge/out/test.py @ 0:a16d245332d6 draft default tip

Uploaded
author dcouvin
date Wed, 08 Dec 2021 01:46:07 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
1 #!/usr/bin/env python3
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
2
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
3 import json
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
4 import os.path
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
5
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
6 from result import Result
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
7 from exceptions import CGECoreOutTypeError, CGECoreOutInputError
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
8 from template import CGEOutTemplate
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
9 from translate import Translate
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
10
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
11
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
12 try:
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
13 CGEOutTemplate("nonsense")
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
14 except CGECoreOutTypeError:
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
15 print("Caught expected template error.")
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
16
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
17 soft_dict = CGEOutTemplate("software_result")
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
18 soft_dict["software_name"] = "ResFinder"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
19 soft_dict["key"] = "soft_dict key"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
20 soft_dict["version"] = "3.2.0"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
21
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
22 soft_result = Result(**soft_dict)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
23
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
24 test_gene = {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
25 "type": "gene",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
26 "key": "some_gene_key",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
27 "name": "gen_name",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
28 "identity": "187",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
29 "alignment_length": "800",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
30 "ref_gene_lenght": "800",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
31 "coverage": "89",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
32 "ref_id": "some_ref_id"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
33 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
34
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
35 soft_result.add_class(cl="genes", **test_gene)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
36
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
37 test_dict = {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
38 "type": "software_result",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
39 "software_name": "ResFinder",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
40 "software_version": "4.0",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
41 "run_date": "20200214",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
42 "key": "software_key"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
43 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
44
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
45 result = Result(result_type="software_result", **test_dict)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
46 result.add_class(cl="genes", **test_gene)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
47
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
48 test_trans_table = {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
49 "primary": "key",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
50 "gene": "name",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
51 "id": "identity",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
52 "alignment": "alignment_length",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
53 "gene_lenght": "ref_gene_lenght",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
54 "cov": "coverage"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
55 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
56
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
57 translator = Translate("gene", test_trans_table)
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
58
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
59 test_gene2 = {
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
60 "primary": "some_gene_key2",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
61 "gene": "gen_name2",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
62 "id": "97",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
63 "alignment": "800",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
64 "gene_lenght": "800",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
65 "cov": "99"
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
66 }
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
67
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
68 result.add_class(cl="genes", result_type="gene",
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
69 **translator.translate(test_gene2))
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
70
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
71 try:
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
72 result.check_results()
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
73 soft_result.check_results()
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
74 except CGECoreOutInputError as e:
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
75 print("Error dict:\n{}".format(e.errors))
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
76
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
77 print(json.dumps(result))
a16d245332d6 Uploaded
dcouvin
parents:
diff changeset
78 print(json.dumps(soft_result))