From 118be27f62fe089a2bf6051960f58dd485cd3998 Mon Sep 17 00:00:00 2001 From: Egor Marin Date: Fri, 23 Feb 2024 15:58:45 +0100 Subject: [PATCH] Fix code formatting and add coverage exceptions --- package/MDAnalysis/analysis/dssp/dssp.py | 35 +++++++------------ .../MDAnalysis/analysis/dssp/pydssp_numpy.py | 10 +++--- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/package/MDAnalysis/analysis/dssp/dssp.py b/package/MDAnalysis/analysis/dssp/dssp.py index 0fe1e75d59..fdce81c586 100644 --- a/package/MDAnalysis/analysis/dssp/dssp.py +++ b/package/MDAnalysis/analysis/dssp/dssp.py @@ -233,16 +233,12 @@ class DSSP(AnalysisBase): For example, you can assign secondary structure for a single PDB file: - .. code-block:: python - from MDAnalysis.analysis.dssp import DSSP - from MDAnalysisTests.datafiles import PDB - import MDAnalysis as mda - u = mda.Universe(PDB) - run = DSSP(u).run() - print("".join(run.results.dssp[0][:20])) - - Running this code produces :: - + >>> from MDAnalysis.analysis.dssp import DSSP + >>> from MDAnalysisTests.datafiles import PDB + >>> import MDAnalysis as mda + >>> u = mda.Universe(PDB) + >>> run = DSSP(u).run() + >>> print("".join(run.results.dssp[0][:20])) '--EEEEE-----HHHHHHHH' Also, per-frame dssp assignment allows you to build average @@ -250,18 +246,13 @@ class DSSP(AnalysisBase): (n_frames, n_residues, 3) shape ndarray with one-hot encoding of loop, helix and sheet, respectively: - .. code-block:: python - - from MDAnalysis.analysis.dssp import translate - u = mda.Universe(...) - long_run = DSSP(u).run() - mean_secondary_structure = translate( - long_run.results.dssp_ndarray.mean(axis=0) - ) - print(''.join(mean_secondary_structure)[:20]) - - Running this code produces :: - + >>> from MDAnalysis.analysis.dssp import translate + >>> u = mda.Universe(...) + >>> long_run = DSSP(u).run() + >>> mean_secondary_structure = translate( + >>> long_run.results.dssp_ndarray.mean(axis=0) + >>> ) + >>> print(''.join(mean_secondary_structure)[:20]) '---HHHHHHHH---------' .. versionadded:: 2.8.0 diff --git a/package/MDAnalysis/analysis/dssp/pydssp_numpy.py b/package/MDAnalysis/analysis/dssp/pydssp_numpy.py index c7fee8a555..f46a76d40b 100644 --- a/package/MDAnalysis/analysis/dssp/pydssp_numpy.py +++ b/package/MDAnalysis/analysis/dssp/pydssp_numpy.py @@ -17,7 +17,7 @@ DEFAULT_MARGIN = 1.0 -def _upsample(a: np.ndarray, window: int) -> np.ndarray: +def _upsample(a: np.ndarray, window: int) -> np.ndarray: # pragma: no cover """Performs array upsampling with given window along given axis. Example @@ -63,14 +63,14 @@ def _upsample(a: np.ndarray, window: int) -> np.ndarray: return _unfold(_unfold(a, window, -2), window, -2) -def _unfold(a: np.ndarray, window: int, axis: int): +def _unfold(a: np.ndarray, window: int, axis: int): # pragma: no cover "Helper function for 2D array upsampling" idx = np.arange(window)[:, None] + np.arange(a.shape[axis] - window + 1)[None, :] unfolded = np.take(a, idx, axis=axis) return np.moveaxis(unfolded, axis - 1, -1) -def _get_hydrogen_atom_position(coord: np.ndarray) -> np.ndarray: +def _get_hydrogen_atom_position(coord: np.ndarray) -> np.ndarray: # pragma: no cover """Fills in hydrogen atoms positions if they are abscent, under the assumption that C-N-H and H-N-CA angles are perfect 120 degrees, and N-H bond length is 1.01 A. @@ -118,7 +118,7 @@ def get_hbond_map( cutoff: float = DEFAULT_CUTOFF, margin: float = DEFAULT_MARGIN, return_e: bool = False, -) -> np.ndarray: +) -> np.ndarray: # pragma: no cover """Returns hydrogen bond map Parameters @@ -200,7 +200,7 @@ def get_hbond_map( return hbond_map -def assign(coord: np.ndarray) -> np.ndarray: +def assign(coord: np.ndarray) -> np.ndarray: # pragma: no cover """Assigns secondary structure for a given coordinate array, either with or without assigned hydrogens