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

169 fixed dependency versions #170

Merged
merged 18 commits into from
May 24, 2024
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/workflows/e2e_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
shell: bash -el {0}
run: |
cd misc
. ./loose_pip_install.sh $RUN_NAME
. ./pip_install.sh stable $RUN_NAME
- name: Run e2e tests
continue-on-error: True
shell: bash -el {0}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fdr_performance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ concurrency:

jobs:
fdr_performance_testing:
name: Loose pip installation
name: FDR performance testing
runs-on: AlphaDIA
env: # Or as an environment variable
NEPTUNE_API_TOKEN: ${{ secrets.NEPTUNE_FDR_TOKEN }}
Expand All @@ -32,7 +32,7 @@ jobs:
shell: bash -l {0}
run: |
cd misc
. ./loose_pip_install.sh
. ./pip_install.sh stable,test
- name: Run legacy classifier
env: # Or as an environment variable
NEPTUNE_API_TOKEN: ${{ secrets.NEPTUNE_FDR_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/performance_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ env:
NEPTUNE_TOKEN: ${{ secrets.NEPTUNE_TOKEN }}

jobs:
loose_installation:
performance_testing:
name: Performance testing
runs-on: self-hosted

Expand Down
63 changes: 34 additions & 29 deletions .github/workflows/pip_installation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,8 @@ concurrency:
cancel-in-progress: true

jobs:
#stable_installation:
# name: Test stable pip installation on ${{ matrix.os }}
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [ubuntu-latest, macOS-latest, windows-latest]
# steps:
# - uses: actions/checkout@v2
# - uses: conda-incubator/setup-miniconda@v2
# with:
# auto-update-conda: true
# python-version: ${{ matrix.python-version }}
# - name: Conda info
# shell: bash -l {0}
# run: conda info
# - name: Test pip installation with all stable dependencies
# shell: bash -l {0}
# run: |
# cd misc
# . ./stable_pip_install.sh
# - name: Unittests
# shell: bash -l {0}
# run: |
# cd tests
# . ./run_unit_tests.sh
loose_installation:
name: Test loose pip installation on ${{ matrix.os }}
stable_installation:
name: Test stable pip installation on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
Expand All @@ -55,13 +30,43 @@ jobs:
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Test pip installation with all loose dependencies
- name: Test pip installation with all stable dependencies
shell: bash -l {0}
run: |
cd misc
. ./loose_pip_install.sh
. ./pip_install.sh stable,test
- name: Unittests
shell: bash -l {0}
run: |
cd tests
. ./run_unit_tests.sh
# loose_installation:
# name: Test loose pip installation on ${{ matrix.os }}
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [ubuntu-latest, macos-13, windows-latest]
# steps:
# - uses: actions/checkout@v4
# - name: Setup pip cache
# uses: actions/cache@v3
# with:
# path: ~/.cache/pip
# key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements*.txt') }}
# - uses: conda-incubator/setup-miniconda@v3
# with:
# auto-update-conda: true
# python-version: ${{ matrix.python-version }}
# - name: Conda info
# shell: bash -l {0}
# run: conda info
# - name: Test pip installation with all loose dependencies
# shell: bash -l {0}
# run: |
# cd misc
# . ./pip_install.sh loose,test
# - name: Unittests
# shell: bash -l {0}
# run: |
# cd tests
# . ./run_unit_tests.sh
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \

COPY . .

RUN pip install .
RUN pip install ".[stable]"

USER alphadiauser

Expand Down
88 changes: 35 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,79 +46,60 @@

AlphaDIA can be installed on Windows, macOS and Linux. Please choose the preferred installation:

* [**One-click GUI install:**](#one-click-gui) Choose this installation if you only want the GUI and/or keep things as simple as possible. Currently available for **mac** and **windows**.
* [**One-click GUI installation:**](#one-click-gui-installation) Choose this installation if you only want the GUI and/or keep things as simple as possible.

* [**Developer install:**](#developer) Choose this installation if you are familiar with CLI tools, Conda and Python. This installation allows access to all available features of AlphaDIA and even allows to modify its source code directly. Generally, the developer version of AlphaDIA outperforms the precompiled versions which makes this the installation of choice for high-throughput experiments.
* [**Library and CLI installation:**](#library-and-cli-installation) Choose this installation if you want to use alphaDIA as a library or its command-line interface. You need to be familiar with CLI tools, Conda and Python.
It allows access to all available features of alphaDIA.

### One-click GUI install
* [**Developer installation:**](docs/installation.md#developer-installation) This installation allows to modify alphaDIA's source code directly. Generally, the developer version of alphaDIA outperforms the precompiled versions which makes this the installation of choice for high-throughput experiments.

* [**Docker installation:**](docs/installation.md#use-the-dockerized-version) Choose this for running alphaDIA in a Docker container, which is useful if you want to run it in a cloud environment.

You can download the latest release of alphaDIA [here](https://github.com/Mannlabs/alphadia/releases/latest).

* **Windows** Download the latest `win-x64` build. Save it and double click it to install. If you receive a warning during installation click *Run anyway*.
* **MacOS** Download the latest `darwin-arm64` build. Please note that alphaDIA currently requires an arm based M1/2/3 processor for the One-click installer. Save the installer and open the parent folder in Finder. Right-click or two finger click and select *open*. If you receive a warning during installation click *Open*.
### One-click GUI installation
Currently available for **MacOS** and **Windows**.
You can download the latest release of alphaDIA [here](https://github.com/Mannlabs/alphadia/releases/latest).

### Developer install
* **Windows:** Download the latest `win-x64` build. Save it and double click it to install. If you receive a warning during installation click *Run anyway*.
* **MacOS:** Download the latest `darwin-arm64` build. Please note that alphaDIA currently requires an ARM based M1/2/3 processor for the one-click installer and [mono](#setting-up-mono-macoslinux-only) to be installed. Save the installer and open the parent folder in Finder. Right-click and select *open*. If you receive a warning during installation click *Open*.

AlphaDIA can also be installed in editable (i.e. developer) mode with a few `bash` commands. This allows to fully customize the software and even modify the source code to your specific needs. When an editable Python package is installed, its source code is stored in a transparent location of your choice.
As of now, **Linux** users need follow the steps for the
[developer installation](docs/installation.md#developer-installation) in order to use the GUI.

#### 1. Prerequisite
Please make sure you have a valid installation of conda or miniconda. We recommend setting up miniconda as described on their [website](https://docs.conda.io/projects/miniconda/en/latest/).
### Library and CLI installation
If you want to use alphaDIA as a python library (e.g. for importing it into Jupyter notebooks) or only use the command-line interface,
you can install alphaDIA via `pip`. This is currently also the preferred way for Linux users that do not need the GUI.

If you want to use or extend the GUI, please install NodeJS as described on their [website](https://nodejs.org/en/download).
#### 1. Prerequisites
Please make sure you have a valid installation of conda or miniconda.
We recommend setting up miniconda as described on their [website](https://docs.conda.io/projects/miniconda/en/latest/).

If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. You can find the mono installation instructions [here](https://www.mono-project.com/download/stable/#download-lin). A detailed guide to installing alphaRaw can be found [here](https://github.com/MannLabs/alpharaw#installation).
##### Setting up mono [MacOS/Linux only]
If you want to use `.raw` files on Thermo instruments alphaRaw is required, which depends on Mono. A detailed guide to installing alphaRaw with mono can be found [here](https://github.com/MannLabs/alpharaw#installation).

#### 2. Setting up the environment

For any Python package, it is highly recommended to use a separate [conda virtual environment](https://docs.conda.io/en/latest/), as otherwise dependancy conflicts can occur with already existing packages.

```bash
conda create --name alpha python=3.9 -y
conda activate alpha
```

#### 3. Setting up the repository
***Depending on the state of the project the repository might not be public yet. In this case it is required that you generate a ssh key and link it to you GitHub account. [More](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account)***

Navigate to a folder where you would like to install alphaDIA
```bash
cd ~/Documents/git
```

Next, download the alphaDIA repository from GitHub with a `git` command. This creates a new alphaDIA subfolder in your current directory.

```bash
git clone [email protected]:MannLabs/alphadia.git
cd alphadia
conda create --name alphadia python=3.9 -y
conda activate alphadia
```

Switch to development branch and pull the most recent version.
Finally, alphaDIA and all its dependencies can be installed by
```bash
git switch development
git pull
pip install alphadia[stable]
```
We strongly recommend using the `stable` version, which has all dependencies fixed,
for reasons of reproducibility and integrity.

#### 4. Installation
Alternatively, use
`pip install alphadia`, which comes with less version constraints. This is not recommended, but may be useful to avoid
version clashes if alphaDIA is imported as a library into a defined python requirement.
Note however, that this "loose" version might be affected e.g. by breaking changes of third-party dependencies.

Finally, alphaDIA and all its dependencies need to be installed. To take advantage of all features use the `-e` flag for a development install.

```bash
pip install -e .
```

***By using the editable flag `-e`, all modifications to the [alphaDIA source code folder](alphadia ) are directly reflected when running alphaDIA. Note that the alphaDIA folder cannot be moved and/or renamed if an editable version is installed.***

If you want to use the GUI you will need to install all frontend packages using npm.

```bash
cd gui
npm install
```

The GUI can be started by typing
```bash
npm run dev
```
Finally, run `alphadia -v` to check if the installation was successful;
`alphadia -h` will give you a list of command-line options.

---
## Getting started
Expand Down Expand Up @@ -162,7 +143,7 @@ In case of issues, check out the following:
---
## Citations

There are currently no plans to draft a manuscript.
There are currently only vague plans to draft a manuscript.

---
## How to contribute
Expand All @@ -173,6 +154,7 @@ If you like this software, you can give us a [star](https://github.com/MannLabs/
## Changelog

See the [HISTORY.md](HISTORY.md) for a full overview of the changes made in each version.

---
## About

Expand Down
Loading
Loading