SMArt.md package¶
Subpackages¶
- SMArt.md.ana package
- SMArt.md.gro2gro package
- SMArt.md.gromacs package
- SMArt.md.gromos package
Submodules¶
SMArt.md.data_st module¶
-
class
SMArt.md.data_st.
BBAtom
(atom_id=None, **kwargs)[source]¶ Bases:
SMArt.md.data_st.GeneralAtom
,SMArt.md.gromos.io.incl.grBBAtomWriting
-
class
SMArt.md.data_st.
BBdb
(mtb_file=None, ifp_file=None, int_db=None)[source]¶ Bases:
SMArt.md.data_st.TopBBdb
,SMArt.md.data_st.FF
,SMArt.md.gromos.io.incl.MTBBlocksParser
,SMArt.md.gromos.io.incl.GromosWriter
Building Block database class
-
class
BuildingBlock
(bb_id=None, parse_from=None, ff=None, **kwargs)¶ Bases:
SMArt.md.gromos.io.incl.BBParsing
,SMArt.md.gromos.io.incl.BBWriting
,SMArt.md.data_st.GeneralTopology
Building block class
-
container2write
= 'bb'¶
-
parse_bb
(parse_from, parse_from_file=True, ff=None)¶
-
write_bb
(gs=None, get_str=False)¶
-
-
class
-
class
SMArt.md.data_st.
BuildingBlock
(bb_id=None, parse_from=None, ff=None, **kwargs)[source]¶ Bases:
SMArt.md.gromos.io.incl.BBParsing
,SMArt.md.gromos.io.incl.BBWriting
,SMArt.md.data_st.GeneralTopology
Building block class
-
container2write
= 'bb'¶
-
-
class
SMArt.md.data_st.
ChargeGroup
(*args, **kwargs)[source]¶ Bases:
object
net_ch - net charge atoms - list of atoms
-
container2write
= 'cg'¶
-
-
class
SMArt.md.data_st.
Configuration
(f_path=None, N_dim=3, **kwargs)[source]¶ Bases:
SMArt.md.gromos.io.incl.cnfBlocksParser
,SMArt.md.gromos.io.incl.cnfBlocksWriter
,SMArt.md.gromacs.io.incl.gmConfigurationIO
- Configuration class
main container: atoms _N_dim (usually 3) _coord - np.array to store coordinate _vel - np.array to store velocities
-
class
SMArt.md.data_st.
FF
(parse_from=None, parse_from_file=True, format_type='gr', int_db=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.AvailableInteractionTypes
,SMArt.incl.DataDumping
,SMArt.md.gromos.io.incl.IFPBlocksParser
,SMArt.md.gromos.io.incl.IFPBlocksWriter
,SMArt.md.gromacs.io.incl.gmFFParser
,SMArt.md.gromacs.io.incl.gmFFWriter
,SMArt.md.gro2gro.g2g.FFg2g
Force field class
-
add_a_type
(atom_type_id, atom_name, vdw=None, rules=None, replace=False, **kwargs)[source]¶ atom_id - 1,2,3… if False: defined as the next available number atom_name - CH3,OW… vdw - 4 LJ parameters + 2 LJpair parameters rules - [1,2,3] for every atom type
-
add_vdw
(at_id1, at_id2, vdw_normal=None, vdw_pair=None, replace=False, **kwargs)[source]¶ adds vdw parameters for a pair of atoms in self.vdw - key is a tuple from self.__at_pair
-
find_interaction_type
(atoms, int_type_klass, fnc_type=None, allowed_perturbations=None, atoms_reversed=True, use_vdw=True, flag_fnc_type=True, **kwargs)[source]¶ - Parameters
atoms – list of atom types!
int_type_klass – BondTypes for instance
fnc_type – e.g. ‘1’ - see int_type_klass.fnc
allowed_perturbations –
atoms_reversed –
kwargs – int_container allow_not_found allow_multiple_matches
- Returns
-
generate_vdw
(at_ids=False, replace=False, format_type=None, **kwargs)[source]¶ generates vdw interaction parameters and sets them in self.vdw :param at_ids: :param replace: :param format_type: :param kwargs:
flag_generate_vdw_c612_se = True
- Returns
-
property
get_DUM_type
¶
-
get_vdw
(at_id1, at_id2)[source]¶ gets vdw parameters (both normal and pair) for a pair of atom types
-
-
class
SMArt.md.data_st.
GeneralAtom
(atom_id=None, **kwargs)[source]¶ Bases:
SMArt.incl.GeneralContainer
-
container2write
= 'atoms'¶
-
get_interaction_containers
(EP_cont_exclude=False, **kwargs)¶
-
-
class
SMArt.md.data_st.
GeneralTopology
(adj_dict_edges=None, flag_edges=False, parents=None, **kwargs)[source]¶ Bases:
SMArt.incl.DataDumping
,SMArt.md.data_st.InteractionContainer
,SMArt.graph.incl.GraphDirected
general class for any type of topology, including BB, molecule or whole system contains atoms, interactions and other attributes
-
class
ChargeGroup
(*args, **kwargs)¶ Bases:
object
net_ch - net charge atoms - list of atoms
-
add_atom
(atom, **kwargs)¶ adds an atom and updates the net_ch
-
container2write
= 'cg'¶
-
update
()¶ updates the net_ch - if p_ch of an atom changes
-
-
property
EP_l
¶
-
class
Interaction
(int_type, atoms=None, states=None)¶ Bases:
SMArt.incl.__VersionCompatibility
base class for each interaction type (bonds, angles…) each interaction type should be a new class inheriting from this class and defining na where na stands for number of atoms - 2 for bonds, 3 for angles, etc. attrib
atoms - real atoms (e.g. from topology or building block na - number of atoms _sol - A, B - but could have more as well int_type - interaction type (e.g. BondType)
-
add_atom
(*atoms)¶
-
add_state
(state=None, **kwargs)¶
-
check_atoms_int_match
(atoms, **kwargs)¶
-
-
create_adj_list
(containers=('bonds', ), adj_type=<class 'dict'>, **kwargs)[source]¶ - Parameters
containers – (‘bonds’,)
kwargs – adj_type dict, defaultdict (not so good for interactive use), OrderedDict… adj_format_new_vertex set; list… set_adj_format_type set; tuple…
- Returns
-
get_state
(states, top_state=None, other_state=None, find_other_state=False, **kwargs)[source]¶ - Parameters
states – list of n-states (e.g. at.m_states or interaction.states)
top_state – state to get (by default 0)
other_state – the other state for ptp
find_other_state – find the other state for ptp or EDS (‘any’, 1, -1) ‘any’ - any non-None; 1 - first non-None from top_state; -1 first non-None from top_state with the step -1
kwargs –
- Returns
-
class
-
class
SMArt.md.data_st.
InteractionContainer
[source]¶ Bases:
SMArt.incl.GeneralContainer
-
class
SMArt.md.data_st.
MD_Parameters
(template_md_in)[source]¶ Bases:
SMArt.md.gromos.io.incl.GromosParser
,SMArt.md.gromos.io.incl.GromosWriter
-
class
SMArt.md.data_st.
MolSystem
[source]¶ Bases:
SMArt.md.data_st.Topology
,SMArt.md.data_st.Configuration
-
class
SMArt.md.data_st.
MolTop
(adj_dict_edges=None, flag_edges=False, parents=None, **kwargs)[source]¶ Bases:
SMArt.md.data_st.GeneralTopology
-
class
Residue
(res_id=None, res_name='res', **kwargs)¶ Bases:
SMArt.incl.GeneralContainer
-
add_atom
(atom, **kwargs)¶
-
container2write
= 'residues'¶
-
find_atom
(atom_name)¶
-
-
class
-
class
SMArt.md.data_st.
Molecule
(mol_type=None, num_mols=None, **kwargs)[source]¶ Bases:
object
-
container2write
= 'molecules'¶
-
-
class
SMArt.md.data_st.
MoleculeType
(molecule_id=None, nrexcl=0, ff=None, **kwargs)[source]¶ Bases:
SMArt.md.data_st.MolTop
,SMArt.md.gromacs.io.incl.gmFragmentMoleculeIO
,SMArt.md.gro2gro.g2g.MolType_g2g
-
container2write
= 'molecule_types'¶
-
id_pref
= 'mol_'¶
-
-
class
SMArt.md.data_st.
Residue
(res_id=None, res_name='res', **kwargs)[source]¶ Bases:
SMArt.incl.GeneralContainer
-
container2write
= 'residues'¶
-
-
class
SMArt.md.data_st.
TopAtom
(atom_id=None, **kwargs)[source]¶ Bases:
SMArt.md.data_st.GeneralAtom
,SMArt.md.gromos.io.incl.grTOPAtomWriting
-
class
SMArt.md.data_st.
TopBBdb
[source]¶ Bases:
SMArt.incl.Defaults
setting default for _int_db for TOP and BBdb (MTB/RTP) classes
-
class
SMArt.md.data_st.
Topology
(parse_from=None, parse_from_file=True, format_type='gr', **kwargs)[source]¶ Bases:
SMArt.md.gro2gro.g2g.Top_g2g
,SMArt.md.data_st.TopBBdb
,SMArt.md.data_st.MolTop
,SMArt.md.data_st.FF
,SMArt.md.gromos.io.incl.topBlocksParser
,SMArt.md.gromos.io.incl.topBlocksWriter
,SMArt.md.gromos.io.incl.PTP_EDS_BlocksParser
,SMArt.md.gromacs.io.incl.gmTopologyIO
Topology class - all atoms of the system + interactions + FF contains also Molecule class, which is very similar
-
class
Molecule
(mol_type=None, num_mols=None, **kwargs)¶ Bases:
object
-
container2write
= 'molecules'¶
-
-
class
MoleculeType
(molecule_id=None, nrexcl=0, ff=None, **kwargs)¶ Bases:
SMArt.md.data_st.MolTop
,SMArt.md.gromacs.io.incl.gmFragmentMoleculeIO
,SMArt.md.gro2gro.g2g.MolType_g2g
-
container2write
= 'molecule_types'¶
-
id_pref
= 'mol_'¶
-
-
get_molecules
(at=None, flag_sort=False, flag_mol_atom_sort=False, **kwargs)[source]¶ - Parameters
at – search in a subset of atoms
flag_sort – sort atoms
flag_mol_atom_sort – sort molecules
kwargs – flag_disres - use distance restraints in addition to bonds
- Returns
-
parse_eds
(parse_from, parse_from_file=True, **kwargs)[source]¶ parse eds states :param parse_from: :param parse_from_file: :param kwargs: :return:
-
parse_top
(parse_from, parse_from_file=True, format_type='gr', **kwargs)[source]¶ - Parameters
parse_from –
parse_from_file –
format_type –
kwargs –
- Returns
-
class
-
class
SMArt.md.data_st.
Trajectory
(f_path=None, N_atoms=None, int_num_dtype=<class 'numpy.int32'>, real_num_dtype=<class 'numpy.float32'>, **kwargs)[source]¶ Bases:
SMArt.md.gromos.io.incl.TrjCnfBlocksParser
,SMArt.md.gromos.io.incl.TrjCnfBlocksWriter
SMArt.md.incl module¶
-
class
SMArt.md.incl.
AngleType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'angles'¶
-
fnc
= {'1': 'ff11', '2': 'ff11', '3': 'fff000', '4': 'ffff0000', '5': 'ffff1111', '6': 'fffff00000', '8': 'if01', 'gr_fnc': 'fff111'}¶
-
generate_params_khq
(khq)¶
-
get_khq
()¶
-
na
= 3¶
-
-
class
SMArt.md.incl.
Angle_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'angres'¶
-
fnc
= {'1': 'ffi110'}¶
-
na
= 4¶
-
-
class
SMArt.md.incl.
Angle_r_z
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'angresz'¶
-
fnc
= {'1': 'ffi110'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
AtomType
(atom_id, atom_name, c612=None, rules=None, vdw=None, bond_atom_id=None, format_type=None, **kwargs)[source]¶ Bases:
SMArt.incl.__VersionCompatibility
-
container2write
= 'a_type'¶
-
-
class
SMArt.md.incl.
AvailableInteractionTypes
[source]¶ Bases:
object
-
class
AngleType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'angles'¶
-
convert_harm_quad
(check_cutoff=0.001, **kwargs)¶
-
fnc
= {'1': 'ff11', '2': 'ff11', '3': 'fff000', '4': 'ffff0000', '5': 'ffff1111', '6': 'fffff00000', '8': 'if01', 'gr_fnc': 'fff111'}¶
-
generate_params_khq
(khq)¶
-
get_khq
()¶
-
gm2gr
(**kwargs)¶
-
gr2gm
(**kwargs)¶
-
na
= 3¶
-
-
class
Angle_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'angres'¶
-
fnc
= {'1': 'ffi110'}¶
-
na
= 4¶
-
-
class
Angle_r_z
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'angresz'¶
-
fnc
= {'1': 'ffi110'}¶
-
na
= 2¶
-
-
class
AtomType
(atom_id, atom_name, c612=None, rules=None, vdw=None, bond_atom_id=None, format_type=None, **kwargs)¶ Bases:
SMArt.incl.__VersionCompatibility
-
add_genborn
(params)¶
-
container2write
= 'a_type'¶
-
convert_c612_2_se
()¶
-
convert_se_2_c612
()¶
-
-
class
BondType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'bonds'¶
-
convert_harm_quad
(**kwargs)¶
-
fnc
= {'1': 'ff11', '10': 'ffff1111', '2': 'ff11', '3': 'fff111', '4': 'fff000', '5': '', '6': 'ff11', '7': 'ff00', '8': 'if01', '9': 'if01', 'gr_fnc': 'fff111'}¶
-
generate_params_khq
(khq)¶
-
get_khq
()¶
-
gm2gr
(**kwargs)¶
-
gr2gm
(**kwargs)¶
-
na
= 2¶
-
-
class
ConstraintType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'constraints'¶
-
fnc
= {'1': 'f1', '2': 'f1', 'gr_fnc': 'f1'}¶
-
na
= 2¶
-
-
class
DihedralType
(*args, **kwargs)¶ Bases:
SMArt.md.incl.Dihedral_Check_atoms_int
-
container2write
= 'dihedrals'¶
-
fnc
= {'1': 'ffi110', '10': 'fffff00000', '11': 'ff00', '2': 'ff11', '3': 'ffffff111111', '4': 'ffi110', '5': 'ffff1111', '8': 'if01', '9': 'ffi110', 'gr_fnc': 'ffi111'}¶
-
na
= 4¶
-
-
class
Dihedral_Check_atoms_int
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶
-
class
Dihedral_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.Dihedral_Check_atoms_int
-
container2write
= 'dihres'¶
-
fnc
= {'1': 'ff11'}¶
-
na
= 4¶
-
-
class
Distance_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
distance restraints extra gromos attributes: gr_extra_atoms, gr_atom_types; gr_distres_dis_const (in top)
-
container2write
= 'disres'¶
-
fnc
= {'1': 'iiiffff0000000', 'gr_fnc': 'ffi000'}¶
-
gr2gm
(**kwargs)¶ - Parameters
kwargs – index - gromacs dist res index - specifies to which group of dist res this one belongs to fac - factor with which the force constant will be multiplied (fc_gm = gr_weight / fac) r2 - parameter after which the potential energy becomes linear
- Returns
-
na
= 2¶
-
-
class
ExclusionPairType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
exclusion type - but also carries info on 1-4 pair # 0 normal wdv # 1 excluded # 2 pair
# in GROMOS ptp (PERTATOMPAIR block) these would be the codes: # 0 excluded # 1 normal vdw # 2 pair
-
container2write
= 'excl_pair'¶
-
fnc
= {None: 'i1', 'gr_fnc': 'i1'}¶
-
na
= 2¶
-
-
class
ExclusionType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
exclusion type - but also carries info on 1-4 pair # 0 normal wdv # 1 excluded # 2 pair
-
container2write
= 'exclusions'¶
-
fnc
= {None: 'i1', 'gr_fnc': 'i1'}¶
-
na
= 2¶
-
-
class
ImproperType
(*args, **kwargs)¶ Bases:
SMArt.md.incl.DihedralType
,SMArt.incl.Defaults
-
container2write
= 'impropers'¶
-
fnc
= {'1': 'ffi110', '10': 'fffff00000', '11': 'ff00', '2': 'ff11', '3': 'ffffff111111', '4': 'ffi110', '5': 'ffff1111', '8': 'if01', '9': 'ffi110', 'gr_fnc': 'ff11'}¶
-
gm2gr_param_trans_fnc
= (None, None, None, None, <function <lambda>>)¶
-
gr2gm_param_trans_fnc
= (None, None, None, None, <function <lambda>>)¶
-
-
class
MassType
(mass_id, mass, atom_name)¶ Bases:
SMArt.incl.__VersionCompatibility
-
container2write
= 'm_type'¶
-
-
class
Orientation_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'orires'¶
-
fnc
= {'1': 'ffffff000000'}¶
-
na
= 2¶
-
-
class
PairNBType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
fnc
= {'1': 'ffff0000'}¶
-
na
= 2¶
-
-
class
PairType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl._vdWTypeBase
-
container2write
= 'vdw_pairs'¶
-
fnc
= {'1': 'ff11', '2': 'ffff0000', 'gr_fnc': 'ff11'}¶
-
na
= 2¶
-
-
class
Position_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'posres'¶
-
fnc
= {'1': 'fff111', '2': 'ff00'}¶
-
na
= 1¶
-
-
class
SettleType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'settles'¶
-
fnc
= {'1': 'ff00'}¶
-
na
= 1¶
-
-
class
VirtualSite2Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS2'¶
-
fnc
= {'1': 'f0'}¶
-
na
= 3¶
-
-
class
VirtualSite3Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS3'¶
-
fnc
= {'1': 'ff00', '2': 'ff00', '3': 'ff00', '4': 'fff000'}¶
-
na
= 4¶
-
-
class
VirtualSite4Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS4'¶
-
fnc
= {'2': 'ff00'}¶
-
na
= 5¶
-
-
class
VirtualSitenType
(fnc_type, int_code=None)¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VSn'¶
-
na
= 1¶
-
-
class
cmap
(int_code=None, params=None, fnc_type='1', atoms=None, grid_ind=False)¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.md.gromacs.io.incl_md_only.gmCMAPWriter
-
container2write
= 'cmap'¶
-
na
= 5¶
-
-
class
-
class
SMArt.md.incl.
BondType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'bonds'¶
-
fnc
= {'1': 'ff11', '10': 'ffff1111', '2': 'ff11', '3': 'fff111', '4': 'fff000', '5': '', '6': 'ff11', '7': 'ff00', '8': 'if01', '9': 'if01', 'gr_fnc': 'fff111'}¶
-
generate_params_khq
(khq)¶
-
get_khq
()¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
ConstraintType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
container2write
= 'constraints'¶
-
fnc
= {'1': 'f1', '2': 'f1', 'gr_fnc': 'f1'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
DescriptionPart
(lines=None, file_type=None, form=None, **kwargs)[source]¶ Bases:
object
in gromos for title and in gromacs for system/first line of gro file
-
container2write
= 'sys_title'¶
-
-
class
SMArt.md.incl.
DihedralType
(*args, **kwargs)[source]¶ Bases:
SMArt.md.incl.Dihedral_Check_atoms_int
-
container2write
= 'dihedrals'¶
-
fnc
= {'1': 'ffi110', '10': 'fffff00000', '11': 'ff00', '2': 'ff11', '3': 'ffffff111111', '4': 'ffi110', '5': 'ffff1111', '8': 'if01', '9': 'ffi110', 'gr_fnc': 'ffi111'}¶
-
na
= 4¶
-
-
class
SMArt.md.incl.
Dihedral_Check_atoms_int
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶
-
class
SMArt.md.incl.
Dihedral_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.Dihedral_Check_atoms_int
-
container2write
= 'dihres'¶
-
fnc
= {'1': 'ff11'}¶
-
na
= 4¶
-
-
class
SMArt.md.incl.
Distance_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
distance restraints extra gromos attributes: gr_extra_atoms, gr_atom_types; gr_distres_dis_const (in top)
-
container2write
= 'disres'¶
-
fnc
= {'1': 'iiiffff0000000', 'gr_fnc': 'ffi000'}¶
-
gr2gm
(**kwargs)[source]¶ - Parameters
kwargs – index - gromacs dist res index - specifies to which group of dist res this one belongs to fac - factor with which the force constant will be multiplied (fc_gm = gr_weight / fac) r2 - parameter after which the potential energy becomes linear
- Returns
-
na
= 2¶
-
-
class
SMArt.md.incl.
Dummy
[source]¶ Bases:
object
-
a_type
= None¶
-
coord
= array([nan, nan, nan])¶
-
m
= None¶
-
p_ch
= None¶
-
-
class
SMArt.md.incl.
ExclusionPairType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
exclusion type - but also carries info on 1-4 pair # 0 normal wdv # 1 excluded # 2 pair
# in GROMOS ptp (PERTATOMPAIR block) these would be the codes: # 0 excluded # 1 normal vdw # 2 pair
-
container2write
= 'excl_pair'¶
-
fnc
= {None: 'i1', 'gr_fnc': 'i1'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
ExclusionType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
exclusion type - but also carries info on 1-4 pair # 0 normal wdv # 1 excluded # 2 pair
-
container2write
= 'exclusions'¶
-
fnc
= {None: 'i1', 'gr_fnc': 'i1'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
ImproperType
(*args, **kwargs)[source]¶ Bases:
SMArt.md.incl.DihedralType
,SMArt.incl.Defaults
-
container2write
= 'impropers'¶
-
fnc
= {'1': 'ffi110', '10': 'fffff00000', '11': 'ff00', '2': 'ff11', '3': 'ffffff111111', '4': 'ffi110', '5': 'ffff1111', '8': 'if01', '9': 'ffi110', 'gr_fnc': 'ff11'}¶
-
gm2gr_param_trans_fnc
= (None, None, None, None, <function <lambda>>)¶
-
gr2gm_param_trans_fnc
= (None, None, None, None, <function <lambda>>)¶
-
-
class
SMArt.md.incl.
Interaction
(int_type, atoms=None, states=None)[source]¶ Bases:
SMArt.incl.__VersionCompatibility
base class for each interaction type (bonds, angles…) each interaction type should be a new class inheriting from this class and defining na where na stands for number of atoms - 2 for bonds, 3 for angles, etc. attrib
atoms - real atoms (e.g. from topology or building block na - number of atoms _sol - A, B - but could have more as well int_type - interaction type (e.g. BondType)
-
add_atom
(*atoms)¶
-
-
class
SMArt.md.incl.
InteractionType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.gromacs.io.incl_md_only.gmInteractionTypeWriter
,SMArt.md.gro2gro.g2g.IntType_g2g
base class for each interaction type (bonds, angles…) each interaction type should be a new class inheriting from this class and defining na, p_type and flag p_type is variable type for each of the parameters, for dihedrals (float, float, int) flag is gromacs-related flag representing if a parameter is allowed in ptp change - (for dihedrals (1,1,0))
-
add_atom
(*atoms)¶
-
-
class
SMArt.md.incl.
MassType
(mass_id, mass, atom_name)[source]¶ Bases:
SMArt.incl.__VersionCompatibility
-
container2write
= 'm_type'¶
-
-
class
SMArt.md.incl.
Orientation_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'orires'¶
-
fnc
= {'1': 'ffffff000000'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
PairNBType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.incl.Defaults
-
fnc
= {'1': 'ffff0000'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
PairType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl._vdWTypeBase
-
container2write
= 'vdw_pairs'¶
-
fnc
= {'1': 'ff11', '2': 'ffff0000', 'gr_fnc': 'ff11'}¶
-
na
= 2¶
-
-
class
SMArt.md.incl.
Position_r
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'posres'¶
-
fnc
= {'1': 'fff111', '2': 'ff00'}¶
-
na
= 1¶
-
-
class
SMArt.md.incl.
SettleType
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'settles'¶
-
fnc
= {'1': 'ff00'}¶
-
na
= 1¶
-
-
class
SMArt.md.incl.
VirtualSite2Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS2'¶
-
fnc
= {'1': 'f0'}¶
-
na
= 3¶
-
-
class
SMArt.md.incl.
VirtualSite3Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS3'¶
-
fnc
= {'1': 'ff00', '2': 'ff00', '3': 'ff00', '4': 'fff000'}¶
-
na
= 4¶
-
-
class
SMArt.md.incl.
VirtualSite4Type
(int_code=None, params=None, fnc_type='gr_fnc', atoms=None, **kwargs)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VS4'¶
-
fnc
= {'2': 'ff00'}¶
-
na
= 5¶
-
-
class
SMArt.md.incl.
VirtualSitenType
(fnc_type, int_code=None)[source]¶ Bases:
SMArt.md.incl.InteractionType
-
container2write
= 'VSn'¶
-
na
= 1¶
-
-
SMArt.md.incl.
check_if_eq
(param1, param2, cutoff=1e-05, check_type=True, flag_np=False, **kwargs)[source]¶
-
class
SMArt.md.incl.
cmap
(int_code=None, params=None, fnc_type='1', atoms=None, grid_ind=False)[source]¶ Bases:
SMArt.md.incl.InteractionType
,SMArt.md.gromacs.io.incl_md_only.gmCMAPWriter
-
container2write
= 'cmap'¶
-
na
= 5¶
-
SMArt.md.pipeline module¶
SMArt.md.wrappers module¶
-
SMArt.md.wrappers.
run_gm_prog
(prog, pre_comm='gmx ', pipe=None, None, **flags)[source]¶ run GROMACS program
- Parameters
prog – program to run (e.g. grompp)
pipe – pipe the output to a file
flags – flags to be passed to the program (e.g. dict(f=path_to_mdp_file))
- Returns
command
-
SMArt.md.wrappers.
run_gr_prog
(prog, pre_comm='', pipe=None, None, **flags)[source]¶ run GROMOS program
- Parameters
prog – program to run (e.g. make_top)
pipe – pipe the output to a file
flags – flags to be passed to the program (e.g. dict(topo=path_to_topo_file))
- Returns
command
-
SMArt.md.wrappers.
run_prog
(prog, pipe=None, None, format_type='gr', **flags)[source]¶ run GROMOS/GROMACS program
- Parameters
prog – program to run (e.g. make_top / grompp)
pipe – pipe the output to a file
flags – flags to be passed to the program (e.g. dict(f=path_to_mdp_file) or dict(topo=path_to_topo_file))
- Returns
command
Module contents¶
-
SMArt.md.
parse_cnf
(f_path, **kwargs)[source]¶ - Parameters
parse_from – this can also be gromos stream
parse_from_file –
kwargs –
- Returns
configuration
-
SMArt.md.
parse_ff
(parse_from, parse_from_file=True, format_type='gr', **kwargs)[source]¶ - Parameters
parse_from – this can also be gromos or gromacs stream
parse_from_file –
format_type – gr or gm for gromos and gromacs
kwargs –
- Returns
force field object
-
SMArt.md.
parse_mtb
(parse_from, parse_from_file=True, **kwargs)[source]¶ - Parameters
parse_from – this can also be gromos or gromacs stream
parse_from_file –
kwargs –
- Returns
mtb