Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue #304 and #305 #307

Open
wants to merge 5 commits into
base: devel
Choose a base branch
from
Open

Fix issue #304 and #305 #307

wants to merge 5 commits into from

Conversation

lohedges
Copy link
Contributor

This PR closes #304 by adding support for negative residue numbers. The existing tests appear to be unaffected by this change, but we might need to handle parser-specific issues as they arise. While I have added the ability to load and set negative residue numbers for the GroTop parser, I've not done this for any others. It also closes #305 by re-reducing triclinic box vectors prior to setting them via the OpenMM C++ API to avoid rounding issues due to loss of precision when reading from fixed-width format AMBER files. Finally, this closes #306 by using the alternative approach to fix the conda quotes issue from the feature_cmap branch.

  • I confirm that I have merged the latest version of devel into this branch before issuing this pull request (e.g. by running git pull origin devel): [y]
  • I confirm that I have added a changelog entry to the changelog (we will add a link to this PR as part of the review): [y]
  • I confirm that I have permission to release this code under the GPL3 license: [y]

@lohedges
Copy link
Contributor Author

Looks like gemmi is causing CI failures on all platforms:

 [ 97%] Building CXX object Convert/SireGemmi/CMakeFiles/SireGemmi.dir/_SireGemmi.main.cpp.o
cd $SRC_DIR/build/conda_build_wrapper/Convert/SireGemmi && $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DBOOST_NO_CXX98_FUNCTION_BASE -DBOOST_PYTHON_DYN_LINK -DBOOST_PYTHON_NO_LIB -DGEMMI_SHARED -DQT_CORE_LIB -DQT_NO_DEBUG -DSireGemmi_EXPORTS -I$PREFIX/pkgs/sire-2025.1.0/include/Sire -I$SRC_DIR/build/conda_build_wrapper -I$SRC_DIR/wrapper -I$PREFIX/Library/include -I$PREFIX/include/python3.10 -isystem $PREFIX/include -isystem $PREFIX/include/qt -isystem $PREFIX/include/qt/QtCore -isystem $PREFIX/./mkspecs/linux-g++ -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/sire-2025.1.0.dev -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix  -std=c++17 -DSIRE_HAS_CPP_17 -DSIRE_HAS_CPP_14 -DSIRE_HAS_CPP_1Y -DSIRE_HAS_CPP_11 -Wall -Wno-attributes -pipe -DSIRE_ALWAYS_INLINE=inline -Wno-strict-aliasing -DSIRE_VISIBILITY_AVAILABLE -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp-simd -mavx -DSIRE_USE_AVX  -std=c++17 -DSIRE_HAS_CPP_17 -DSIRE_HAS_CPP_14 -DSIRE_HAS_CPP_1Y -DSIRE_HAS_CPP_11 -O3 -ffast-math -fomit-frame-pointer   -w -fPIC -fPIC -MD -MT Convert/SireGemmi/CMakeFiles/SireGemmi.dir/_SireGemmi.main.cpp.o -MF CMakeFiles/SireGemmi.dir/_SireGemmi.main.cpp.o.d -o CMakeFiles/SireGemmi.dir/_SireGemmi.main.cpp.o -c $SRC_DIR/wrapper/Convert/SireGemmi/_SireGemmi.main.cpp
[ 97%] Building CXX object Convert/SireGemmi/CMakeFiles/SireGemmi.dir/sire_gemmi.cpp.o
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/work/wrapper/Convert/SireGemmi/sire_gemmi.cpp: In function 'gemmi::Structure SireGemmi::sire_to_gemmi(const SireSystem::System&, const SireBase::PropertyMap&)':
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/work/wrapper/Convert/SireGemmi/sire_gemmi.cpp:769:63: error: no matching function for call to 'gemmi::Model::Model(std::string)'
  769 |         gemmi::Model model(system.name().value().toStdString());
      |                                                               ^
In file included from /home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/modify.hpp:10,
                 from /home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/work/wrapper/Convert/SireGemmi/sire_gemmi.cpp:5:
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:718:12: note: candidate: 'gemmi::Model::Model(int)'
  718 |   explicit Model(int num_) noexcept : num(num_) {}
      |            ^~~~~
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:718:22: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'int'
  718 |   explicit Model(int num_) noexcept : num(num_) {}
      |                  ~~~~^~~~
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:717:3: note: candidate: 'gemmi::Model::Model()'
  717 |   Model() = default;
      |   ^~~~~
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:717:3: note:   candidate expects 0 arguments, 1 provided
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:712:8: note: candidate: 'gemmi::Model::Model(const gemmi::Model&)'
  712 | struct Model {
      |        ^~~~~
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:712:8: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const gemmi::Model&'
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:712:8: note: candidate: 'gemmi::Model::Model(gemmi::Model&&)'
/home/runner/miniconda3/envs/sire_build/conda-bld/sire_1742558769195/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/include/gemmi/model.hpp:712:8: note:   no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'gemmi::Model&&'
gmake[2]: *** [Convert/SireGemmi/CMakeFiles/SireGemmi.dir/build.make:93: Convert/SireGemmi/CMakeFiles/SireGemmi.dir/sire_gemmi.cpp.o] Error 1

@lohedges
Copy link
Contributor Author

Presumably there are some breaking changes with version 0.7, although that did appear to come out over 3 months ago 🤷‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] More reduced box vector hell [BUG] GroTop parser can't handle negative residue numbers
1 participant