Beispiel #1
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    return None
Beispiel #2
0
def set_coordinates_to_system(item, indices='all', structure_indices='all', value=None, check=True):

    if check:

        _digest_item(item, 'molsysmt.MolSys')
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    return set_coordinates_to_atom(item, indices='all', structure_indices=structure_indices,
            value=value, check=False)
Beispiel #3
0
def set_box_to_system(item, indices='all', structure_indices='all', value=None, check=True):

    if check:

        _digest_item(item, 'molsysmt.MolSys')
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    item.trajectory.box = value

    pass
Beispiel #4
0
def set_atom_name_to_atom(item, indices='all', structure_indices='all', value=None, check=True):

    if check:

        _digest_item(item, 'molsysmt.MolSys')
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    from ..molsysmt_Topology import set_atom_name_to_atom as aux_set

    return aux_set(item.topology, indices=indices, structure_indices=structure_indices, value=value, check=True)
Beispiel #5
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    if structure_indices is 'all':
        output = item.step
    else:
        output = item.step[structure_indices]
    return output
Beispiel #6
0
def get_coordinates_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    if structure_indices is 'all':
        output = item.coordinates
    else:
        output = item.coordinates[structure_indices, :, :]
    return output
Beispiel #7
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    raise NotImplementedMethodError()
Beispiel #8
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    box = item.getPeriodicBoxVectors()
    unit = _puw.get_unit(box)
    box = _np.expand_dims(puw.get_value(box), axis=0)
    box = _puw.standardize(box * unit)

    return box
Beispiel #9
0
def get_box_angles_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    tmp_box_angles = item.get_box_angles()
    if structure_indices is 'all':
        output = tmp_box_angles
    else:
        output = tmp_box_angles[structure_indices, :]
    return output
Beispiel #10
0
def get_time_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    output = _puw.quantity(item.time, unit='ps')

    if structure_indices is not 'all':
        output = output[structure_indices]

    return output
Beispiel #11
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    box = getBoxVectors(asNumpy=True)
    unit = _puw.get_unit(box)
    box = _np.expand_dims(box, axis=0)
    box = _puw.standardize(box * unit)

    return box
Beispiel #12
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from .to_molsysmt_MolSys import to_molsysmt_MolSys
    from ..molsysmt_MolSys import get_step_from_system as aux_get

    tmp_item = to_molsysmt_MolSys(item, check=False)
    output = aux_get(tmp_item, check=False)

    return output
Beispiel #13
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_openmm_AmberInpcrdFile
    from ..openmm_AmberInpcrdFile import get_step_from_system as aux_get

    tmp_item = to_openmm_AmberInpcrdFile(item, check=False)
    output = aux_get(tmp_item, check=False)

    return output
Beispiel #14
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_openmm_Topology
    from ..openmm_Topology import get_box_from_system as aux_get

    tmp_item = to_openmm_Topology(item, structure_indices=structure_indices, check=False)
    output = aux_get(tmp_item, check=False)

    return output
Beispiel #15
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_string_pdb_text
    from ..string_pdb_text import get_step_from_system as aux_get

    tmp_item = to_string_pdb_text(item, check=False)
    output = aux_get(tmp_item, check=False)

    return output
Beispiel #16
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    output = None
    if item.box is not None:
        if structure_indices is 'all':
            output = item.box
        else:
            output = item.box[structure_indices, :, :]
    return output
Beispiel #17
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_mdtraj_XTCTrajectoryFile
    from ..mdtraj_XTCTrajectoryFile import get_step_from_system as aux_get

    tmp_item = to_mdtraj_XTCTrajectoryFile(item, check=False)
    output = aux_get(tmp_item, structure_indices=structure_indices, check=False)

    return output
Beispiel #18
0
def set_atom_name_to_atom(item,
                          indices='all',
                          structure_indices='all',
                          value=None,
                          check=True):

    if check:

        _digest_item(item, 'molsysmt.Topology')
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    item.atoms_dataframe.loc[indices, 'atom_name'] = value

    pass
Beispiel #19
0
def get_box_shape_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from molsysmt.pbc import box_shape_from_box_vectors
    output = None
    box = get_box_from_system(item,
                              structure_indices=structure_indices,
                              check=False)
    if box is not None:
        output = box_shape_from_box_vectors(box)
    return output
Beispiel #20
0
def get_coordinates_from_atom(item, indices='all', structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    coordinates= _puw.quantity(item.xyz * 0.1, unit='nm')

    if indices is not 'all':
        coordinates = coordinates[:, atom_indices, :]
    if structure_indices is not 'all':
        coordinates = coordinates[structure_indices,:,:]

    return coordinates
Beispiel #21
0
def get_step_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(indices)

    from . import to_mmtf_MMTFDecoder
    from ..mmtf_MMTFDecoder import get_step_from_system as aux_get

    tmp_item = to_mmtf_MMTFDecoder(item, check=False)
    output = aux_get(tmp_item,
                     structure_indices=structure_indices,
                     check=False)

    return output
Beispiel #22
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    from .to_molsysmt_MolSys import to_molsysmt_MolSys
    from ..molsysmt_MolSys import get_coordinates_from_atom as aux_get

    tmp_item = to_molsysmt_MolSys(item, check=False)
    output = aux_get(tmp_item, indices=indices, check=False)

    return output
Beispiel #23
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    from molsysmt.pbc import box_vectors_from_box_lengths_and_angles

    lengths = _puw.quantity(item.unitcells[:,0:3]*0.1, unit='nm')
    angles = _puw.quantity(item.unitcells[:,3:6], unit='degrees')

    if structure_indices is not 'all':
        lengths = lengths[structure_indices,:]
        angles = angles[structure_indices,:]

    output = box_vectors_from_box_lengths_and_angles(lengths, angles)

    return output
Beispiel #24
0
def get_box_from_system(item, structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        structure_indices = _digest_structure_indices(structure_indices)

    box = item.getPeriodicBoxVectors()

    output = None

    if box is not None:
        unit = _puw.get_unit(box)
        box = _np.array(_puw.get_value(box))
        box = box.reshape(1, box.shape[0], box.shape[1])
        box = box * unit
        output = _puw.standardize(box)

    return output
Beispiel #25
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    tmp_coordinates = item.coordinates

    if structure_indices is not 'all':
        tmp_coordinates = tmp_coordinates[structure_indices, :, :]

    if indices is not 'all':
        tmp_coordinates = tmp_coordinates[:, indices, :]

    return tmp_coordinates
Beispiel #26
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_openmm_GromacsGroFile
    from ..openmm_GromacsGroFile import get_coordinates_from_atom as aux_get

    tmp_item = to_openmm_GromacsGroFile(item, check=False)
    output = aux_get(tmp_item,
                     indices=indices,
                     structure_indices=structure_indices,
                     check=False)

    return output
Beispiel #27
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    from . import to_mdtraj_Trajectory
    from ..mdtraj_Trajectory import get_coordinates_from_atom as aux_get

    tmp_item = to_mdtraj_Trajectory(item, check=False)
    output = aux_get(tmp_item,
                     indices=indices,
                     structure_indices=structure_indices,
                     check=False)

    return output
Beispiel #28
0
def get_coordinates_from_atom(item,
                              indices='all',
                              structure_indices='all',
                              check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    from molsysmt._private.math import serie_to_chunks

    if structure_indices is 'all':

        n_structures = get_n_structures_from_system(item)
        structure_indices = _np.arange(n_structures)

    starts_serie_frames, size_serie_frames = serie_to_chunks(structure_indices)

    xyz_list = []

    for start, size in zip(starts_serie_frames, size_serie_frames):
        item.seek(start)
        if indices is 'all':
            xyz, _, _, _ = item.read(n_structures=size)
        else:
            xyz, _, _, _ = item.read(n_structures=size, atom_indices=indices)
        xyz_list.append(xyz)

    xyz = _np.concatenate(xyz_list)
    del (xyz_list)

    xyz = xyz.astype('float64')

    xyz = xyz * _puw.unit(item.distance_unit)
    xyz = _puw.standardize(xyz)

    return xyz
Beispiel #29
0
def get_coordinates_from_atom(item, indices='all', structure_indices='all', check=True):

    if check:

        _digest_item(item, _form)
        indices = _digest_indices(indices)
        structure_indices = _digest_structure_indices(structure_indices)

    unit = _puw.get_unit(item.positions)
    coordinates = _np.array(_puw.get_value(item.getPositions(asNumpy=True)))
    coordinates = coordinates.reshape(1, coordinates.shape[0], coordinates.shape[1])

    if structure_indices is not 'all':
        coordinates = coordinates[structure_indices,:,:]

    if indices is not 'all':
        coordinates = coordinates[:,indices,:]

    coordinates = coordinates * unit
    coordinates = _puw.standardize(coordinates)

    return coordinates
Beispiel #30
0
def set_box_to_system(item, structure_indices='all', value=None, check=True):

    if check:

        _digest_item(item, 'openmm.Topology')
        structure_indices = _digest_structure_indices(structure_indices)
        box = _digest_box(value)

    box = _puw.convert(value, to_unit='nanometers', to_form='openmm.unit')

    n_structures = box.shape[0]

    if n_structures == 1:

        item.setPeriodicBoxVectors(box[0])

    else:

        raise ValueError(
            "The box to set in to a openmm.Topology has more than a frame")

    pass