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))
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')))
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)
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)
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)
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)