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.GromosWriterBuilding 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.GeneralTopologyBuilding 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.GeneralTopologyBuilding block class
-
container2write= 'bb'¶
-
-
class
SMArt.md.data_st.ChargeGroup(*args, **kwargs)[source]¶ Bases:
objectnet_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.FFg2gForce 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.GraphDirectedgeneral class for any type of topology, including BB, molecule or whole system contains atoms, interactions and other attributes
-
class
ChargeGroup(*args, **kwargs)¶ Bases:
objectnet_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.__VersionCompatibilitybase 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.Defaultssetting 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.gmTopologyIOTopology 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.InteractionTypedistance 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.Defaultsexclusion 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.Defaultsexclusion 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:
objectin 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.InteractionTypedistance 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.Defaultsexclusion 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.Defaultsexclusion 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.__VersionCompatibilitybase 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_g2gbase 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