Exemple #1
0
    def test_apply_simple_spring_layout(self):
        net = NiceCXNetwork()
        n_one = net.create_node('node1')
        n_two = net.create_node('node2')
        net.create_edge(n_one, n_two, 'links')
        p = MagicMock()
        p.datadir = 'datadir'
        p.profile = 'foo'
        p.organismloadplan = ndexloadbiogrid.get_organism_load_plan()
        p.chemicalloadplan = ndexloadbiogrid.get_chemical_load_plan()
        p.organismstyle = ndexloadbiogrid.get_organism_style()
        p.chemstyle = ndexloadbiogrid.get_chemical_style()
        p.biogridversion = '1.0.0'
        p.skipdownload = False
        loader = NdexBioGRIDLoader(p)
        loader._apply_simple_spring_layout(net)

        aspect = net.get_opaque_aspect('cartesianLayout')
        self.assertEqual(2, len(aspect))

        # try with 19 nodes
        net = NiceCXNetwork()
        for x in range(0, 19):
            net.create_node(str(x))
        loader._apply_simple_spring_layout(net)

        aspect = net.get_opaque_aspect('cartesianLayout')
        self.assertEqual(19, len(aspect))

        # try with 99 nodes
        net = NiceCXNetwork()
        for x in range(0, 99):
            net.create_node(str(x))
        loader._apply_simple_spring_layout(net)

        aspect = net.get_opaque_aspect('cartesianLayout')
        self.assertEqual(99, len(aspect))

        # try with 101 nodes
        net = NiceCXNetwork()
        for x in range(0, 101):
            net.create_node(str(x))
        loader._apply_simple_spring_layout(net)

        aspect = net.get_opaque_aspect('cartesianLayout')
        self.assertEqual(101, len(aspect))
Exemple #2
0
    def test_apply_simple_spring_layout(self):
        net = NiceCXNetwork()
        for x in range(2):
            net.create_node('node' + str(x))
        loader = NDExNciPidLoader(None)
        loader._apply_simple_spring_layout(net)
        res = net.get_opaque_aspect('cartesianLayout')
        self.assertEqual(2, len(res))
        self.assertTrue('node' in res[0])
        self.assertTrue(res[0]['node'] >= 0)
        self.assertTrue('x' in res[0])
        self.assertTrue('y' in res[0])
        self.assertTrue('node' in res[1])
        self.assertTrue(res[1]['node'] >= 1)
        self.assertTrue('x' in res[1])
        self.assertTrue('y' in res[1])

        net = NiceCXNetwork()
        for x in range(10):
            net.create_node('node' + str(x))
        loader._apply_simple_spring_layout(net)
        self.assertEqual(10,
                         len(net.get_opaque_aspect('cartesianLayout')))

        net = NiceCXNetwork()
        for x in range(20):
            net.create_node('node' + str(x))
        loader._apply_simple_spring_layout(net)
        self.assertEqual(20,
                         len(net.get_opaque_aspect('cartesianLayout')))

        net = NiceCXNetwork()
        for x in range(100):
            net.create_node('node' + str(x))
        loader._apply_simple_spring_layout(net)
        self.assertEqual(100,
                         len(net.get_opaque_aspect('cartesianLayout')))
Exemple #3
0
 def test_apply_cytoscape_layout_networks_success(self):
     temp_dir = tempfile.mkdtemp()
     try:
         p = MagicMock()
         p.layout = 'grid'
         p.sifdir = temp_dir
         mockpy4 = MagicMock()
         imp_res = {'networks': ['netid']}
         mockpy4.import_network_from_file = MagicMock(return_value=imp_res)
         mockpy4.export_network = MagicMock(return_value='')
         loader = NDExNciPidLoader(p, py4cyto=mockpy4)
         loader._ndexextra.extract_layout_aspect_from_cx = MagicMock(return_value={'cartesianLayout': []})
         net = NiceCXNetwork()
         for x in range(10):
             net.create_node('node' + str(x))
         loader._apply_cytoscape_layout(net)
         self.assertEqual([{'cartesianLayout': []}],
                          net.get_opaque_aspect('cartesianLayout'))
     finally:
         shutil.rmtree(temp_dir)
Exemple #4
0
    def test_apply_template_network(self):
        net = NiceCXNetwork()
        net.set_name('foo')
        creds = self.get_ndex_credentials_as_tuple()
        client = self.get_ndex2_client()
        template_net = ndex2.create_nice_cx_from_file(
            TestNiceCXNetworkIntegration.GLYPICAN2_FILE)
        netname = 'ndex2-client integration test network' + str(datetime.now())
        template_net.set_name(netname)
        res = client.save_new_network(template_net.to_cx(),
                                      visibility='PRIVATE')
        try:
            self.assertTrue('http' in res)
            netid = re.sub('^.*/', '', res)
            netsum = self.wait_for_network_to_be_ready(client, netid)
            self.assertIsNotNone(
                netsum, 'Network is still not ready,'
                ' maybe server is busy?')

            # verify we get the right exception for unauthorized
            # call
            try:
                net.apply_template(creds['server'], netid)
                self.fail('Expected NDExUnauthorizedError')
            except NDExUnauthorizedError as ne:
                self.assertTrue(
                    'NDEx_Unauthorized_Operation_Exception' in str(ne))

            # okay try to apply template on valid network
            net.apply_template(creds['server'],
                               netid,
                               username=creds['user'],
                               password=creds['password'])
            cyvis = net.get_opaque_aspect(NiceCXNetwork.VISUAL_PROPERTIES)
            self.assertEqual(
                template_net.get_opaque_aspect(
                    NiceCXNetwork.CY_VISUAL_PROPERTIES), cyvis)
        finally:
            # delete network
            client.delete_network(netid)
    def test_update_network_containing_all_types(self):
        updator = SpringLayoutUpdator()
        net = NiceCXNetwork()

        comp_attr = NodeLocationUpdator.LOCATION
        ecnode = net.create_node(node_name='ecnode', node_represents='ecnoder')
        net.set_node_attribute(ecnode, comp_attr,
                               SpringLayoutUpdator.EXTRACELLULAR)

        rnode = net.create_node(node_name='rnode', node_represents='rnoder')
        net.set_node_attribute(rnode, comp_attr,
                               SpringLayoutUpdator.RECEPTOR)

        cnode = net.create_node(node_name='cnode', node_represents='cnoder')
        net.set_node_attribute(cnode, comp_attr,
                               SpringLayoutUpdator.CYTOPLASM)

        fnode = net.create_node(node_name='fnode', node_represents='fnoder')
        net.set_node_attribute(fnode, comp_attr,
                               SpringLayoutUpdator.FACTOR)

        pnode = net.create_node(node_name='pnode', node_represents='pnoder')
        net.set_node_attribute(pnode, comp_attr,
                               SpringLayoutUpdator.PHENOTYPESLIST)

        xnode = net.create_node(node_name='xnode', node_represents='xnoder')
        self.assertEqual([], updator.update(net))

        res = net.get_opaque_aspect(SpringLayoutUpdator.CARTESIAN_LAYOUT)

        ydict = {}
        for entry in res:
            ydict[entry['node']] = entry['y']
        self.assertTrue(ydict[ecnode] < 0.0)
        self.assertTrue(ydict[rnode] < 0.0)
        self.assertTrue(ydict[cnode] > -100.0)

        self.assertTrue(ydict[fnode] > 0.0)
        self.assertTrue(ydict[pnode] > 0.0)
Exemple #6
0
 def test_add_opaque_aspect_with_dict(self):
     net_cx = NiceCXNetwork()
     data = {'hi': 'blah'}
     net_cx.add_opaque_aspect('hi', data)
     res = net_cx.get_opaque_aspect('hi')
     self.assertEqual([data], res)
Exemple #7
0
 def test_add_opaque_aspect_success(self):
     net_cx = NiceCXNetwork()
     data = ['hi']
     net_cx.add_opaque_aspect('hi', data)
     res = net_cx.get_opaque_aspect('hi')
     self.assertEqual(data, res)