source: orange-bioinformatics/Orange/bioinformatics/obiKEGG2/types.py @ 1625:cefeb35cbfc9

Revision 1625:cefeb35cbfc9, 3.2 KB checked in by mitar, 2 years ago (diff)

Moving files around.

Line 
1"""
2Return types from api classes interface for the SOAP kegg api.
3
4"""
5
6from datetime import datetime
7from collections import namedtuple
8
9Definition = namedtuple(
10    "Definition", ["entry_id",
11                   "definition"
12                   ])
13
14def _Definition_from_items(items):
15    """ Definition 'items' tuple from a list of items
16    """
17    items_list = []
18    for name, val in items:
19        if isinstance(name, list):
20            name = name[0]
21        if isinstance(val, list):
22            val = val[0]
23        items_list.append((str(name), str(val)))
24    return Definition(**dict(items_list))
25
26Definition.from_items = staticmethod(_Definition_from_items)
27   
28BInfo = namedtuple(
29    'BInfo', ["entry_id",
30              "definition",
31              "name",
32              "release",
33              "curator",
34              "contents",
35              "last_update",
36              "supported_formats"
37              ])
38
39def _BInfo_from_text(text):
40    """ Parse the return string from binfo into a new BInfo instance.
41    """
42    lines = text.splitlines()
43    name, definition = lines[0].split(" ", 1)
44    definition = definition.strip()
45   
46    entry_id, release = lines[1].split(" ", 1)
47    _, release = release.strip().split(" ", 1)
48    curator = lines[2].strip()
49    contents = lines[3].strip()
50    _, last_update = lines[4].strip().split(":",1)
51    last_update = datetime.strptime(last_update.strip(), "%y/%m/%d").date()
52    supported_formats = lines[5].strip()
53    return BInfo(entry_id, definition, name, release, curator,
54                 contents, last_update, supported_formats)
55
56BInfo.from_text = staticmethod(_BInfo_from_text)
57
58
59SSDBRelation = namedtuple(
60    "SSDBRelation", ["genes_id1",
61                     "genes_id2",
62                     "sw_score",
63                     "bit_score",
64                     "identity",
65                     "overlap",
66                     "start_position1",
67                     "end_position1",
68                     "start_position2",
69                     "end_position2",
70                     "best_flag_1to2",
71                     "best_flag_2to1",
72                     "definition1",
73                     "definition2",
74                     "length1",
75                     "length2"
76                     ])
77
78MotifResult = namedtuple(
79    "MotifResult", ["motif_id",
80                    "definition",
81                    "genes_id",
82                    "start_position",
83                    "end_position",
84                    "score",
85                    "evalue"
86                    ])
87
88LinkDBRelation = namedtuple(
89    "LinkDBRelation", ["entry_id1",
90                       "entry_id2",
91                       "type",
92                       "path"
93                       ])
94
95PathwayElement = namedtuple(
96    "PathwayElement", ["element_id",
97                       "type",
98                       "names",
99                       "components"
100                       ])
101
102PathwayElementRelation = namedtuple(
103    "PathwayElementRelation", ["element_id1",
104                               "element_id2",
105                               "type",
106                               "subtypes"
107                               ])
108
109Subtype = namedtuple(
110    "Subtype", ["element_id",
111                "relation",
112                "type",
113                ])
114
Note: See TracBrowser for help on using the repository browser.