-
Notifications
You must be signed in to change notification settings - Fork 0
Rust backend for Peptonizer2000 #4
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
Open
SimonVandeVyver
wants to merge
75
commits into
master
Choose a base branch
from
rust-wasm
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
75 commits
Select commit
Hold shift + click to select a range
6c7a7bd
split taxa weighting in typescript version
SimonVandeVyver 1f562d3
setup rustwasm in peptonizer
SimonVandeVyver 6db9dfb
add rust target and lock file to gitignore
SimonVandeVyver 3a7a345
weight taxa up to lineage creation with HTTP posts to unipept
SimonVandeVyver e06ad10
Implemented weighted random sampling
SimonVandeVyver aa20894
perform taxa weighing without returning as csv
SimonVandeVyver d533d3a
taxa weights in rust
SimonVandeVyver 5970299
deduplicate sampled sequences more convenient
SimonVandeVyver 3a91455
make rust code available in snakemake
SimonVandeVyver 1315ffe
cleanup bindings in lib.rs
SimonVandeVyver e3fe727
parse factorgraph in rust
SimonVandeVyver 5e0ae96
zero lookahead belief propagation up to updating node categories
SimonVandeVyver d8371fc
restructure code to use own graph implementation
SimonVandeVyver 45e7fe2
bugfix graph creation
SimonVandeVyver 84fa094
start initialization Messages
SimonVandeVyver 4e3b87c
merge master with rust-wasm
SimonVandeVyver d6e1e86
merge master into rust-wasm
SimonVandeVyver 1952168
bugfix in perform_taxa_weighing
SimonVandeVyver 784f5e9
initialize Messages
SimonVandeVyver 0c46f29
compute message variable + factor
SimonVandeVyver c7e50d0
First 5 BP iterations
SimonVandeVyver 6e1e32f
implementation algorithm (not working yet)
SimonVandeVyver 186ba7c
Post-processing of belief propagation (not working yet)
SimonVandeVyver 273628b
bugfixes executePepGM
SimonVandeVyver c265e0c
merge master changes into rust-wasm branch
SimonVandeVyver b2372d6
adjustments to make it work locally
SimonVandeVyver b54067e
implemented peptide to taxa mapping phase
SimonVandeVyver a70f671
Graph generation - part 1
SimonVandeVyver a25bb9a
Factor graph generation part 2
SimonVandeVyver 007b273
remove unused imports + taxa clustering
SimonVandeVyver 46ec4ac
Computing goodness
SimonVandeVyver a0c5120
Use Rust code in snakemake workflow
SimonVandeVyver 47b7dfc
Add documentations to rust code
SimonVandeVyver 464c103
Add documentations to rust code
SimonVandeVyver 7a7350e
Add test suite to rust codebase
SimonVandeVyver 4995d03
Remove loading of Python environment
SimonVandeVyver 9b7412c
improve error handling
SimonVandeVyver b084a62
improve random sampling taxa
SimonVandeVyver bfd0d17
optimizing pepgm code: fetching neighbors ids, priority queues, sum l…
SimonVandeVyver 5e72482
Optimizing the rust code: minimizing copies, simplifying where possib…
SimonVandeVyver 1625694
Optimising Rust code: Storing neighbor indices in edges
SimonVandeVyver 6f0fd63
Rust code optimisation: use with_capacity for initialisation of vectors
SimonVandeVyver 7d2607b
use usize io i32 for identifiers
SimonVandeVyver d2b6930
bugfixes + clean up
SimonVandeVyver 8c50647
fix tests
SimonVandeVyver 2636323
update documentation
SimonVandeVyver 10faaa9
Update message computation methods, according to algorithm
SimonVandeVyver 9984c5c
integrate NORI in peptonizer rust implementation
SimonVandeVyver 8c27b14
Remove code for belief propagation
SimonVandeVyver 8b066fa
cleanup peptonizer_rust + adapt peptonizer_rust for python target + a…
SimonVandeVyver ee11b2b
Use published NORI crate
SimonVandeVyver 164b47e
Cleanup after using rust peptonizer
SimonVandeVyver 932ea45
add github workflow to generate wheel files
SimonVandeVyver ff476db
Add Python 3.12 setup to wheels.yml
SimonVandeVyver e0edf8b
Remove openssl dependency
SimonVandeVyver 0881024
Merge branch 'rust-wasm' of github.com:compomics/Peptonizer2000 into …
SimonVandeVyver 0989553
Modify workflow to build wheels and commit output
SimonVandeVyver 8cba997
Update wheel file path in GitHub Actions workflow
SimonVandeVyver 9602782
Update .gitignore to remove dist
SimonVandeVyver da9700b
Update wheels for macos-latest [skip ci]
invalid-email-address 2732349
update wheels action
SimonVandeVyver 7658f63
merge
SimonVandeVyver 41285c6
Update wheels [skip ci]
invalid-email-address 1302e36
use auto-generated wheel files + make wheel files for more platforms
SimonVandeVyver 7aa55b1
only build wheels for 3 main platforms
SimonVandeVyver e0ec223
Update wheels [skip ci]
invalid-email-address d87c185
Expand github workflow to 5 platforms
SimonVandeVyver e406f98
Merge branch 'rust-wasm' of github.com:compomics/Peptonizer2000 into …
SimonVandeVyver dbe19c1
remove python peptonizer
SimonVandeVyver 173cda8
change runners for github action
SimonVandeVyver a1c77f2
Update wheels [skip ci]
invalid-email-address a7a1b06
try to force python 3.12
SimonVandeVyver 27cafc5
Update wheels [skip ci]
invalid-email-address b529df4
remove wrong wheel files
SimonVandeVyver ff8d214
update readme for rust backend + add relative path to env.yml dependi…
SimonVandeVyver File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| name: Build Wheels | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - '**' | ||
| paths-ignore: | ||
| - 'peptonizer_rust/dist/**' | ||
|
|
||
| workflow_dispatch: | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| build: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - name: linux-x86 | ||
| runs-on: ubuntu-latest | ||
| python-version: "3.12" | ||
| - name: windows-x86 | ||
| runs-on: windows-latest | ||
| python-version: "3.12" | ||
| - name: macos-arm | ||
| runs-on: macos-latest | ||
| python-version: "3.12" | ||
| - name: macos-x86 | ||
| runs-on: macos-26-intel | ||
| python-version: "3.12" | ||
| - name: linux-arm | ||
| runs-on: ubuntu-24.04-arm | ||
| python-version: "3.12" | ||
|
|
||
| runs-on: ${{ matrix.runs-on }} | ||
|
|
||
| defaults: | ||
| run: | ||
| working-directory: peptonizer_rust | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: ${{ matrix.python-version }} | ||
|
|
||
| - uses: dtolnay/rust-toolchain@stable | ||
|
|
||
| - uses: PyO3/maturin-action@v1 | ||
| with: | ||
| command: build | ||
| manylinux: auto | ||
| working-directory: peptonizer_rust | ||
| args: --release --out dist -i python3.12 | ||
|
|
||
| - name: Upload wheels | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: wheels-${{ matrix.name }} | ||
| path: peptonizer_rust/dist/*.whl | ||
|
|
||
| commit-wheels: | ||
| needs: build | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Download all wheel artifacts | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| path: artifacts | ||
|
|
||
| - name: Copy wheels into repo | ||
| run: | | ||
| mkdir -p peptonizer_rust/dist | ||
| find artifacts -name "*.whl" -exec cp {} peptonizer_rust/dist/ \; | ||
|
|
||
| - name: Commit wheels | ||
| run: | | ||
| git config user.name "github-actions" | ||
| git config user.email "github-actions@github.com" | ||
|
|
||
| git add -f peptonizer_rust/dist/*.whl | ||
|
|
||
| git commit -m "Update wheels [skip ci]" || echo "Generate wheel files" | ||
|
|
||
| git push origin HEAD:${GITHUB_REF#refs/heads/} | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be updated because it causes the wheels to only work with Python 3.12 interpreters. Instead, we can configure maturin to built a wheel that works for all Python versions.
Explanation: