diff --git a/modules/mol/mm/pymod/export_block_modifiers.cc b/modules/mol/mm/pymod/export_block_modifiers.cc index f72a91b92ad4b3cbaa5eb71dbb5a77b17dbf5d5c..a8bca930a680a28aca4eee8f358a08a8a217e610 100644 --- a/modules/mol/mm/pymod/export_block_modifiers.cc +++ b/modules/mol/mm/pymod/export_block_modifiers.cc @@ -69,27 +69,27 @@ void export_BlockModifiers() boost::python::register_ptr_to_python<ost::mol::mm::BlockModifierPtr>(); class_<ost::mol::mm::GromacsHydrogenConstructor, bases<ost::mol::mm::HydrogenConstructor> >("GromacsHydrogenConstructor", init<>()) - .def("ApplyOnBuildingBlock",&ost::mol::mm::GromacsHydrogenConstructor::ApplyOnBuildingBlock) - .def("ApplyOnResidue",&ost::mol::mm::GromacsHydrogenConstructor::ApplyOnResidue) - .def("AddHydrogenRule",&WrapAddHydrogenRule) + .def("ApplyOnBuildingBlock",&ost::mol::mm::GromacsHydrogenConstructor::ApplyOnBuildingBlock,(arg("block"))) + .def("ApplyOnResidue",&ost::mol::mm::GromacsHydrogenConstructor::ApplyOnResidue,(arg("residue"),arg("editor"))) + .def("AddHydrogenRule",&WrapAddHydrogenRule,(arg("number"),arg("method"),arg("hydrogen_names"),arg("anchors"))) ; class_<ost::mol::mm::GromacsBlockModifier, bases<ost::mol::mm::BlockModifier> >("GromacsBlockModifier", init<>()) .def("ApplyOnBuildingBlock",&ost::mol::mm::GromacsBlockModifier::ApplyOnBuildingBlock,(arg("block"))) - .def("ApplyOnResidue",&ost::mol::mm::GromacsBlockModifier::ApplyOnResidue,(arg("residue"))) + .def("ApplyOnResidue",&ost::mol::mm::GromacsBlockModifier::ApplyOnResidue,(arg("residue"),arg("residue"))) .def("AddReplaceRule",&ost::mol::mm::GromacsBlockModifier::AddReplaceRule,(arg("name"),arg("new_name"),arg("new_type"),arg("new_charge"))) .def("AddAddRule",&ost::mol::mm::GromacsBlockModifier::AddAddRule,(arg("number"),arg("method"),arg("atom_names"),arg("anchors"),arg("type"),arg("charge"))) .def("AddBond",&ost::mol::mm::GromacsBlockModifier::AddBond,(arg("bond"))) .def("AddAngle",&ost::mol::mm::GromacsBlockModifier::AddAngle,(arg("angle"))) .def("AddDihedral",&ost::mol::mm::GromacsBlockModifier::AddDihedral,(arg("dihedral"))) .def("AddImproper",&ost::mol::mm::GromacsBlockModifier::AddImproper,(arg("improper"))) - .def("AddCMap",&ost::mol::mm::GromacsBlockModifier::AddDeleteAtom,(arg("cmap"))) + .def("AddCMap",&ost::mol::mm::GromacsBlockModifier::AddCMap,(arg("cmap"))) .def("AddDeleteAtom",&ost::mol::mm::GromacsBlockModifier::AddDeleteAtom,(arg("name"))) ; class_<ost::mol::mm::HeuristicHydrogenConstructor, bases<ost::mol::mm::HydrogenConstructor> >("HeuristicHydrogenConstructor", init<ost::mol::mm::BuildingBlockPtr>()) .def("ApplyOnBuildingBlock",&ost::mol::mm::HeuristicHydrogenConstructor::ApplyOnBuildingBlock,(arg("block"))) - .def("ApplyOnResidue",&ost::mol::mm::HeuristicHydrogenConstructor::ApplyOnResidue,(arg("residue"))) + .def("ApplyOnResidue",&ost::mol::mm::HeuristicHydrogenConstructor::ApplyOnResidue,(arg("residue"),arg("editor"))) ; boost::python::register_ptr_to_python<ost::mol::mm::GromacsHydrogenConstructorPtr>(); diff --git a/modules/mol/mm/pymod/export_buildingblock.cc b/modules/mol/mm/pymod/export_buildingblock.cc index aa85249aec4a4b2dcdf0be1b2205f810e5e539d7..514b7919b86cc9462921ba8f5cc5073251660786 100644 --- a/modules/mol/mm/pymod/export_buildingblock.cc +++ b/modules/mol/mm/pymod/export_buildingblock.cc @@ -96,10 +96,10 @@ void export_Buildingblock() .def("AddDihedral",&ost::mol::mm::BuildingBlock::AddDihedral,(arg("dihedral"),arg("replace_existing")=false)) .def("AddImproper",&ost::mol::mm::BuildingBlock::AddImproper,(arg("improper"),arg("replace_existing")=false)) .def("AddExclusion",&ost::mol::mm::BuildingBlock::AddExclusion,(arg("exclusion"),arg("replace_existing")=false)) - .def("AddCMap",&ost::mol::mm::BuildingBlock::AddBond,(arg("cmap"),arg("replace_existing")=false)) + .def("AddCMap",&ost::mol::mm::BuildingBlock::AddCMap,(arg("cmap"),arg("replace_existing")=false)) .def("AddConstraint",&ost::mol::mm::BuildingBlock::AddConstraint,(arg("constraint"),arg("replace_existing")=false)) .def("RemoveAtom",&ost::mol::mm::BuildingBlock::RemoveAtom,(arg("name"))) - .def("ReplaceAtom",&ost::mol::mm::BuildingBlock::ReplaceAtom,(arg("name"),arg("new_name"),arg("new_type"),arg("new_charge"),arg("new_charge"),arg("new_mass")=std::numeric_limits<Real>::quiet_NaN())) + .def("ReplaceAtom",&ost::mol::mm::BuildingBlock::ReplaceAtom,(arg("name"),arg("new_name"),arg("new_type"),arg("new_charge"),arg("new_mass")=std::numeric_limits<Real>::quiet_NaN())) .def("RemoveInteractionsToNext",&ost::mol::mm::BuildingBlock::RemoveInteractionsToNext) .def("RemoveInteractionsToPrev",&ost::mol::mm::BuildingBlock::RemoveInteractionsToPrev) ; diff --git a/modules/mol/mm/pymod/export_forcefield.cc b/modules/mol/mm/pymod/export_forcefield.cc index 7811fe3af9bba8f318a2c4e7fbfa0ee20ae5c28c..096b6eef433b075dd3e47ab0d08791103f44a879 100644 --- a/modules/mol/mm/pymod/export_forcefield.cc +++ b/modules/mol/mm/pymod/export_forcefield.cc @@ -44,8 +44,9 @@ void export_Forcefield() .def("Load",&ost::mol::mm::Forcefield::Load,(arg("filename"))).staticmethod("Load") .def("Save",&ost::mol::mm::Forcefield::Save,(arg("filename"))) .def("GetBuildingBlock",&ost::mol::mm::Forcefield::GetBuildingBlock,(arg("name"))) + .def("GetBlockModifier",&ost::mol::mm::Forcefield::GetBlockModifier,(arg("name"))) .def("GetAtomType",&ost::mol::mm::Forcefield::GetAtomType,(arg("res_name"),arg("atom_name"))) - .def("GetHydrogenConstructor",&ost::mol::mm::Forcefield::GetHydrogenConstructor,arg("name")) + .def("GetHydrogenConstructor",&ost::mol::mm::Forcefield::GetHydrogenConstructor,(arg("name"))) .def("GetNTerModifier",&ost::mol::mm::Forcefield::GetNTerModifier,(arg("residue_name"),arg("ter_name")="")) .def("GetCTerModifier",&ost::mol::mm::Forcefield::GetCTerModifier,(arg("residue_name"),arg("ter_name")="")) .def("GetBond",&ost::mol::mm::Forcefield::GetBond,(arg("atom_type_1"),arg("atom_type_2"))) @@ -84,7 +85,7 @@ void export_Forcefield() .def("GetResidueRenamingCTer",&ost::mol::mm::Forcefield::GetResidueRenamingCTer,(arg("res_name"))) .def("GetResidueRenamingTwoTer",&ost::mol::mm::Forcefield::GetResidueRenamingTwoTer,(arg("res_name"))) .def("GetAtomRenaming",&ost::mol::mm::Forcefield::GetAtomRenaming,(arg("res_name"),arg("atom_name"))) - .def("AssignFFSpecificNames",&ost::mol::mm::Forcefield::AssignFFSpecificNames,(arg("ent"),arg("reverse")=true)) + .def("AssignFFSpecificNames",&ost::mol::mm::Forcefield::AssignFFSpecificNames,(arg("ent"),arg("reverse")=false)) ; boost::python::register_ptr_to_python<ost::mol::mm::ForcefieldPtr>(); diff --git a/modules/mol/mm/pymod/export_simulation.cc b/modules/mol/mm/pymod/export_simulation.cc index 7d30173602d9a20a6aa6acc57a9a7c5491bff98e..a5d3cae349e83f51c84bc2f95c3b3b052b0b03d4 100644 --- a/modules/mol/mm/pymod/export_simulation.cc +++ b/modules/mol/mm/pymod/export_simulation.cc @@ -51,9 +51,9 @@ void export_Simulation() class_<ost::mol::mm::Simulation>("Simulation",no_init) .def(init<const ost::mol::EntityHandle, const ost::mol::mm::SettingsPtr>()) .def(init<const ost::mol::mm::TopologyPtr,const ost::mol::EntityHandle&,const ost::mol::mm::SettingsPtr>()) - .def("Save",&ost::mol::mm::Simulation::Save) - .def("Load",&ost::mol::mm::Simulation::Load).staticmethod("Load") - .def("Steps",&ost::mol::mm::Simulation::Steps) + .def("Save",&ost::mol::mm::Simulation::Save,(arg("filename"))) + .def("Load",&ost::mol::mm::Simulation::Load,(arg("filename"))).staticmethod("Load") + .def("Steps",&ost::mol::mm::Simulation::Steps,(arg("steps"))) .def("GetPositions",&ost::mol::mm::Simulation::GetPositions,(arg("enforce_periodic_box")=false, arg("in_angstrom")=true)) .def("GetVelocities",&ost::mol::mm::Simulation::GetVelocities) .def("GetForces",&ost::mol::mm::Simulation::GetForces) @@ -68,22 +68,22 @@ void export_Simulation() .def("Register",&ost::mol::mm::Simulation::Register) .def("UpdatePositions",&ost::mol::mm::Simulation::UpdatePositions, (arg("enforce_periodic_box")=false)) .def("GetTopology",&ost::mol::mm::Simulation::GetTopology) - .def("ResetHarmonicBond",&ost::mol::mm::Simulation::ResetHarmonicBond) - .def("ResetHarmonicAngle",&ost::mol::mm::Simulation::ResetHarmonicAngle) - .def("ResetUreyBradleyAngle",&ost::mol::mm::Simulation::ResetUreyBradleyAngle) - .def("ResetPeriodicDihedral",&ost::mol::mm::Simulation::ResetPeriodicDihedral) - .def("ResetPeriodicImproper",&ost::mol::mm::Simulation::ResetPeriodicImproper) - .def("ResetHarmonicImproper",&ost::mol::mm::Simulation::ResetHarmonicImproper) - .def("ResetLJPair",&ost::mol::mm::Simulation::ResetLJPair) - .def("ResetDistanceConstraint",&ost::mol::mm::Simulation::ResetDistanceConstraint) - .def("ResetHarmonicPositionRestraint",&ost::mol::mm::Simulation::ResetHarmonicPositionRestraint,(arg("index"),arg("ref_position"),arg("k"),arg("x_scale")=1.0,arg("y_scale")=1.0,arg("z_scale")=1.0)) - .def("ResetHarmonicDistanceRestraint",&ost::mol::mm::Simulation::ResetHarmonicDistanceRestraint) - .def("ResetLJ",&ost::mol::mm::Simulation::ResetLJ) - .def("ResetGBSA",&ost::mol::mm::Simulation::ResetGBSA) - .def("ResetCharge",&ost::mol::mm::Simulation::ResetCharge) - .def("ResetMass",&ost::mol::mm::Simulation::ResetMass) - .def("AddPositionConstraint",&ost::mol::mm::Simulation::AddPositionConstraint) - .def("AddPositionConstraints",&WrapAddPositionConstraints) + .def("ResetHarmonicBond",&ost::mol::mm::Simulation::ResetHarmonicBond,(arg("bond_idx"),arg("bond_length"),arg("force_constant"))) + .def("ResetHarmonicAngle",&ost::mol::mm::Simulation::ResetHarmonicAngle,(arg("angle_idx"),arg("angle"),arg("force_constant"))) + .def("ResetUreyBradleyAngle",&ost::mol::mm::Simulation::ResetUreyBradleyAngle,(arg("angle_idx"),arg("angle"),arg("angle_force_constant"),arg("bond_length"),arg("bond_force_constant"))) + .def("ResetPeriodicDihedral",&ost::mol::mm::Simulation::ResetPeriodicDihedral,(arg("dihedral_idx"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("ResetPeriodicImproper",&ost::mol::mm::Simulation::ResetPeriodicImproper,(arg("improper_idx"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("ResetHarmonicImproper",&ost::mol::mm::Simulation::ResetHarmonicImproper,(arg("improper_idx"),arg("phase"),arg("force_constant"))) + .def("ResetLJPair",&ost::mol::mm::Simulation::ResetLJPair,(arg("ljpair_idx"),arg("sigma"),arg("epsilon"))) + .def("ResetDistanceConstraint",&ost::mol::mm::Simulation::ResetDistanceConstraint,(arg("constraint_idx"),arg("length"))) + .def("ResetHarmonicPositionRestraint",&ost::mol::mm::Simulation::ResetHarmonicPositionRestraint,(arg("restraint_idx"),arg("ref_position"),arg("k"),arg("x_scale")=1.0,arg("y_scale")=1.0,arg("z_scale")=1.0)) + .def("ResetHarmonicDistanceRestraint",&ost::mol::mm::Simulation::ResetHarmonicDistanceRestraint,(arg("restraint_idx"),arg("length"),arg("force_constant"))) + .def("ResetLJ",&ost::mol::mm::Simulation::ResetLJ,(arg("particle_idx"),arg("sigma"),arg("epsilon"))) + .def("ResetGBSA",&ost::mol::mm::Simulation::ResetGBSA,(arg("particle_idx"),arg("radius"),arg("scaling"))) + .def("ResetCharge",&ost::mol::mm::Simulation::ResetCharge,(arg("particle_idx"),arg("charge"))) + .def("ResetMass",&ost::mol::mm::Simulation::ResetMass,(arg("particle_idx"),arg("mass"))) + .def("AddPositionConstraint",&ost::mol::mm::Simulation::AddPositionConstraint,(arg("particle_idx"))) + .def("AddPositionConstraints",&WrapAddPositionConstraints,(arg("particle_idx"))) .def("ResetPositionConstraints",&ost::mol::mm::Simulation::ResetPositionConstraints) .def("GetPeriodicBoxExtents",&ost::mol::mm::Simulation::GetPeriodicBoxExtents) .def("SetPeriodicBoxExtents",&ost::mol::mm::Simulation::SetPeriodicBoxExtents,(arg("extents"))) diff --git a/modules/mol/mm/pymod/export_topology.cc b/modules/mol/mm/pymod/export_topology.cc index f72bd75024dce0e205d08d3e8169886d77edf31d..c104fbf8c7de6fbe8f85fd6b259193c7bb2f8a58 100644 --- a/modules/mol/mm/pymod/export_topology.cc +++ b/modules/mol/mm/pymod/export_topology.cc @@ -372,113 +372,113 @@ void export_Topology() class_<ost::mol::mm::Topology>("Topology",no_init) .def("__init__",make_constructor(&WrapTopologyConstructor)) - .def("Save",&ost::mol::mm::Topology::Save) - .def("Load",&ost::mol::mm::Topology::Load).staticmethod("Load") + .def("Save",&ost::mol::mm::Topology::Save,(arg("filename"))) + .def("Load",&ost::mol::mm::Topology::Load,(arg("filename"))).staticmethod("Load") //interaction adding functions - .def("AddHarmonicBond",&ost::mol::mm::Topology::AddHarmonicBond) - .def("AddHarmonicAngle",&ost::mol::mm::Topology::AddHarmonicAngle) - .def("AddUreyBradleyAngle",&ost::mol::mm::Topology::AddUreyBradleyAngle) - .def("AddPeriodicDihedral",&ost::mol::mm::Topology::AddPeriodicDihedral) - .def("AddPeriodicImproper",&ost::mol::mm::Topology::AddPeriodicImproper) - .def("AddHarmonicImproper",&ost::mol::mm::Topology::AddHarmonicImproper) - .def("AddCMap",&WrapAddCMap) - .def("AddLJPair",&ost::mol::mm::Topology::AddLJPair) - .def("AddDistanceConstraint",&ost::mol::mm::Topology::AddDistanceConstraint) - .def("AddExclusion",&ost::mol::mm::Topology::AddExclusion) - .def("AddPositionConstraint",&ost::mol::mm::Topology::AddPositionConstraint) + .def("AddHarmonicBond",&ost::mol::mm::Topology::AddHarmonicBond,(arg("idx_one"),arg("idx_two"),arg("bond_length"),arg("force_constant"))) + .def("AddHarmonicAngle",&ost::mol::mm::Topology::AddHarmonicAngle,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("angle"),arg("force_constant"))) + .def("AddUreyBradleyAngle",&ost::mol::mm::Topology::AddUreyBradleyAngle,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("angle"),arg("angle_force_constant"),arg("bond_length"),arg("bond_force_constant"))) + .def("AddPeriodicDihedral",&ost::mol::mm::Topology::AddPeriodicDihedral,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("AddPeriodicImproper",&ost::mol::mm::Topology::AddPeriodicImproper,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("AddHarmonicImproper",&ost::mol::mm::Topology::AddHarmonicImproper,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"),arg("angle"),arg("force_constant"))) + .def("AddCMap",&WrapAddCMap,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"),arg("idx_five"),arg("dimension"),arg("map"))) + .def("AddLJPair",&ost::mol::mm::Topology::AddLJPair,(arg("idx_one"),arg("idx_two"),arg("sigma"),arg("epsilon"))) + .def("AddDistanceConstraint",&ost::mol::mm::Topology::AddDistanceConstraint,(arg("idx_one"),arg("idx_two"),arg("distance"))) + .def("AddExclusion",&ost::mol::mm::Topology::AddExclusion,(arg("idx_one"),arg("idx_two"))) + .def("AddPositionConstraint",&ost::mol::mm::Topology::AddPositionConstraint,(arg("idx"))) .def("ResetPositionConstraints",&ost::mol::mm::Topology::ResetPositionConstraints) .def("ResetExclusions",&ost::mol::mm::Topology::ResetExclusions) - .def("AddHarmonicPositionRestraint",&ost::mol::mm::Topology::AddHarmonicPositionRestraint,(arg("index"),arg("ref_position"),arg("k"),arg("x_scale")=1.0,arg("y_scale")=1.0,arg("z_scale")=1.0)) - .def("AddHarmonicDistanceRestraint",&ost::mol::mm::Topology::AddHarmonicDistanceRestraint) - .def("AddFGMDHBondDonor",&ost::mol::mm::Topology::AddFGMDHBondDonor) - .def("AddFGMDHBondAcceptor",&ost::mol::mm::Topology::AddFGMDHBondAcceptor) + .def("AddHarmonicPositionRestraint",&ost::mol::mm::Topology::AddHarmonicPositionRestraint,(arg("idx"),arg("ref_position"),arg("k"),arg("x_scale")=1.0,arg("y_scale")=1.0,arg("z_scale")=1.0)) + .def("AddHarmonicDistanceRestraint",&ost::mol::mm::Topology::AddHarmonicDistanceRestraint,(arg("idx_one"),arg("idx_two"),arg("length"),arg("force_constant"))) + .def("AddFGMDHBondDonor",&ost::mol::mm::Topology::AddFGMDHBondDonor,(arg("idx_one"),arg("idx_two"),arg("length"),arg("k_length"),arg("alpha"),arg("k_alpha"),arg("beta"),arg("k_beta"))) + .def("AddFGMDHBondAcceptor",&ost::mol::mm::Topology::AddFGMDHBondAcceptor,(arg("idx_one"),arg("idx_two"))) //single atom parameter getter and setter functions - .def("SetSigmas",&WrapSetSigmas) - .def("SetSigma",&ost::mol::mm::Topology::SetSigma) - .def("SetEpsilons",&WrapSetEpsilons) - .def("SetEpsilon",&ost::mol::mm::Topology::SetEpsilon) - .def("SetGBSARadii",&WrapSetGBSARadii) - .def("SetGBSARadius",&ost::mol::mm::Topology::SetGBSARadius) - .def("SetOBCScalings",&WrapSetOBCScalings) - .def("SetOBCScaling",&ost::mol::mm::Topology::SetOBCScaling) - .def("SetCharges",&WrapSetCharges) - .def("SetCharge",&ost::mol::mm::Topology::SetCharge) - .def("SetMasses",&WrapSetMasses) - .def("SetMass",&ost::mol::mm::Topology::SetMass) + .def("SetSigmas",&WrapSetSigmas,(arg("sigmas"))) + .def("SetSigma",&ost::mol::mm::Topology::SetSigma,(arg("particle_idx"),arg("sigma"))) + .def("SetEpsilons",&WrapSetEpsilons,(arg("epsilons"))) + .def("SetEpsilon",&ost::mol::mm::Topology::SetEpsilon,(arg("particle_idx"),arg("epsilon"))) + .def("SetGBSARadii",&WrapSetGBSARadii,(arg("gbsa_radii"))) + .def("SetGBSARadius",&ost::mol::mm::Topology::SetGBSARadius,(arg("particle_idx"),arg("radius"))) + .def("SetOBCScalings",&WrapSetOBCScalings,(arg("obc_scalings"))) + .def("SetOBCScaling",&ost::mol::mm::Topology::SetOBCScaling,(arg("particle_idx"),arg("obc_scaling"))) + .def("SetCharges",&WrapSetCharges,(arg("charges"))) + .def("SetCharge",&ost::mol::mm::Topology::SetCharge,(arg("particle_idx"),arg("charge"))) + .def("SetMasses",&WrapSetMasses,(arg("masses"))) + .def("SetMass",&ost::mol::mm::Topology::SetMass,(arg("particle_idx"),arg("mass"))) .def("GetSigmas",&WrapGetSigmas) .def("GetEpsilons",&WrapGetEpsilons) .def("GetGBSARadii",&WrapGetGBSARadii) .def("GetOBCScalings",&WrapGetOBCScalings) .def("GetCharges",&WrapGetCharges) .def("GetMasses",&WrapGetMasses) - .def("GetCharge",&ost::mol::mm::Topology::GetCharge) - .def("GetMass",&ost::mol::mm::Topology::GetMass) - .def("GetOBCScaling",&ost::mol::mm::Topology::GetOBCScaling) - .def("GetGBSARadius",&ost::mol::mm::Topology::GetGBSARadius) + .def("GetCharge",&ost::mol::mm::Topology::GetCharge,(arg("particle_idx"))) + .def("GetMass",&ost::mol::mm::Topology::GetMass,(arg("particle_idx"))) + .def("GetOBCScaling",&ost::mol::mm::Topology::GetOBCScaling,(arg("particle_idx"))) + .def("GetGBSARadius",&ost::mol::mm::Topology::GetGBSARadius,(arg("particle_idx"))) //getter and setter functions for nonbonded fudge parameters - .def("SetFudgeLJ",&ost::mol::mm::Topology::SetFudgeLJ) - .def("SetFudgeQQ",&ost::mol::mm::Topology::SetFudgeQQ) + .def("SetFudgeLJ",&ost::mol::mm::Topology::SetFudgeLJ,(arg("fudge_param"))) + .def("SetFudgeQQ",&ost::mol::mm::Topology::SetFudgeQQ,(arg("fudge_param"))) .def("GetFudgeLJ",&ost::mol::mm::Topology::GetFudgeLJ) .def("GetFudgeQQ",&ost::mol::mm::Topology::GetFudgeQQ) //getter functions for interaction parameters - .def("GetHarmonicBondParameters",&WrapGetHarmonicBondParam) - .def("GetHarmonicAngleParameters",&WrapGetHarmonicAngleParam) - .def("GetUreyBradleyAngleParameters",&WrapGetUreyBradleyAngleParam) - .def("GetPeriodicDihedralParameters",&WrapGetPeriodicDihedralParam) - .def("GetPeriodicImproperParameters",&WrapGetPeriodicImproperParam) - .def("GetHarmonicImproperParameters",&WrapGetHarmonicImproperParam) - .def("GetCMapParameters",&WrapGetCMapParam) - .def("GetLJPairParameters",&WrapGetLJPairParam) - .def("GetDistanceConstraintParameters",&WrapGetDistanceConstraintParam) - .def("GetHarmonicPositionRestraintParameters",&WrapGetHarmonicPositionRestraintParam) - .def("GetHarmonicDistanceRestraintParameters",&WrapGetHarmonicDistanceRestraintParam) - .def("GetFGMDHBondDonorParameters",&WrapGetFGMDHBondDonorParam) - .def("GetFGMDHBondAcceptorParameters",&WrapGetFGMDHBondAcceptorParam) + .def("GetHarmonicBondParameters",&WrapGetHarmonicBondParam,(arg("interaction_idx"))) + .def("GetHarmonicAngleParameters",&WrapGetHarmonicAngleParam,(arg("interaction_idx"))) + .def("GetUreyBradleyAngleParameters",&WrapGetUreyBradleyAngleParam,(arg("interaction_idx"))) + .def("GetPeriodicDihedralParameters",&WrapGetPeriodicDihedralParam,(arg("interaction_idx"))) + .def("GetPeriodicImproperParameters",&WrapGetPeriodicImproperParam,(arg("interaction_idx"))) + .def("GetHarmonicImproperParameters",&WrapGetHarmonicImproperParam,(arg("interaction_idx"))) + .def("GetCMapParameters",&WrapGetCMapParam,(arg("interaction_idx"))) + .def("GetLJPairParameters",&WrapGetLJPairParam,(arg("interaction_idx"))) + .def("GetDistanceConstraintParameters",&WrapGetDistanceConstraintParam,(arg("interaction_idx"))) + .def("GetHarmonicPositionRestraintParameters",&WrapGetHarmonicPositionRestraintParam,(arg("interaction_idx"))) + .def("GetHarmonicDistanceRestraintParameters",&WrapGetHarmonicDistanceRestraintParam,(arg("interaction_idx"))) + .def("GetFGMDHBondDonorParameters",&WrapGetFGMDHBondDonorParam,(arg("interaction_idx"))) + .def("GetFGMDHBondAcceptorParameters",&WrapGetFGMDHBondAcceptorParam,(arg("interaction_idx"))) //setter functions for interaction parameters - .def("SetHarmonicBondParameters",&ost::mol::mm::Topology::SetHarmonicBondParameters) - .def("SetHarmonicAngleParameters",&ost::mol::mm::Topology::SetHarmonicAngleParameters) - .def("SetUreyBradleyAngleParameters",&ost::mol::mm::Topology::SetUreyBradleyAngleParameters) - .def("SetPeriodicDihedralParameters",&ost::mol::mm::Topology::SetPeriodicDihedralParameters) - .def("SetPeriodicImproperParameters",&ost::mol::mm::Topology::SetPeriodicImproperParameters) - .def("SetHarmonicImproperParameters",&ost::mol::mm::Topology::SetHarmonicImproperParameters) - .def("SetCMapParameters",&WrapSetCMapParameters) - .def("SetLJPairParameters",&ost::mol::mm::Topology::SetLJPairParameters) - .def("SetDistanceConstraintParameters",&ost::mol::mm::Topology::SetDistanceConstraintParameters) - .def("SetHarmonicPositionRestraintParameters",&ost::mol::mm::Topology::SetHarmonicPositionRestraintParameters) - .def("SetHarmonicDistanceRestraintParameters",&ost::mol::mm::Topology::SetHarmonicDistanceRestraintParameters) - .def("SetFGMDHBondDonorParameters",&ost::mol::mm::Topology::SetFGMDHBondDonorParameters) + .def("SetHarmonicBondParameters",&ost::mol::mm::Topology::SetHarmonicBondParameters,(arg("interaction_idx"),arg("bond_length"),arg("force_constant"))) + .def("SetHarmonicAngleParameters",&ost::mol::mm::Topology::SetHarmonicAngleParameters,(arg("interaction_idx"),arg("angle"),arg("force_constant"))) + .def("SetUreyBradleyAngleParameters",&ost::mol::mm::Topology::SetUreyBradleyAngleParameters,(arg("interaction_idx"),arg("angle"),arg("angle_force_constant"),arg("bond_length"),arg("bond_force_constant"))) + .def("SetPeriodicDihedralParameters",&ost::mol::mm::Topology::SetPeriodicDihedralParameters,(arg("interaction_idx"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("SetPeriodicImproperParameters",&ost::mol::mm::Topology::SetPeriodicImproperParameters,(arg("interaction_idx"),arg("multiplicity"),arg("phase"),arg("force_constant"))) + .def("SetHarmonicImproperParameters",&ost::mol::mm::Topology::SetHarmonicImproperParameters,(arg("interaction_idx"),arg("angle"),arg("force_constant"))) + .def("SetCMapParameters",&WrapSetCMapParameters,(arg("interaction_idx"),arg("map"))) + .def("SetLJPairParameters",&ost::mol::mm::Topology::SetLJPairParameters,(arg("interaction_idx"),arg("sigma"),arg("epsilon"))) + .def("SetDistanceConstraintParameters",&ost::mol::mm::Topology::SetDistanceConstraintParameters,(arg("interaction_idx"),arg("distance"))) + .def("SetHarmonicPositionRestraintParameters",&ost::mol::mm::Topology::SetHarmonicPositionRestraintParameters,(arg("interaction_idx"),arg("ref_position"),arg("k"),arg("x_scale")=1.0,arg("y_scale")=1.0,arg("z_scale")=1.0)) + .def("SetHarmonicDistanceRestraintParameters",&ost::mol::mm::Topology::SetHarmonicDistanceRestraintParameters,(arg("interaction_idx"),arg("length"),arg("force_constant"))) + .def("SetFGMDHBondDonorParameters",&ost::mol::mm::Topology::SetFGMDHBondDonorParameters,(arg("interaction_idx"),arg("length"),arg("k_length"),arg("alpha"),arg("k_alpha"),arg("beta"),arg("k_beta"))) //functions to find interactions certain atoms are involved in - .def("GetHarmonicBondIndices",&GetHarmonicBondIndices) - .def("GetHarmonicBondIndices",&GetHarmonicBondIndicesSingleIndex) - .def("GetHarmonicAngleIndices",&GetHarmonicAngleIndices) - .def("GetHarmonicAngleIndices",&GetHarmonicAngleIndicesSingleIndex) - .def("GetUreyBradleyAngleIndices",&GetUreyBradleyAngleIndices) - .def("GetUreyBradleyAngleIndices",&GetUreyBradleyAngleIndicesSingleIndex) - .def("GetPeriodicDihedralIndices",&GetPeriodicDihedralIndices) - .def("GetPeriodicDihedralIndices",&GetPeriodicDihedralIndicesSingleIndex) - .def("GetPeriodicImproperIndices",&GetPeriodicImproperIndices) - .def("GetPeriodicImproperIndices",&GetPeriodicImproperIndicesSingleIndex) - .def("GetHarmonicImproperIndices",&GetHarmonicImproperIndices) - .def("GetHarmonicImproperIndices",&GetHarmonicImproperIndicesSingleIndex) - .def("GetDistanceConstraintIndex",&ost::mol::mm::Topology::GetDistanceConstraintIndex) - .def("GetDistanceConstraintIndices",&GetDistanceConstraintIndicesSingleIndex) - .def("GetCMapIndices",&GetCMapIndices) - .def("GetCMapIndices",&GetCMapIndicesSingleIndex) - .def("GetLJPairIndex",&ost::mol::mm::Topology::GetLJPairIndex) - .def("GetLJPairIndices",&GetLJPairIndicesSingleIndex) - .def("GetHarmonicDistanceRestraintIndices",&GetHarmonicDistanceRestraintIndices) - .def("GetHarmonicDistanceRestraintIndices",&GetHarmonicDistanceRestraintIndicesSingleIndex) - .def("GetHarmonicPositionRestraintIndices",&GetHarmonicPositionRestraintIndicesSingleIndex) - .def("GetFGMDHBondDonorIndices",&GetFGMDHBondDonorIndices) - .def("GetFGMDHBondDonorIndices",&GetFGMDHBondDonorIndicesSingleIndex) - .def("GetFGMDHBondAcceptorIndices",&GetFGMDHBondAcceptorIndices) - .def("GetFGMDHBondAcceptorIndices",&GetFGMDHBondAcceptorIndicesSingleIndex) + .def("GetHarmonicBondIndices",&GetHarmonicBondIndices,(arg("idx_one"),arg("idx_two"))) + .def("GetHarmonicBondIndices",&GetHarmonicBondIndicesSingleIndex,(arg("idx"))) + .def("GetHarmonicAngleIndices",&GetHarmonicAngleIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"))) + .def("GetHarmonicAngleIndices",&GetHarmonicAngleIndicesSingleIndex,(arg("idx"))) + .def("GetUreyBradleyAngleIndices",&GetUreyBradleyAngleIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"))) + .def("GetUreyBradleyAngleIndices",&GetUreyBradleyAngleIndicesSingleIndex,(arg("idx"))) + .def("GetPeriodicDihedralIndices",&GetPeriodicDihedralIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"))) + .def("GetPeriodicDihedralIndices",&GetPeriodicDihedralIndicesSingleIndex,(arg("idx"))) + .def("GetPeriodicImproperIndices",&GetPeriodicImproperIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"))) + .def("GetPeriodicImproperIndices",&GetPeriodicImproperIndicesSingleIndex,(arg("idx"))) + .def("GetHarmonicImproperIndices",&GetHarmonicImproperIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"))) + .def("GetHarmonicImproperIndices",&GetHarmonicImproperIndicesSingleIndex,(arg("idx"))) + .def("GetDistanceConstraintIndex",&ost::mol::mm::Topology::GetDistanceConstraintIndex,(arg("idx_one"),arg("idx_two"))) + .def("GetDistanceConstraintIndices",&GetDistanceConstraintIndicesSingleIndex,(arg("idx"))) + .def("GetCMapIndices",&GetCMapIndices,(arg("idx_one"),arg("idx_two"),arg("idx_three"),arg("idx_four"),arg("idx_five"))) + .def("GetCMapIndices",&GetCMapIndicesSingleIndex,(arg("idx"))) + .def("GetLJPairIndex",&ost::mol::mm::Topology::GetLJPairIndex,(arg("idx_one"),arg("idx_two"))) + .def("GetLJPairIndices",&GetLJPairIndicesSingleIndex,(arg("idx"))) + .def("GetHarmonicDistanceRestraintIndices",&GetHarmonicDistanceRestraintIndices,(arg("idx_one"),arg("idx_two"))) + .def("GetHarmonicDistanceRestraintIndices",&GetHarmonicDistanceRestraintIndicesSingleIndex,(arg("idx"))) + .def("GetHarmonicPositionRestraintIndices",&GetHarmonicPositionRestraintIndicesSingleIndex,(arg("idx"))) + .def("GetFGMDHBondDonorIndices",&GetFGMDHBondDonorIndices,(arg("idx_one"),arg("idx_two"))) + .def("GetFGMDHBondDonorIndices",&GetFGMDHBondDonorIndicesSingleIndex,(arg("idx"))) + .def("GetFGMDHBondAcceptorIndices",&GetFGMDHBondAcceptorIndices,(arg("idx_one"),arg("idx_two"))) + .def("GetFGMDHBondAcceptorIndices",&GetFGMDHBondAcceptorIndicesSingleIndex,(arg("idx"))) //functions to get amount of data in topology @@ -497,9 +497,10 @@ void export_Topology() .def("GetNumFGMDHBondDonors",&ost::mol::mm::Topology::GetNumFGMDHBondDonors) .def("GetNumFGMDHBondAcceptors",&ost::mol::mm::Topology::GetNumFGMDHBondAcceptors) - .def("Merge",&MergeTop) - .def("Merge",&MergeTopEnt) + .def("Merge",&MergeTop,(arg("other_topology"))) + .def("Merge",&MergeTopEnt,(arg("ent"),arg("other_topology"),arg("other_ent"))) ; + boost::python::register_ptr_to_python<ost::mol::mm::TopologyPtr>(); }