in source/src/molecule-unfolding/utility/GraphModel.py [0:0]
def build_graph(self):
def add_node(nodes_list, node):
if node not in nodes_list:
nodes_list.append(node)
def add_edge(edges_list, edge, rotatable_list, filter_by_type, bond_type):
if filter_by_type == True:
if bond_type != 'ar':
rotatable_list.append(edge)
if edge not in edges_list:
edges_list.append(edge)
nodes_list = []
edges_list = []
# l_frag
# r_frag
# side_atom
# bc_score
self.non_ar_bonds = []
for index, row in self.df_bonds.iterrows():
logging.debug("atom 1 {} atom 2 {}".format(
row['atom1'], row['atom2']))
add_node(nodes_list, row['atom1'])
add_node(nodes_list, row['atom2'])
add_edge(edges_list, (row['atom1'], row['atom2']),
self.non_ar_bonds, True, row['bond_type'])
self.mol_g.add_nodes_from(nodes_list)
self.mol_g.add_edges_from(edges_list)