SEDenmarkLab / molli_firstgen

In silico library generation tool box
4 stars 1 forks source link

easy fix- adding repr and fixing clone #14

Open caseyolen opened 3 years ago

caseyolen commented 3 years ago

class Molecule: """ Molecule is a class that is supposed to be a cornerstone in all cross-talk between different pieces of code. XML-serializable. """

def __init__(
    self,
    name: str,
    atoms: List[Atom],
    bonds: List[Bond],
    geom: CartesianGeometry,
    conformers: List[CartesianGeometry] = [],
    clone: bool = True,
):
    """"""
    if clone:
        self.name = deepcopy(name)
        self.atoms, self.bonds = deepcopy(atoms), deepcopy(bonds)
        self.geom = deepcopy(geom)
        if not conformers:
            self.conformers = [deepcopy(geom)]
        else:
            self.conformers = deepcopy(conformers)
    else:
        self.name = name
        self.atoms, self.bonds = atoms, bonds
        self.geom = geom
        if not conformers:
            self.conformers = [deepcopy(geom)]
        else:
            self.conformers = conformers

def __repr__(self):
    return f"mol {self.name}: {len(self.atoms)} atoms {len(self.bonds)} bonds {len(self.conformers)} confs"