OpenFreeEnergy / gufe

grand unified free energy by OpenFE
https://gufe.readthedocs.io
MIT License
28 stars 8 forks source link

LigandNetwork with no edges raises TypeError #217

Closed richardjgowers closed 1 year ago

richardjgowers commented 1 year ago
test_ligand_network.py:264 (test_empty_ligand_network)
mols = (SmallMoleculeComponent(name=), SmallMoleculeComponent(name=), SmallMoleculeComponent(name=))

    def test_empty_ligand_network(mols):
>       n = LigandNetwork(edges=[], nodes=mols[0])

test_ligand_network.py:266: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../tokenization.py:57: in __call__
    instance = super().__call__(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <[AttributeError("'LigandNetwork' object has no attribute '_nodes'") raised in repr()] LigandNetwork object at 0x7f540b397ac0>
edges = [], nodes = SmallMoleculeComponent(name=)

    def __init__(
        self,
        edges: Iterable[LigandAtomMapping],
        nodes: Optional[Iterable[SmallMoleculeComponent]] = None
    ):
        if nodes is None:
            nodes = []

        self._edges = frozenset(edges)

        print(edges)

>       edge_nodes = set.union(*[{edge.componentA, edge.componentB} for edge in edges])
E       TypeError: unbound method set.union() needs an argument

../ligandnetwork.py:36: TypeError

========================= 1 failed, 1 warning in 0.07s =========================

Process finished with exit code 1