18 06 2011 chemoinformatics Python Tweet
clone的なメソッド用意されてないのね。
この前は、こんな感じでコピーするようにしたけど、
def clone(mol): new_mol = ob.OBMol() for atom in ob.OBMolAtomIter(mol): new_mol.AddAtom(atom) for bond in ob.OBMolBondIter(mol): new_mol.AddBond(bond) return new_mol
適当なフォーマットに書きだして再読込でもいいそうなのでそうした。
def clone(mol): obc = ob.OBConversion() obc.SetInAndOutFormats("mol", "mol") molstring = obc.WriteString(mol) new_mol = ob.OBMol() obc.ReadString(new_mol,molstring) return new_mol