From 7302719878c55898afc23b75628e9e2716b5efd6 Mon Sep 17 00:00:00 2001 From: Egor Marin Date: Thu, 25 Jul 2024 03:36:39 +0300 Subject: [PATCH] Fix missing fstring on error message (#4638) * Fix missing fstring on error message * Add test for raised exception text in DSSP --- package/MDAnalysis/analysis/dssp/dssp.py | 2 +- testsuite/MDAnalysisTests/analysis/test_dssp.py | 12 ++++++++++++ .../data/dssp/wrong_hydrogens.pdb.gz | Bin 0 -> 663 bytes 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100755 testsuite/MDAnalysisTests/data/dssp/wrong_hydrogens.pdb.gz diff --git a/package/MDAnalysis/analysis/dssp/dssp.py b/package/MDAnalysis/analysis/dssp/dssp.py index 7d515926f2..d2eccf0947 100644 --- a/package/MDAnalysis/analysis/dssp/dssp.py +++ b/package/MDAnalysis/analysis/dssp/dssp.py @@ -319,7 +319,7 @@ def __init__( ): raise ValueError( ( - "Residue {calpha.residue} contains wrong number of hydrogens: " + f"Residue {calpha.residue} contains wrong number of hydrogens: " "exactly 1 hydrogen is expected for non-PRO residues, and " "zero hydrogens for PRO residues." ) diff --git a/testsuite/MDAnalysisTests/analysis/test_dssp.py b/testsuite/MDAnalysisTests/analysis/test_dssp.py index a28dd458b5..403743d972 100644 --- a/testsuite/MDAnalysisTests/analysis/test_dssp.py +++ b/testsuite/MDAnalysisTests/analysis/test_dssp.py @@ -66,3 +66,15 @@ def test_trajectory_with_uneven_number_of_atoms_fails(pdb_filename): u = mda.Universe(pdb_filename) with pytest.raises(ValueError): DSSP(u, guess_hydrogens=True).run() + + +@pytest.mark.parametrize( + "pdb_filename", glob.glob(f"{DSSP_FOLDER}/wrong_hydrogens.pdb.gz") +) +def test_exception_raises_with_atom_index(pdb_filename): + u = mda.Universe(pdb_filename) + with pytest.raises( + ValueError, + match="Residue contains*", + ): + DSSP(u, guess_hydrogens=False).run() diff --git a/testsuite/MDAnalysisTests/data/dssp/wrong_hydrogens.pdb.gz b/testsuite/MDAnalysisTests/data/dssp/wrong_hydrogens.pdb.gz new file mode 100755 index 0000000000000000000000000000000000000000..be50c953c87fd2dd47ab3f95da21101f7e5e8dee GIT binary patch literal 663 zcmV;I0%-joiwFooE}>=s19x(7Zf7oVWMTk~mP>NmFbszGJq1sI;hW&naXi*0cBl2K z_diGh0#P|3*-#6~o{>KNc>I7aujhv`CZ>eOJm}ZY<7O_#*J9d{ETFS=LjjlR>JdC& z9auWsc0P~CkIRXx#vG3kN6$sUCBFI!F0F9KKODdEdYR!;QiS^G71!H{ zql$WI<6uRdk2~tv6%$+rThtY*E-Z1KI)3K*XDkI(w5dY~+9=*_s4MJ>2`)oyrKn)l zWOX?LdUfoI_p$GysG(rJm%b}o>ev+%T!4}V*K!yv_OtJnxMzpcUGe+&tKm@Y zpay9zc@8LQl;wcxc16)$F~LRgtg|}rcKQx=SA50MKx(cCGD&z>>`WBYT`{VYM)8o7 z;I=%Ax+}ioC|5ynwMyUFor!|FD@L4)5^OUU;lj?mL){gV+(lKVYa4e=hUALpeHLtJ zu5eJIF2?2R>G}@I6~}!HHbV)DD}u9I>WY|bRF{(EuBt1x1{9*0Y*Z(n4d4{#m+Jap z$rX>+T3wQr^Iy+)CgWEg#2YKyCdl~}K%YEeBX`xY$wpk3Pn{E&_Qq!=R~)ZdWt*C) xCGb)D?^|{3ir3i2Np=I_tmba3Q7XIQ6(;Je1}opjQTFZv_ZJT^SOjYe002z4LcRb1 literal 0 HcmV?d00001