Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ For any questions, drop us a ping in [OpenMS Gitter](https://gitter.im/OpenMS/Op
- See Also
Example of these are present in documentation, please follow them.
11. Always specify lexers for code blocks.
12. Format keyboard strokes using `<kbd>qwerty-keyboard-button</kbd>`.
12. Format keyboard strokes using `<kbd>qwerty-keyboard-button</kbd>`, as an example, please see [this](../docs/tutorials/TOPP/hotkeys-table.md) file.
13. Be nice, polite, and respectful.

### Naming files
Expand Down
4 changes: 0 additions & 4 deletions conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@
copyright = '2022, OpenMS Team'
author = 'OpenMS Team'

# The full version, including alpha/beta/rc tags
release = '2.8.0'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
Expand Down
6 changes: 3 additions & 3 deletions docs/additional-resources/external-code-using-openms.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,14 +105,14 @@ well, and manually copy the new executable to the `TOPP/UTILS` binary directory

If you do NOT use the installer, copy all required files manually, plus a few extra steps, see below. What needs to be
done is a little platform dependent, thus very cumbersome to explain. Look at the cmake installer scripts, to see whats
required (for Mac and Linux see `OpenMS/cmake/package*.cmake`).
required (for macOS and Linux see `OpenMS/cmake/package*.cmake`).

In short:

- copy the `OpenMS/share/OpenMS` directory to the client machine (e.g `<client/my_dir>/share`) and set the environment
variable `OPENMS_DATA_PATH` to this directory
- copy the OpenMS library (`OpenMS.dll` for Windows or `OpenMS.so/.dylib` for Linux/Mac) to `<client/my_dir>/bin`.
- copy all Qt4 libraries to the client `<client/my_dir>/bin` or on Linux/Mac make sure you have installed the Qt4 package
- copy the OpenMS library (`OpenMS.dll` for Windows or `OpenMS.so/.dylib` for Linux/macOS) to `<client/my_dir>/bin`.
- copy all Qt4 libraries to the client `<client/my_dir>/bin` or on Linux/macOS make sure you have installed the Qt4 package
- [Windows only] copy Xerces dll (see `contrib/lib`) to `<client/my_dir>/bin`
- [Windows only] install the VS redistributable package (see Microsoft Homepage) on the client machine which corresponds
to the VS version that was used to compile your code (use the correct redistributable package!, i.e., architecture
Expand Down
115 changes: 0 additions & 115 deletions docs/advanced-resources/build-custom-openms-knime-package.md

This file was deleted.

50 changes: 0 additions & 50 deletions docs/faqs/contributor-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,6 @@ the `CMakeCache.txt` file directly.
Type `cmake` into a console. This will list the available code generators available on your platform, pass them to `CMake`
using the `-G` option.

### How do I switch to debug or release configuration?

For Makefile generators (typically on Linux), set the `CMAKE_BUILD_TYPE` variable to either Debug or Release by calling
`ccmake`. For Visual Studio, this is not necessary as all configurations are generated and choose the one you like within
the IDE itself. The 'Debug' configuration enabled debug information. The 'Release' configuration disables debug
information and enables optimisation.

### How do I add a new class to the build system?

1. Create the new class in the corresponding sub-folder of the sub-project. The header has to be created in
Expand Down Expand Up @@ -132,15 +125,6 @@ Dump a core if an uncaught exception occurs, by setting the environment variable
Each time an uncaught exception occurs, the `OPENMS_DUMP_CORE` variable is checked and a segmentation fault is caused,
if it is set.

### (Linux) Why is no core dumped, although a fatal error occured?

The `ulimit -c` unlimited command. It sets the maximum size of a core to unlimited.

```{attention}
We observed that, on some systems, no core is dumped even if the size of the core file is set to unlimited. We are not
sure what causes this problem
```

### (Linux) How can I set breakpoints in gdb to debug OpenMS?

Debug the TOPPView application to stop at line 341 of SpectrumMDIWindow.C.
Expand Down Expand Up @@ -169,40 +153,6 @@ Debug the TOPPView application to stop at line 341 of SpectrumMDIWindow.C.
gdb> run
```

## Cross-platform thoughts

OpenMS runs on three major platforms. Here are the most prominent causes of "it runs on Platform A, but not on B. What now?"

### Reading or writing binary files

Reading or writing binary files causes different behaviour. Usually Linux does not make a difference between text-mode
and binary-mode when reading files. This is quite different on Windows as some bytes are interpreted as `EOF`, which
lead might to a premature end of the reading process.

If reading binary files, make sure to explicitly state that the file is binary when opening it.

During writing in text-mode on Windows a line-break (`\n`) is expanded to (`\r\n`). Keep this in mind or use the
`eol-style` property of subversion to ensure that line endings are correctly checked out on non-Windows systems.

### `UInt` vs `Size`

Both `unsigned int` vs `size_t` `UInt` and `Size` have the same size on Linux GCC (32 bit on 32 bit systems, 64 bit on
64 bit systems), however on Windows this only holds for 32 bit. On a 64 bit Windows, the `UInt` type is still 32 bit,
while the `Size` type is 64bit. This might lead to warnings (at best) or overflows and other drawbacks.

Therefore, do not assume that `UInt` is equal to `Size`.

### Paths and system functions

Avoid hardcoding e.g.`String tmp_dir = "/tmp";`. This will fail on Windows. Use Qt's `QDir` to get a path to the systems
temporary directory if required.

Avoid names like uname which are only available on Linux.

When working with files or directories, it is usually safe to use "/" on all platforms. Take care of spaces in directory
names though. Always quote paths if they are used in a system call to ensure that the subsequent interpreter
takes the spaced path as a single entity.

## Doxygen Documentation

### Where can I find the definition of the main page?
Expand Down
7 changes: 3 additions & 4 deletions docs/guides/contributors-quickstart-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ To contribute to OpenMS:
- Learn how to [build OpenMS](../installations/build-openms-from-source.md).
- Check out the [OpenMS tutorial for developers](https://abibuilder.informatik.uni-tuebingen.de/archive/openms/Documentation/release/latest/html/OpenMS_tutorial.html).

For any questions, please [contact us](../contact-us.md) at [open-ms-general](https://sourceforge.net/projects/open-ms/lists/open-ms-general) mailing list.
For any questions, please [contact us](../contact-us.md).

## Technical documentation

Expand Down Expand Up @@ -47,8 +47,7 @@ See the manual for coding style recommended by OpenMS: [Coding conventions](http
```

OpenMS automatically tests for common coding convention violations using a modified version of `cpplint`.
Style testing can be enabled using `cmake` options. We also provide a configuration file for `Uncrustify` for automated
style corrections (see `tools/uncrustify.cfg`).
Style testing can be enabled using `cmake` options. [clang-format](https://github.com/OpenMS/OpenMS/blob/develop/.clang-format) is used for formatting the cpp code.

### Commit messages

Expand All @@ -68,7 +67,7 @@ Nightly tests: [CDASH](http://cdash.openms.de/index.php?project=OpenMS).

Consider the following resources for further information:

- **Guidelines for adding new dependency libraries**: View the guidelines for [adding new dependency libraries]().
- **Guidelines for adding new dependency libraries**: View the guidelines for [adding new dependency libraries](../additional-resources/developer-guidelines-for-addding-new-dependent-libraries.md).
- **Experimental installers**: We automatically build installers for different platforms. These usually contain
unstable or partially untested code.
The nightly (unstable) installers are available at the [build archive](https://abibuilder.informatik.uni-tuebingen.de/archive/openms/OpenMSInstaller/nightly/).
Expand Down
2 changes: 1 addition & 1 deletion docs/installations/build-openms-from-source.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Build OpenMS From Source
Build OpenMS from Source
========================

To build OpenMS, please follow the build instructions for:
Expand Down
29 changes: 24 additions & 5 deletions docs/installations/installation-on-gnu-linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Installation on GNU/Linux

Use conda or bioconda to install OpenMS.

1. Follow the instructions to [install conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/macos.html).
1. Follow the instructions to [install conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html).
2. Install OpenMS using conda:
`conda install -c openms openms`
3. Other OpenMS packages can be installed using:
Expand All @@ -15,12 +15,27 @@ Use conda or bioconda to install OpenMS.
conda install -c openms libopenms
```

```{tab} openms
openms contains OpenMS C++ Tools.
```

```{tab} libopenms
libopenms is the C++ library required for the OpenMS C++ Tools to work.
```

```{tab} pyopenms
pyopenms is the python package that allows to use algorithms from libopenms in Python.
```

```{tab} openms-thirdparty
openms-thirdparty are external tools that are wrapped in OpenMS with adapters. This is required to use the adapters in
the openms package.
```

To install using bioconda:

```
conda install -c bioconda openms
conda install -c bioconda/label/cf201901 openms
conda install -c bioconda openms-tools
conda install -c bioconda libopenms
conda install -c bioconda openms-thirdparty
```
Expand Down Expand Up @@ -85,8 +100,12 @@ Some thirdparty software used via adapter tools in OpenMS might also require an

Make sure you have [Docker installed](https://docs.docker.com/engine/install/).

Our Docker support is constantly updated. Images can be obtained via [OpenMS Dockerhub](https://hub.docker.com/u/openms)
and [BioContainers Registeries](https://biocontainers.pro/registry).
Our Docker support is constantly updated. Images can be obtained via [ghcr.io](https://ghcr.io).

1. [openms-executables](https://ghcr.io/openms/openms-executables:latest)
2. [openms-library](https://ghcr.io/openms/openms-library:latest)

Or via [BioContainers Registeries](https://biocontainers.pro/registry).

1. [BioContainers libopenms](https://biocontainers.pro/tools/libopenms)
2. [BioContainers openms](https://biocontainers.pro/tools/openms)
Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/TOPP/hotkeys-table.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ TOPPView Hotkeys
| <kbd>CTRL</kbd> + <kbd>ALT</kbd> + <kbd>-</kbd> | 2D draw mode: decrease maximum point size (for raw peak scaling) |

```{tip}
kbd>Home</kbd> on macOS keyboards is also <kbd>Fn</kbd> + <kbd>ArrowLeft</kbd>. <kbd>End</kbd> on macOSX keyboards is also <kbd>Fn</kbd> + <kbd>ArrowRight</kbd>.
<kbd>Home</kbd> on macOS keyboards is also <kbd>Fn</kbd> + <kbd>ArrowLeft</kbd>. <kbd>End</kbd> on macOSX keyboards is also <kbd>Fn</kbd> + <kbd>ArrowRight</kbd>.
```

## Annotations in 1D view
Expand Down