Skip to content

Commit 6f186f3

Browse files
committed
mark analysis.rdf.InterRDF and analysis.rdf.InterRDF_s as not parallizable
1 parent 1eca9f2 commit 6f186f3

File tree

4 files changed

+49
-0
lines changed

4 files changed

+49
-0
lines changed

package/CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Enhancements
3333
* Enable parallelization for analysis.nucleicacids.NucPairDist (Issue #4670)
3434
* Add check and warning for empty (all zero) coordinates in RDKit converter (PR #4824)
3535
* Added `precision` for XYZWriter (Issue #4775, PR #4771)
36+
* explicitly mark `analysis.rdf.InterRDF` and `analysis.rdf.InterRDF` as not parallelizable (Issue #4675)
3637

3738

3839
Changes

package/MDAnalysis/analysis/rdf.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,12 @@ class InterRDF(AnalysisBase):
218218
:class:`~MDAnalysis.analysis.AnalysisBase`.
219219
"""
220220

221+
@classmethod
222+
def get_supported_backends(cls):
223+
return ('serial',)
224+
225+
_analysis_algorithm_is_parallelizable = False
226+
221227
def __init__(
222228
self,
223229
g1,
@@ -563,6 +569,12 @@ class InterRDF_s(AnalysisBase):
563569
The `universe` parameter is superflous.
564570
"""
565571

572+
@classmethod
573+
def get_supported_backends(cls):
574+
return ('serial',)
575+
576+
_analysis_algorithm_is_parallelizable = False
577+
566578
def __init__(
567579
self,
568580
u,

testsuite/MDAnalysisTests/analysis/test_rdf.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,21 @@ def test_unknown_norm(sels):
152152
s1, s2 = sels
153153
with pytest.raises(ValueError, match="invalid norm"):
154154
InterRDF(s1, s2, sels, norm="foo")
155+
156+
@pytest.mark.parametrize(
157+
"classname,is_parallelizable",
158+
[
159+
(mda.analysis.rdf, False),
160+
]
161+
)
162+
def test_class_is_parallelizable(classname, is_parallelizable):
163+
assert classname.InterRDF._analysis_algorithm_is_parallelizable == is_parallelizable
164+
165+
@pytest.mark.parametrize(
166+
"classname,backends",
167+
[
168+
(mda.analysis.rdf, ('serial',)),
169+
]
170+
)
171+
def test_supported_backends(classname, backends):
172+
assert classname.InterRDF.get_supported_backends() == backends

testsuite/MDAnalysisTests/analysis/test_rdf_s.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,21 @@ def test_rdf_attr_warning(rdf, attr):
171171
wmsg = f"The `{attr}` attribute was deprecated in MDAnalysis 2.0.0"
172172
with pytest.warns(DeprecationWarning, match=wmsg):
173173
getattr(rdf, attr) is rdf.results[attr]
174+
175+
@pytest.mark.parametrize(
176+
"classname,is_parallelizable",
177+
[
178+
(mda.analysis.rdf, False),
179+
]
180+
)
181+
def test_class_is_parallelizable(classname, is_parallelizable):
182+
assert classname.InterRDF_s._analysis_algorithm_is_parallelizable == is_parallelizable
183+
184+
@pytest.mark.parametrize(
185+
"classname,backends",
186+
[
187+
(mda.analysis.rdf, ('serial',)),
188+
]
189+
)
190+
def test_supported_backends(classname, backends):
191+
assert classname.InterRDF_s.get_supported_backends() == backends

0 commit comments

Comments
 (0)