diff --git a/modules/mol/alg/pymod/wrap_mol_alg.cc b/modules/mol/alg/pymod/wrap_mol_alg.cc index 81bdfe50c701abd142799a069331602b7e6cb44a..9d3877de76e39c7f7421cab0230991c62a2e08ee 100644 --- a/modules/mol/alg/pymod/wrap_mol_alg.cc +++ b/modules/mol/alg/pymod/wrap_mol_alg.cc @@ -70,7 +70,7 @@ ost::mol::alg::ClashingDistances fill_clashing_distances_wrapper (const list& st return ost::mol::alg::FillClashingDistances(stereo_chemical_props_file_vector,min_default_distance,min_distance_tolerance); } -ost::mol::alg::GlobalRDMap create_distance_list_from_multiple_references(const list& ref_list, Real cutoff, Real max_dist) +ost::mol::alg::GlobalRDMap create_distance_list_from_multiple_references(const list& ref_list, const list& cutoff_list, Real max_dist) { int ref_list_length = boost::python::extract<int>(ref_list.attr("__len__")()); std::vector<ost::mol::EntityView> ref_list_vector(ref_list_length); @@ -78,8 +78,14 @@ ost::mol::alg::GlobalRDMap create_distance_list_from_multiple_references(const l for (int i=0; i<ref_list_length; i++) { ref_list_vector[i] = boost::python::extract<ost::mol::EntityView>(ref_list[i]); } - - return ost::mol::alg::CreateDistanceListFromMultipleReferences(ref_list_vector, cutoff, max_dist); + + int cutoff_list_length = boost::python::extract<int>(cutoff_list.attr("__len__")()); + std::vector<Real> cutoff_list_vector(cutoff_list_length); + + for (int i=0; i<cutoff_list_length; i++) { + cutoff_list_vector[i] = boost::python::extract<Real>(cutoff_list[i]); + } + return ost::mol::alg::CreateDistanceListFromMultipleReferences(ref_list_vector, cutoff_list_vector, max_dist); } } diff --git a/modules/mol/alg/src/local_dist_test.hh b/modules/mol/alg/src/local_dist_test.hh index 8a26e1c7dbf8ef67f50a8fcfce326cd45abc16ce..8a38f4baea7a5237ad598a7cd168511beee803ee 100644 --- a/modules/mol/alg/src/local_dist_test.hh +++ b/modules/mol/alg/src/local_dist_test.hh @@ -76,7 +76,7 @@ Real DLLEXPORT_OST_MOL_ALG OldStyleLDTHA(EntityView& v, const GlobalRDMap& globa GlobalRDMap CreateDistanceList(const EntityView& ref,Real max_dist); -GlobalRDMap CreateDistanceListFromMultipleReferences(const std::vector<EntityView>& ref_list,Real cutoff, Real max_dist); +GlobalRDMap CreateDistanceListFromMultipleReferences(const std::vector<EntityView>& ref_list,std::vector<Real>& cutoff_list, Real max_dist); void PrintGlobalRDMap(const GlobalRDMap& glob_dist_list); void PrintResidueRDMap(const ResidueRDMap& res_dist_list); bool IsStandardResidue(String rn);