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

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