Esempio n. 1
0
 def createModel(self):
     self.decisionTreeModel = np.empty([self.numBins, self.numBins])
     for i in range(0, self.numBins):
         for j in range(0, self.numBins):
             r = Resolver()
             query = "Feature1/bin " + str(i + 1) + "/Feature2/bin " + str(
                 j + 1) + "/*"
             try:
                 prediction = r.glob(self.decisionTree, query)[0].name
             except:
                 try:
                     query = "Feature2/bin " + str(
                         j + 1) + "/Feature1/bin " + str(i + 1) + "/*"
                     prediction = r.glob(self.decisionTree, query)[0].name
                 except:
                     try:
                         query = "Feature2/bin " + str(j + 1) + "/*"
                         prediction = r.glob(self.decisionTree,
                                             query)[0].name
                     except:
                         query = "Feature1/bin " + str(i + 1) + "/*"
                         prediction = r.glob(self.decisionTree,
                                             query)[0].name
             if (prediction == "Label = 1"):
                 prediction = 1
             elif (prediction == "Label = 0"):
                 prediction = 0
             self.decisionTreeModel[i][j] = prediction
Esempio n. 2
0
def test_enum():
    class Animals(IntEnum):
        Mammal = 1
        Cat = 2
        Dog = 3

    root = Node("ANIMAL")
    mammal = Node(Animals.Mammal, parent=root)
    cat = Node(Animals.Cat, parent=mammal)
    dog = Node(Animals.Dog, parent=mammal)

    r = Resolver()
    eq_(r.glob(root, "/ANIMAL/*"), [mammal])
    eq_(r.glob(root, "/ANIMAL/*/*"), [cat, dog])
Esempio n. 3
0
def node_search(tree, cible):
    s = cible
    if s == "":
        return []
    if s[0] == '/':
        s = '/' + tree.root.name + s
    r = Resolver('name')
    return r.glob(tree, s + '*')
Esempio n. 4
0
 def resolve_rels(self, patt) -> List['AnalNode']:
     """
     >>> f.resolve_rels("*/obj")
     :param patt:
     :return:
     """
     r = Resolver('dependency_relation')
     return r.glob(self, patt)
Esempio n. 5
0
def node_path_length(tree):
    resolver = Resolver('name')
    start = '*'
    for i in range(tree.height):
        node = resolver.glob(tree, start + '{' + sys.argv[2] + '}')
        if node != []:
            return node[0].depth
        else:
            start += '/*'
Esempio n. 6
0
def distance_to_interface(tree, node_name):
    resolver = Resolver('name')
    start = '*'
    for i in range(tree.height):
        node = resolver.glob(tree, start + node_name)
        if node != []:
            depth = node[0].depth
            return depth
        else:
            if node_name == '{external node}':
                return 0
            else:
                start += '/*'
    # When a node is not connected
    return 999
Esempio n. 7
0
 def __floordiv__(self, patt):
     """
     >>> from sagas.nlu.warehouse import warehouse as wh
     >>> wh//'find*'
     >>> wh//'*Person*'
     >>> [(el, el.words) for el in wh//'*Person*']
     :param patt:
     :return:
     """
     if isinstance(patt, str):
         r = Resolver('name')
         return r.glob(self, patt)
     elif isinstance(patt, ref_):
         val = self.resolve_entity(patt.val)
         return [val]
     else:
         return []
Esempio n. 8
0
def node_path_length(tree, node_name):
    resolver = Resolver('name')
    total = 0
    children_number = 0
    start = '*'
    for i in range(tree.height):
        node = resolver.glob(tree, start + node_name)
        if node:
            node[0].parent = None
            result = get_all_children(node[0], total, children_number, True)
            total += result[0]
            children_number += result[1]
        else:
            start += '/*'
    if children_number != 0:
        total = total / children_number
    return total
Esempio n. 9
0
r = Resolver()
reader = csv.DictReader(open('t.tab', 'r'), delimiter='\t')
for item in reader:
    ec = item.get('ec')
    iturl = item.get('p')
    it = iturl[iturl.rfind('/') + 1:]
    if ec == '-.-.-.-':
        continue
    ec = ec.split('.')
    if len(ec) != 4:
        print(l)
    p = 3
    for i in [3, 2]:
        if ec[i] == '-':
            p = i - 1
    for i in range(p, -1, -1):
        t = '/'.join(ec[0:i])
        if i == 0:
            t = ''
        try:
            res = r.glob(tree, '/Root/' + t)
        except ChildResolverError:
            continue
        if len(res[0].q) == 0:
            continue
        print(
            '{}|P680|{}|P4390|Q39894595|S854|"ftp://ftp.expasy.org/databases/enzyme/enzclass.txt"|S813|+2019-12-09T00:00:00Z/11'
            .format(it, res[0].q))
        break
Esempio n. 10
0
        s = superc.get((q, tc))
        if s != None:
            s.add(qq)
        else:
            superc[(q, tc)] = set([qq])

for q, tc in superc.keys():
    origtc = tc
    found = False
    mr = print_subc_tpfam
    if mr:
        p = tc.rfind('.')
        tc = tc[:p]
    while not found and tc.rfind('.') >= 0:
        try:
            res = r.glob(tree, '/Root/' + tc.replace('.', '/'))
        except ChildResolverError:
            m = missing.get(tc)
            if m is None:
                missing[tc] = 1
            else:
                missing[tc] = m + 1
            p = tc.rfind('.')
            tc = tc[:p]
            continue
        if len(res[0].q) > 0:
            tpsuperfam = res[0].q
            if print_partof_tpfam:
                s = superc.get((q, origtc))
                if s is None or tpsuperfam not in s:
                    print(