def create_molecule(selected_nodes, parent=None): numbers = [] coordinates = [] atoms = list(yield_atoms(selected_nodes)) for atom in atoms: numbers.append(atom.number) if parent is None: coordinates.append(atom.get_absolute_frame().t) else: coordinates.append(atom.get_frame_relative_to(parent).t) result = Molecule(numbers, coordinates) result.atoms = atoms return result