[med-svn] [Git][med-team/dssp][upstream] New upstream version 4.5.6
Maarten L. Hekkelman (@mhekkel-guest)
gitlab at salsa.debian.org
Thu Nov 20 08:22:52 GMT 2025
Maarten L. Hekkelman pushed to branch upstream at Debian Med / dssp
Commits:
32a0b645 by Maarten L. Hekkelman at 2025-11-20T09:06:55+01:00
New upstream version 4.5.6
- - - - -
8 changed files:
- .github/workflows/cmake-multi-platform.yml
- .gitignore
- CMakeLists.txt
- changelog
- libdssp/src/dssp-io.cpp
- src/mkdssp.cpp
- test/CMakeLists.txt
- tools/depends.cmd
Changes:
=====================================
.github/workflows/cmake-multi-platform.yml
=====================================
@@ -45,7 +45,7 @@ jobs:
- name: Install Catch2 macOS
if: matrix.os == 'macos-latest'
run: >
- brew install catch2
+ brew install catch2 boost-python3
- name: Install dependencies Window
if: matrix.os == 'windows-latest'
=====================================
.gitignore
=====================================
@@ -6,3 +6,4 @@ build/
src/revision.hpp
libdssp/src/revision.hpp
python-module/mkdssp.so
+.cache/
=====================================
CMakeLists.txt
=====================================
@@ -124,13 +124,13 @@ CPMFindPackage(
# CPMFindPackage does not pass on variables set with set_and_check
# Working around this here
-find_package(cifpp 8.0.1 QUIET)
+find_package(cifpp 9 QUIET)
if(NOT cifpp_FOUND)
CPMAddPackage(
NAME cifpp
GIT_REPOSITORY https://github.com/pdb-redo/libcifpp.git
- GIT_TAG v8.0.1
+ GIT_TAG v9.0.0
EXCLUDE_FROM_ALL YES)
endif()
=====================================
changelog
=====================================
@@ -1,3 +1,6 @@
+Version 4.5.6
+- Using libcifpp version 9.0.0
+
Version 4.5.5
- Clean up old DSSP data before writing new
- Regression: check for pdbx_poly_seq_scheme and if missing
=====================================
libdssp/src/dssp-io.cpp
=====================================
@@ -121,20 +121,20 @@ std::string ResidueToDSSPLine(const dssp::residue_info &info)
if (acceptor)
{
auto d = acceptor.nr() - info.nr();
- NHO[i] = cif::format("%d,%3.1f", d, acceptorE).str();
+ NHO[i] = cif::format("{:d},{:3.1f}", d, acceptorE);
}
if (donor)
{
auto d = donor.nr() - info.nr();
- ONH[i] = cif::format("%d,%3.1f", d, donorE).str();
+ ONH[i] = cif::format("{:d},{:3.1f}", d, donorE);
}
}
// auto ca = residue.atomByID("CA");
auto const &[cax, cay, caz] = residue.ca_location();
- return cif::format("%5d%5d%1.1s%1.1s %c %c%c%c%c%c%c%c%c%c%4d%4d%c%4.0f %11s%11s%11s%11s %6.3f%6.1f%6.1f%6.1f%6.1f %6.1f %6.1f %6.1f",
+ return cif::format("{:5d}{:5d}{:1.1s}{:1.1s} {:1c} {:1c}{:1c}{:1c}{:1c}{:1c}{:1c}{:1c}{:1c}{:1c}{:4d}{:4d}{:1c}{:4.0f} {:>11s}{:>11s}{:>11s}{:>11s} {:6.3f}{:6.1f}{:6.1f}{:6.1f}{:6.1f} {:6.1f} {:6.1f} {:6.1f}",
info.nr(), residue.pdb_seq_num(), residue.pdb_ins_code(), residue.pdb_strand_id(), code,
ss, helix[3], helix[0], helix[1], helix[2], bend, chirality, bridgelabel[0], bridgelabel[1],
bp[0], bp[1], sheet, floor(info.accessibility() + 0.5),
@@ -144,8 +144,7 @@ std::string ResidueToDSSPLine(const dssp::residue_info &info)
residue.alpha().value_or(360),
residue.phi().value_or(360),
residue.psi().value_or(360),
- cax, cay, caz)
- .str();
+ cax, cay, caz);
}
void writeDSSP(const dssp &dssp, std::ostream &os)
@@ -168,40 +167,40 @@ void writeDSSP(const dssp &dssp, std::ostream &os)
<< dssp.get_pdb_header_line(dssp::pdb_record_type::SOURCE) << '.' << std::endl
<< dssp.get_pdb_header_line(dssp::pdb_record_type::AUTHOR) << '.' << std::endl;
- os << cif::format("%5d%3d%3d%3d%3d TOTAL NUMBER OF RESIDUES, NUMBER OF CHAINS, NUMBER OF SS-BRIDGES(TOTAL,INTRACHAIN,INTERCHAIN) .",
+ os << cif::format("{:5d}{:3d}{:3d}{:3d}{:3d} TOTAL NUMBER OF RESIDUES, NUMBER OF CHAINS, NUMBER OF SS-BRIDGES(TOTAL,INTRACHAIN,INTERCHAIN) .",
stats.count.residues, stats.count.chains, stats.count.SS_bridges, stats.count.intra_chain_SS_bridges, (stats.count.SS_bridges - stats.count.intra_chain_SS_bridges))
<< std::endl;
- os << cif::format("%8.1f ACCESSIBLE SURFACE OF PROTEIN (ANGSTROM**2) .", stats.accessible_surface) << std::endl;
+ os << cif::format("{:8.1f} ACCESSIBLE SURFACE OF PROTEIN (ANGSTROM**2) .", stats.accessible_surface) << std::endl;
// hydrogenbond summary
- os << cif::format("%5d%5.1f TOTAL NUMBER OF HYDROGEN BONDS OF TYPE O(I)-->H-N(J) , SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds, (stats.count.H_bonds * 100.0 / stats.count.residues)) << std::endl;
+ os << cif::format("{:5d}{:5.1f} TOTAL NUMBER OF HYDROGEN BONDS OF TYPE O(I)-->H-N(J) , SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds, (stats.count.H_bonds * 100.0 / stats.count.residues)) << std::endl;
- os << cif::format("%5d%5.1f TOTAL NUMBER OF HYDROGEN BONDS IN PARALLEL BRIDGES, SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds_in_parallel_bridges, (stats.count.H_bonds_in_parallel_bridges * 100.0 / stats.count.residues)) << std::endl;
+ os << cif::format("{:5d}{:5.1f} TOTAL NUMBER OF HYDROGEN BONDS IN PARALLEL BRIDGES, SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds_in_parallel_bridges, (stats.count.H_bonds_in_parallel_bridges * 100.0 / stats.count.residues)) << std::endl;
- os << cif::format("%5d%5.1f TOTAL NUMBER OF HYDROGEN BONDS IN ANTIPARALLEL BRIDGES, SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds_in_antiparallel_bridges, (stats.count.H_bonds_in_antiparallel_bridges * 100.0 / stats.count.residues)) << std::endl;
+ os << cif::format("{:5d}{:5.1f} TOTAL NUMBER OF HYDROGEN BONDS IN ANTIPARALLEL BRIDGES, SAME NUMBER PER 100 RESIDUES .", stats.count.H_bonds_in_antiparallel_bridges, (stats.count.H_bonds_in_antiparallel_bridges * 100.0 / stats.count.residues)) << std::endl;
for (int k = 0; k < 11; ++k)
- os << cif::format("%5d%5.1f TOTAL NUMBER OF HYDROGEN BONDS OF TYPE O(I)-->H-N(I%c%1d), SAME NUMBER PER 100 RESIDUES .", stats.count.H_Bonds_per_distance[k], (stats.count.H_Bonds_per_distance[k] * 100.0 / stats.count.residues), (k - 5 < 0 ? '-' : '+'), abs(k - 5)) << std::endl;
+ os << cif::format("{:5d}{:5.1f} TOTAL NUMBER OF HYDROGEN BONDS OF TYPE O(I)-->H-N(I{:1c}{:1d}), SAME NUMBER PER 100 RESIDUES .", stats.count.H_Bonds_per_distance[k], (stats.count.H_Bonds_per_distance[k] * 100.0 / stats.count.residues), (k - 5 < 0 ? '-' : '+'), abs(k - 5)) << std::endl;
// histograms...
os << " 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 *** HISTOGRAMS OF *** ." << std::endl;
for (auto hi : stats.histogram.residues_per_alpha_helix)
- os << cif::format("%3d", hi);
+ os << cif::format("{:3d}", hi);
os << " RESIDUES PER ALPHA HELIX ." << std::endl;
for (auto hi : stats.histogram.parallel_bridges_per_ladder)
- os << cif::format("%3d", hi);
+ os << cif::format("{:3d}", hi);
os << " PARALLEL BRIDGES PER LADDER ." << std::endl;
for (auto hi : stats.histogram.antiparallel_bridges_per_ladder)
- os << cif::format("%3d", hi);
+ os << cif::format("{:3d}", hi);
os << " ANTIPARALLEL BRIDGES PER LADDER ." << std::endl;
for (auto hi : stats.histogram.ladders_per_sheet)
- os << cif::format("%3d", hi);
+ os << cif::format("{:3d}", hi);
os << " LADDERS PER SHEET ." << std::endl;
// per residue information
@@ -215,7 +214,7 @@ void writeDSSP(const dssp &dssp, std::ostream &os)
// can be the transition to a different chain, or missing residues in the current chain
if (ri.nr() != last + 1)
- os << cif::format("%5d !%c 0 0 0 0, 0.0 0, 0.0 0, 0.0 0, 0.0 0.000 360.0 360.0 360.0 360.0 0.0 0.0 0.0",
+ os << cif::format("{:5d} !{:1c} 0 0 0 0, 0.0 0, 0.0 0, 0.0 0, 0.0 0.000 360.0 360.0 360.0 360.0 0.0 0.0 0.0",
(last + 1), (ri.chain_break() == dssp::chain_break_type::NewChain ? '*' : ' '))
<< std::endl;
=====================================
src/mkdssp.cpp
=====================================
@@ -129,8 +129,6 @@ int d_main(int argc, const char *argv[])
try
{
- auto &cf = cif::validator_factory::instance();
-
cif::gzio::ifstream in(config.operands().front());
if (not in.is_open())
{
@@ -138,11 +136,18 @@ int d_main(int argc, const char *argv[])
exit(1);
}
+ if (cif::VERBOSE > 0)
+ std::cerr << "Loading file...";
+
f.load(in);
- f.front().set_validator(&cf.get("mmcif_pdbx.dic"));
- if (f.empty() or f.front().get("pdbx_poly_seq_scheme") == nullptr)
- throw std::runtime_error("Missing pdbx_poly_seq_scheme, will attempt to recover...");
+ if (cif::VERBOSE > 0)
+ std::cerr << " fixup file...";
+
+ cif::pdb::fixup_pdbx(f);
+
+ if (cif::VERBOSE > 0)
+ std::cerr << " done\n";
}
catch (const std::exception &e)
{
=====================================
test/CMakeLists.txt
=====================================
@@ -1,7 +1,7 @@
CPMFindPackage(
NAME Catch2 3
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
- GIT_TAG v3.8.0
+ GIT_TAG v3.4.0
EXCLUDE_FROM_ALL YES)
add_executable(unit-test-dssp ${CMAKE_CURRENT_SOURCE_DIR}/unit-test-dssp.cpp ${PROJECT_SOURCE_DIR}/libdssp/src/dssp-io.cpp)
=====================================
tools/depends.cmd
=====================================
@@ -1,10 +1,13 @@
@ECHO OFF
SET ZLIB_VERSION=1.3
+SET PCRE2_VERSION=10.45
IF NOT EXIST build_ci\libs (
MKDIR build_ci\libs
)
CD build_ci\libs
+
+ at REM Install ZLib
IF NOT EXIST zlib-%ZLIB_VERSION%.zip (
ECHO Downloading https://github.com/libarchive/zlib/archive/v%ZLIB_VERSION%.zip
curl -L -o zlib-%ZLIB_VERSION%.zip https://github.com/libarchive/zlib/archive/v%ZLIB_VERSION%.zip || EXIT /b 1
@@ -14,9 +17,24 @@ IF NOT EXIST zlib-%ZLIB_VERSION% (
C:\windows\system32\tar.exe -x -f zlib-%ZLIB_VERSION%.zip || EXIT /b 1
)
CD zlib-%ZLIB_VERSION%
-cmake -G "Visual Studio 17 2022" . || EXIT /b 1
-cmake --build . --target ALL_BUILD --config Release || EXIT /b 1
-cmake --build . --target RUN_TESTS --config Release || EXIT /b 1
-cmake --build . --target INSTALL --config Release || EXIT /b 1
+cmake -B build || EXIT /b 1
+cmake --build build --target ALL_BUILD --config Release || EXIT /b 1
+cmake --build build --target RUN_TESTS --config Release || EXIT /b 1
+cmake --build build --target INSTALL --config Release || EXIT /b 1
+
+ at REM Install PCRE2
+IF NOT EXIST pcre2-%PCRE2_VERSION%.zip (
+ ECHO Downloading https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%PCRE2_VERSION%/pcre2-%PCRE2_VERSION%.zip
+ curl -L -o pcre2-%PCRE2_VERSION%.zip https://github.com/PCRE2Project/pcre2/releases/download/pcre2-%PCRE2_VERSION%/pcre2-%PCRE2_VERSION%.zip || EXIT /b 1
+)
+IF NOT EXIST pcre2-%PCRE2_VERSION% (
+ ECHO Unpacking pcre2-%PCRE2_VERSION%.zip
+ C:\windows\system32\tar.exe -x -f pcre2-%PCRE2_VERSION%.zip || EXIT /b 1
+)
+CD pcre2-%PCRE2_VERSION%
+cmake -B build -DPCRE2_BUILD_PCRE2GREP=OFF || EXIT /b 1
+cmake --build build --target ALL_BUILD --config Release || EXIT /b 1
+ at REM cmake --build build --target RUN_TESTS --config Release || EXIT /b 1
+cmake --build build --target INSTALL --config Release || EXIT /b 1
@EXIT /b 0
View it on GitLab: https://salsa.debian.org/med-team/dssp/-/commit/32a0b645b9251882fae61b66e58e397ddbb5f874
--
View it on GitLab: https://salsa.debian.org/med-team/dssp/-/commit/32a0b645b9251882fae61b66e58e397ddbb5f874
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251120/1df90d31/attachment-0001.htm>
More information about the debian-med-commit
mailing list