def get_fbonds(graph, key):
    """Get all the possible forming bonds of a certain type

    Arguments:
        graph (nx.Graph): graph object of a molecule
        key (str): string representing the bond type to be examined

    Returns:
        list: list of bonds that can be made of this type
    """
    possible_fbonds = []
    bonds = list(graph.edges)
    for i in graph.nodes:
        for j in graph.nodes:
            if i > j:
                continue

            if not (i, j) in bonds and not (j, i) in bonds:
                bond = (i, j)
                label_i = graph.nodes[bond[0]]['atom_label']
                label_j = graph.nodes[bond[1]]['atom_label']

                key1, key2 = label_i + label_j, label_j + label_i

                if key1 == key or key2 == key:
                    possible_fbonds.append(bond)

    return possible_fbonds