def build_graph()

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)