Source code for molsysmt.structure.flip

from molsysmt._private.digestion import digest
import numpy as np
from molsysmt import pyunitwizard as puw
from molsysmt import lib as msmlib
import gc

[docs] @digest() def flip(molecular_system, vector=[0,0,1], point='[0,0,0] nm', selection='all', structure_indices='all', syntax='MolSysMT', in_place=False): """ To be written soon... """ from molsysmt.basic import get, set, select, copy from molsysmt.structure import translate coordinates = get(molecular_system, element='atom', selection=selection, structure_indices=structure_indices, syntax=syntax, coordinates=True) coordinates, length_unit = puw.get_value_and_unit(coordinates) point = puw.get_value(point, to_unit=length_unit) point = point[0] coordinates = msmlib.structure.flip(coordinates, vector, point) coordinates = puw.quantity(coordinates, unit=length_unit) if in_place: set(molecular_system, selection=selection, structure_indices=structure_indices, syntax=syntax, coordinates=coordinates) del(coordinates) gc.collect() else: tmp_molecular_system = copy(molecular_system) set(tmp_molecular_system, selection=selection, structure_indices=structure_indices, syntax=syntax, coordinates=coordinates) del(coordinates) gc.collect() return tmp_molecular_system