The CCP-EM software suite makes use of many Open Source components, detailed below. We are grateful to the developers of all these packages whose work allows us to build our software.
CCP-EM v2: Doppio
CCP-EM v2 uses an extensible architecture with three layers: Doppio, the web-based user interface; the CCP-EM Pipeliner, a Python library that provides project and job management along with many other functions; and a wide spectrum of additional software packages that the Pipeliner can use if they are found to be available.
Doppio
The Doppio GUI is distributed under the terms of the CCP-EM Licence (see details here). It makes use of many Open Source components. The major ones are as follows:
Software | Licence type | Links |
---|---|---|
Axios | MIT | Home page, npm page |
Electron | MIT | Home page, npm page |
FastAPI | MIT | Home page, PyPI page |
Material UI | MIT | Home page, npm page |
Mol* | MIT | Home page, npm page |
Moorhen | BSD | Home page, npm page |
Plotly.js | MIT | Home page, npm page |
Pydantic | MIT | Documentation, PyPI page |
React | MIT | Home page, npm page |
React Redux | MIT | Home page, npm page |
React Router | MIT | Home page, npm page |
Redux Toolkit | MIT | Home page, npm page |
TypeScript | Apache | Home page, npm page |
Uvicorn | BSD | Home page, PyPI page |
The CCP-EM Pipeliner
The CCP-EM Pipeliner is a fully Open Source package which is available under the Mozilla Public Licence v2.0 from https://gitlab.com/ccpem/ccpem-pipeliner.
Installing it (for example with pip
) will automatically install various dependencies which all have MPL-compatible Open Source licences.
The Pipeliner (in conjunction with additional packages as described below) provides all of the functionality necessary to run a full CCP-EM data processing project. As such, if you are happy working without a GUI, it provides a fully Open Source way to obtain and run the CCP-EM software suite.
Additional packages
The CCP-EM Pipeliner makes use of various additional software package in order to run data processing jobs. A few jobs are built into the Pipeliner itself, but for most serious data processing (for example, cryo-EM image processing or atomic model building) some external packages will be needed. Most of them are also fully Open Source.
The list of supported software is always growing and an up-to-date list can be found in the Doppio documentation. Some of the major packages are:
CCP-EM v1
Version 1 of the CCP-EM suite is no longer actively maintained, but it is still available to download from the downloads page.
Because CCP-EM v1 is distributed as a single package containing all of its dependencies, the list of Open Source components included in it is long.
Software | Licence type | Links |
---|---|---|
3D-Strudel | Apache | PyPI page |
apipkg | MIT | PyPI page |
ATK | LGPL | Code repository |
atomicwrites | MIT | PyPI page |
attrs | MIT | PyPI page |
Biopython | MIT | PyPI page |
Boost | BSD | Home page |
bzip2 | BSD | Home page |
Cairo | LGPL | Home page |
CCP4 Monomer Library | LGPL | Home page |
CCP4 SRS | LGPL | CCP4 home page, Code repository |
Clipper | LGPL | Home page |
Clipper-Python | LGPL | PyPI page |
CMake | BSD | Home page |
configparser | MIT | PyPI page |
ConKit | BSD | Home page |
contextlib2 | Apache | PyPI page |
Coot | GPL | Home page |
cryoEF | MIT | Code repository |
curl | MIT | Home page |
cycler | BSD | PyPI page |
Cython | Apache | PyPI page |
EMDA | MPL | PyPI page |
enum34 | BSD | PyPI page |
execnet | MIT | PyPI page |
FDRthresholding | BSD | Code repository |
FFTW 2 and 3 | GPL | Home page |
FLTK | GPL | Home page |
freeglut | MIT | Home page |
FreeType | BSD | Home page |
functools32 | PSF | PyPI page |
Gdk-Pixbuf | GPL | Documentation |
GEMMI | MPL | Home page |
gettext | GPL | Home page |
GLib | LGPL | Code repository |
GMP | LGPL | Home page |
GooCanvas | LGPL | Code repository |
GSL | GPL | Home page |
GTK 2 | LGPL | Home page |
GtkGlExt | LGPL | Home page |
Guile | LGPL | Home page |
Guile-Gtk | GPL | Home page |
Guile-Lib | GPL | Home page |
importlib-metadata | Apache | PyPI page |
intltool | GPL | Home page |
Kiwi | BSD | PyPI page |
LAFTER | GPL | Code repository |
LAPACK | BSD | Home page |
libart_lgpl | LGPL | Code repository |
libccp4 | LGPL | CCP4 home page, Code repository |
libcroco | LGPL | Code repository |
libffi | MIT | Home page |
libglade | LGPL | Code repository |
libgnomecanvas | LGPL | Code repository |
libjpeg | IJG (BSD-like) | Home page |
libpng | BSD | Home page |
librsvg | LGPL | Code repository |
LibTIFF | MIT | Home page |
Libtool | GPL | Home page |
libxml2 | MIT | Home page |
libxslt | MIT | Home page |
LocScale | BSD | Code repository |
lxml | BSD | Home page |
Matplotlib | PSF | Home page |
mmdb2 | LGPL | CCP4 home page, Code repository |
more-itertools | MIT | PyPI page |
mpi4py | BSD | PyPI page |
mrcfile | BSD | Code repository |
MRC Image Processing System | None | Home page |
NumPy | BSD | Home page |
OpenMP | Apache | Code repository |
Open MPI | BSD | Home page |
OpenSSL | BSD | Home page |
packaging | BSD | PyPI page |
pandas | BSD | Home page |
Pango | LGPL | Code repository |
pangox-compat | LGPL | Code repository |
pathlib2 | MIT | PyPI page |
PI-score | BSD | Code repository |
Pillow | MIT | Home page |
pip | MIT | Home page |
Pixman | MIT | Home page |
pkgconf | MIT | Code repository |
pluggy | MIT | PyPI page |
Privateer | LGPL | Code repository |
ProSHADE | GPL | Home page, Code repository |
psutil | BSD | PyPI page |
py | MIT | PyPI page |
pybind11 | BSD | Code repository |
pyFFTW | BSD | PyPI page |
pycairo | LGPL | Home page |
PyGObject | LGPL | Home page |
PyGTK | LGPL | Code repository |
PyParsing | MIT | PyPI page |
PyQt 4 | GPL | Home page |
pytest | MIT | Home page |
pytest-forked | MIT | PyPI page |
pytest-timeout | MIT | PyPI page |
pytest-xdist | MIT | PyPI page |
Python 2 | PSF | Home page |
python-dateutil | BSD | PyPI page |
pytz | MIT | PyPI page |
Qt 4 | LGPL | Home page |
Readline | GPL | Home page |
RELION 4.0 | GPL | Documentation |
RIBFIND | GPL | Home page |
RDKit | BSD | Home page |
rvapi | LGPL | Code repository |
scandir | BSD | PyPI page |
scikit-learn | BSD | PyPI page |
SciPy | BSD | Home page |
Servalcat | MPL | Code repository |
Setuptools | MIT | Home page |
setuptools-scm | MIT | PyPI page |
sfftk | Apache | Documentation |
SIDESPLITTER | GPL | Code repository |
SIP | BSD | PyPI page |
Six | MIT | PyPI page |
SOFT | GPL | Code repository |
ssm | LGPL | CCP4 home page, Code repository |
SQLite | Public Domain | Home page |
SWIG | GPL | Home page |
wcwidth | MIT | PyPI page |
xssp | GPL | Code repository |
zipp | MIT | PyPI page |
zlib | zlib (MIT-like) | Home page |