Skip to content

Commit

Permalink
Merge for 2.17.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
benmwebb committed Jun 21, 2022
2 parents 29d961d + a25a47b commit a573648
Show file tree
Hide file tree
Showing 1,894 changed files with 7,347 additions and 6,032 deletions.
26 changes: 8 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,38 +10,28 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["2.7", "3.6"]
os: [ubuntu-18.04]
python-version: ["3.8"]
os: [ubuntu-20.04]
compiler: [gcc]
env:
CC: ${{ matrix.compiler }}
PY2: ${{ startsWith(matrix.python-version, 2) && 'on' || 'off' }}
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq libboost-all-dev swig libhdf5-serial-dev libeigen3-dev \
sudo apt-get install -qq libboost-all-dev swig libhdf5-dev libeigen3-dev \
cmake libcgal-dev libcgal-qt5-dev \
libfftw3-dev libopencv-dev libgsl0-dev libann-dev \
libfftw3-dev libopencv-dev libgsl-dev libann-dev \
libprotobuf-dev protobuf-compiler \
libopenmpi-dev
if [ "${{ env.PY2 }}" == "on" ]
then
sudo apt-get install -qq python-dev python-numpy python-protobuf \
python-nose python-pip python-biopython
export PIP=pip2
else
sudo apt-get install -qq python3-dev python3-numpy python3-protobuf \
python3-nose python3-pip python3-biopython
export PIP=pip3
fi
$PIP install codecov
libopenmpi-dev python3-dev python3-numpy python3-protobuf \
python3-nose python3-pip python3-biopython
pip3 install codecov
- name: Set up git
run: ./setup_git.py
- name: Build IMP
run: |
mkdir build
cd build
cmake .. -DUSE_PYTHON2=${{ env.PY2 }} -DCMAKE_CXX_FLAGS="${{ env.CXXFLAGS }}" -DCGAL_DIR=/usr/lib/x86_64-linux-gnu/cmake/CGAL/
cmake .. -DUSE_PYTHON2=OFF -DCMAKE_CXX_FLAGS="${{ env.CXXFLAGS }}" -DCGAL_DIR=/usr/lib/x86_64-linux-gnu/cmake/CGAL/
make -k -j 2
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
[submodule "components/pathway_mapping"]
path = components/pathway_mapping
url = https://github.com/salilab/pathway_mapping.git
[submodule "components/metamodeling"]
path = components/metamodeling
url = https://github.com/salilab/metamodeling.git
[submodule "modules/pmi1"]
path = modules/pmi1
url = https://github.com/salilab/pmi.git
Expand Down
22 changes: 22 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
ChangeLog {#changelog}
=========

# 2.17.0 - 2022-06-23 # {#changelog_2_17_0}
- IMP::atom::Selection no longer checks that the passed hierarchies are valid,
as this can be quite computationally expensive. If in doubt, call
IMP::atom::Hierarchy::get_is_valid() on each one first.
- The IMP::em::CoarseCC class has been removed. Use similarly-named free
functions instead to calculate coarse cross correlation.
- The Windows .exe installer no longer supports Python 2 (it works with
Python 3.6 through 3.10).
- Binary packages are now provided for Ubuntu 22.04 LTS, Jammy Jellyfish
and RedHat Enterprise Linux 9 (and variants, such as Rocky or Alma).
- IMP now requires a C++11 compiler and SWIG 3 (or later) to build. Most
recent compilers should support C++11, such as gcc, clang
or MS Visual Studio 2012 or later. Various IMP macro and header workarounds
for pre-C++11 environments are thus no longer needed and are deprecated:
`IMP_NULLPTR`, `IMP_NULLPTR_T`, `IMP_OVERRIDE`, `IMP_FINAL`, `IMP_UNIQUE_PTR`,
`IMP_FOREACH`, `IMP/nullptr.h`, and `IMP/nullptr_macros.h`.
- The IMP::core::IncrementalScoringFunction class is now deprecated. Use
IMP::core::MonteCarlo::set_score_moved or
IMP::ScoringFunction::evaluate_moved instead.
- A new application of IMP is now available:
- [Integrative modeling of nanobody binding modes to the SARS-CoV-2 Spike protein](https://integrativemodeling.org/systems/nbspike)

# 2.16.0 - 2021-12-16 # {#changelog_2_16_0}
- OpenCubicSpline now throws a ValueException for out-of-range values, to
be consistent with ClosedCubicSpline (previously it threw ModelException).
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ new shell.
Copyright and License information
=================================

IMP is Copyright 2007-2021 IMP Inventors. The IMP Inventors are
IMP is Copyright 2007-2022 IMP Inventors. The IMP Inventors are
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.16.0
2.17.0
92 changes: 44 additions & 48 deletions cmake_modules/IMPFindC++11.cmake
Original file line number Diff line number Diff line change
@@ -1,58 +1,54 @@
if(NOT DEFINED IMP_CXX11)
set(IMP_CXX11 1 CACHE BOOL "Whether to use C++11 if possible")
endif()

# Put flags in a cmake variable so we can set them before running compiler
# checks (elsewhere in the build)
set(IMP_CXX11_FLAGS "" CACHE INTERNAL "Flags to enable C++11 support" FORCE)

if(IMP_CXX11)
if (APPLE)
execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION)
string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
endif()
if (APPLE)
execute_process(COMMAND uname -v OUTPUT_VARIABLE DARWIN_VERSION)
string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION})
endif()

if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE
GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "GCC version: ${GCC_VERSION}")
if (GCC_VERSION VERSION_GREATER 6.1 OR GCC_VERSION VERSION_EQUAL 6.1)
# gcc 6.1 and up use C++14 by default, so no explicit switch required
# (in fact adding --std=c++11 will break compilation of packages that
# require C++14 features, like CGAL 5).
message(STATUS "Using g++ C++11 (or later) support")
elseif (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
message(STATUS "Enabling g++ C++11 support")
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
elseif (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
message(STATUS "Enabling g++ C++0x support")
set(IMP_CXX11_FLAGS "--std=c++0x" CACHE INTERNAL "" FORCE)
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
OUTPUT_VARIABLE CLANG_VERSION)
if(CLANG_VERSION MATCHES "clang version ([0-9.]+)")
set(CLANG_VERSION ${CMAKE_MATCH_1})
endif()
message(STATUS "clang version: ${CLANG_VERSION}")
# Modern clang (6 or later) uses C++14 by default; don't force older C++11
if(CLANG_VERSION VERSION_GREATER 6.0)
message(STATUS "Using clang C++11 (or later) support")
# c++11's std::move (which boost/CGAL use) doesn't work until
# OS X 10.9 (Darwin version 13)
elseif(APPLE AND DARWIN_VERSION LESS 13)
message(STATUS "Disabling C++11 for mac os < 10.9")
elseif(BOOST_VERSION LESS 105000)
message(STATUS "Disabling C++11 due to clang and older boost")
else()
message(STATUS "Enabling clang C++11 support")
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
message(STATUS "Using MSVC C++11 support")
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE
GCC_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
message(STATUS "GCC version: ${GCC_VERSION}")
if (GCC_VERSION VERSION_GREATER 6.1 OR GCC_VERSION VERSION_EQUAL 6.1)
# gcc 6.1 and up use C++14 by default, so no explicit switch required
# (in fact adding --std=c++11 will break compilation of packages that
# require C++14 features, like CGAL 5).
message(STATUS "Using g++ C++11 (or later) support")
elseif (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
message(STATUS "Enabling g++ C++11 support")
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
elseif (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
message(STATUS "Enabling g++ C++0x support")
set(IMP_CXX11_FLAGS "--std=c++0x" CACHE INTERNAL "" FORCE)
else()
message(FATAL_ERROR "IMP requires a C++11 compiler, but this GCC appears to be too old to support C++11")
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
OUTPUT_VARIABLE CLANG_VERSION)
if(CLANG_VERSION MATCHES "clang version ([0-9.]+)")
set(CLANG_VERSION ${CMAKE_MATCH_1})
endif()
message(STATUS "clang version: ${CLANG_VERSION}")
# Modern clang (6 or later) uses C++14 by default; don't force older C++11
if(CLANG_VERSION VERSION_GREATER 6.0)
message(STATUS "Using clang C++11 (or later) support")
# c++11's std::move (which boost/CGAL use) doesn't work until
# OS X 10.9 (Darwin version 13)
elseif(APPLE AND DARWIN_VERSION LESS 13)
message(FATAL_ERROR "IMP requires a C++11 compiler, but this version of OS X is too old to properly support C++11")
elseif(BOOST_VERSION LESS 105000)
message(FATAL_ERROR "IMP requires a C++11 compiler, but this version of Boost is too old to properly support C++11")
else()
message(STATUS "Unknown compiler, not sure what to do about C++11")
message(STATUS "Enabling clang C++11 support")
set(IMP_CXX11_FLAGS "--std=c++11" CACHE INTERNAL "" FORCE)
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
message(STATUS "Using MSVC C++11 support")
else()
message(STATUS "Unknown compiler, not sure what to do about C++11")
endif()

if(IMP_CXX11_FLAGS)
Expand Down
1 change: 1 addition & 0 deletions components/metamodeling
Submodule metamodeling added at 0d4e52
3 changes: 2 additions & 1 deletion doc/doxygen/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
$mathjax
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous" />
<link href="//integrativemodeling.org/fontawesome6/css/fontawesome.min.css" rel="stylesheet" type="text/css" >
<link href="//integrativemodeling.org/fontawesome6/css/brands.min.css" rel="stylesheet" type="text/css" >
<link href="//integrativemodeling.org/imp.css" rel="stylesheet" type="text/css"/>
</head>
<body>
Expand Down
2 changes: 1 addition & 1 deletion doc/manual/bugs.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ To report a bug, [open an issue at GitHub](https://github.com/salilab/imp/issues
You can also [email us](https://integrativemodeling.org/contact.html), but
GitHub issues are preferred because we won't forget about them.

If you write code to fix a bug, [reference the issue number in the commit message](https://help.github.com/articles/closing-issues-via-commit-messages/).
If you write code to fix a bug, [reference the issue number in the commit message](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
This makes it a lot easier to look back at old issues and figure out how they
were resolved. (If the code you write does not fix the bug but only relates
to it, for example if you write a test case that demonstrates the problem,
Expand Down
13 changes: 5 additions & 8 deletions doc/manual/code_conventions.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,11 +121,8 @@ As a result, such functions do not need to obey all the coding conventions
(but we recommend that they do).

# C++ 11 {#codeconv_cxx11}
%IMP now turns on C++ 11 support when it can. However, since compilers
are still quite variable in which C++ 11 features they support, it is
not advisable to use them directly in %IMP code at this point. To aid
in their use when practical we provide several helper macros:
- `IMP_OVERRIDE` inserts the `override` keyword when available
- `IMP_FINAL` inserts the `final` keyword when available

More will come.
Latest %IMP requires a compiler that supports C++ 11, unlike older versions.
Thus, C++ 11 features, such as the `override`, `final`, `auto` and `nullptr`
keywords, and range-based for loops, can be used where appropriate.
The old compatibility macros (such as `IMP_OVERRIDE`, `IMP_FINAL`,
`IMP_NULLPTR` and `IMP_FOREACH`) should no longer be used.
7 changes: 5 additions & 2 deletions doc/manual/dependencies.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ When the graph changes, it must be updated. This is done by simply invalidating
- a new IMP::ModelObject is created that has a non-empty IMP::ModelObject::get_outputs().
- when IMP::Model::set_has_dependencies(false) is called to deliberately invalidate all dependencies

Each IMP::ModelObject has a bit for whether it's dependencies are valid (IMP::ModelObject::get_has_dependencies()). Its dependencies will be updated any time they are needed (particularly when its IMP::ModelObject::get_required_score_states() method is called. This occurs by having the IMP::Model create the dependency graph if needed and then for each input
Each IMP::ModelObject has a bit for whether its dependencies are valid (IMP::ModelObject::get_has_dependencies()). Its dependencies will be updated any time they are needed (particularly when its IMP::ModelObject::get_required_score_states() method is called. This occurs by having the IMP::Model create the dependency graph if needed and then for each input
- add its IMP::ModelObject::get_required_score_state() to the list
- if it is an IMP::ScoreState, add it to the list.

As a special case, the IMP::core::IncrementalScoringFunction has to take action after its dependencies are updated. This is because it keeps track of which restraints depend on which of the IMP::Particle instances that it is keeping track of. To do this, the IMP::ModelObject::do_set_has_dependencies() is called after dependencies are set up. IMP::core::IncrementalScoringFunction uses that function to compute its dependencies.
Code can often be made more efficient by caching any data structures that are
derived from the dependency graph, since this graph rarely changes in many
common workflows. To aid in this, use the IMP::Model::get_dependencies_updated()
method, which returns the model age when the graph was last updated.
4 changes: 2 additions & 2 deletions doc/manual/devsetup.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ tasks, you will need to [work with git](@ref faq_git) and make a copy of the
used to [build IMP from source](@ref installation_download).

1. Make a copy (fork) of the [IMP repository](https://github.com/salilab/imp).
There is an [excellent help page at GitHub](https://help.github.com/articles/fork-a-repo/)
There is an [excellent help page at GitHub](https://docs.github.com/en/get-started/quickstart/fork-a-repo)
that explains this in detail.

2. Build %IMP [as previously described](@ref installation_download) - the only
Expand All @@ -22,7 +22,7 @@ used to [build IMP from source](@ref installation_download).
3. Make your changes to %IMP (described in more detail below).

4. When you are finished with your changes,
[open a pull request](https://help.github.com/articles/using-pull-requests/)
[open a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
to get it incorporated into the main %IMP repository.

\note There are other ways of working with %IMP. For %example, if you are
Expand Down
7 changes: 4 additions & 3 deletions doc/manual/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,16 @@ to see if the code is currently stable enough for your purposes.

In order to build %IMP from source, you will need:

- A C++ compiler that supports the C++11 standard, such as gcc, clang,
or Microsoft Visual Studio 2012 or later.
- [CMake](https://cmake.org) (2.8.12 or later; 3.14 or later is recommended)
- [Boost](https://www.boost.org) (1.53 or later; Boost.Iostreams must be built
with its [zlib filter enabled](https://www.boost.org/doc/libs/1_67_0/libs/iostreams/doc/installation.html))
- [Eigen](https://eigen.tuxfamily.org/) (3.0 or later)
- [HDF5](https://support.hdfgroup.org/HDF5/) (1.8 or later; 1.10 or 1.12
should also work)
- [Python](https://www.python.org) (2.7 or later, or any version of Python 3)
- [SWIG](http://www.swig.org) (1.3.40 or later; 2.0.4 or later is needed
if you want to use Python 3)
- [SWIG](http://www.swig.org) (3 or later)

The following prerequisites are _optional_; without them some parts of %IMP
will not build, and some will not function optimally.
Expand Down Expand Up @@ -58,7 +59,7 @@ will not build, and some will not function optimally.
- [Protobuf](https://github.com/google/protobuf): needed to use the
IMP.npctransport module.
- An [MPI](@ref IMP::mpi) library is needed to use the IMP.mpi module.
- The [scipy](http://www.scipy.org/scipylib/download.html),
- The [scipy](https://scipy.org/download/),
[scikit-learn](http://scikit-learn.org/stable/install.html),
and [matplotlib](http://matplotlib.org/downloads.html)
Python libraries are also recommended.
Expand Down
2 changes: 1 addition & 1 deletion doc/manual/licenses.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Copyright and licenses {#licenses}
======================

%IMP is Copyright 2007-2021 %IMP Inventors. The %IMP Inventors are
%IMP is Copyright 2007-2022 %IMP Inventors. The %IMP Inventors are
Andrej Sali, Ben Webb, Daniel Russel, Keren Lasker, Dina Schneidman,
Javier Velázquez-Muriel, Friedrich Förster, Elina Tjioe, Hao Fan,
Seung Joong Kim, Yannick Spill, Riccardo Pellarin.
Expand Down
2 changes: 1 addition & 1 deletion doc/manual/scm.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ following:

- Periodically run `git pull` to get latest 'upstream' changes into your
copy (if you [made a fork](@ref devsetup), you should also periodically
[sync it with the main repository](https://help.github.com/articles/syncing-a-fork/).
[sync it with the main repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork).
`git imp update` is similar but will also show you any new entries from
the changelog.

Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/benchmark/benchmark_grid_traversal.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/
#include <IMP/benchmark/benchmark_config.h>
#include <IMP/benchmark/benchmark_macros.h>
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/benchmark/benchmark_knn.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/

#include <IMP/algebra.h>
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/benchmark/benchmark_rotate.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/
#include <IMP/algebra.h>
#include <boost/timer.hpp>
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/benchmark/benchmark_surface.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/**
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/

#include <IMP/algebra/connolly_surface.h>
Expand Down
4 changes: 2 additions & 2 deletions modules/algebra/examples/grid.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* \example grid.cpp
* \brief Show some of the basics of using a grid from C++.
*
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*
*/
#include <IMP/algebra/standard_grids.h>
Expand All @@ -26,7 +26,7 @@ int main(int argc, char *argv[]) {
double> Grid;
Grid grid(1, bb, 0);
// fill it with a gradient
IMP_FOREACH(Grid::Index i, grid.get_all_indexes()) {
for(Grid::Index i : grid.get_all_indexes()) {
IMP::algebra::Vector3D c = grid.get_center(i);
grid[i] = IMP::algebra::get_distance(c, IMP::algebra::Vector3D(10, 10, 10));
}
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/include/BoundingBoxD.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/BoundingBoxD.h \brief A bounding box in D dimensions.
*
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*
*/

Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/include/Cone3D.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* \file IMP/algebra/Cone3D.h
* \brief Represent a cone in 3D.
*
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/

#ifndef IMPALGEBRA_CONE_3D_H
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/include/Cylinder3D.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* \file IMP/algebra/Cylinder3D.h
* \brief Represent a cylinder in 3D.
*
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*/

#ifndef IMPALGEBRA_CYLINDER_3D_H
Expand Down
2 changes: 1 addition & 1 deletion modules/algebra/include/Ellipsoid3D.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* \file IMP/algebra/Ellipsoid3D.h \brief Simple 3D ellipsoid class.
*
* Copyright 2007-2021 IMP Inventors. All rights reserved.
* Copyright 2007-2022 IMP Inventors. All rights reserved.
*
*/

Expand Down
Loading

0 comments on commit a573648

Please sign in to comment.