Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lcsb-biocore/cufluxsampler.jl
GPU-accelerated algorithms for flux sampling in CUDA.jl
https://github.com/lcsb-biocore/cufluxsampler.jl
cobra cuda gpu julia metabolic-network metabolism sampling
Last synced: 20 days ago
JSON representation
GPU-accelerated algorithms for flux sampling in CUDA.jl
- Host: GitHub
- URL: https://github.com/lcsb-biocore/cufluxsampler.jl
- Owner: LCSB-BioCore
- License: apache-2.0
- Created: 2023-01-19T07:41:10.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T12:14:35.000Z (6 months ago)
- Last Synced: 2024-11-20T00:15:34.816Z (about 1 month ago)
- Topics: cobra, cuda, gpu, julia, metabolic-network, metabolism, sampling
- Language: Julia
- Homepage:
- Size: 173 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CuFluxSampler.jl
| Documentation |
|:---:|
| [![stable documentation](https://img.shields.io/badge/docs-stable-blue)](https://lcsb-biocore.github.io/CuFluxSampler.jl/stable) [![dev documentation](https://img.shields.io/badge/docs-dev-cyan)](https://lcsb-biocore.github.io/CuFluxSampler.jl/dev) |Flux samplers for
[COBREXA.jl](https://github.com/LCSB-BioCore/COBREXA.jl/),
accelerated on GPUs via [CUDA.jl](https://github.com/JuliaGPU/CUDA.jl).The repository contains the following modules with samplers:
- Affine-combination-directed Hit&Run (module `CuFluxSampler.AffineHR`)
- Artificially-Centered Hit&Run (module `CuFluxSampler.ACHR`)Both modules export a specific function for running the sampler atop COBREXA.jl
`MetabolicModel` structure, typically called `sample`. See the code comments
and documentation for details.Samplers support many options that can be turned on and off, in general:
- Number of points used for mixing the new run directions in `AffineHR` may be
changed by `mix_points` parameter, and you can alternatively supply your own
mixing matrix in `mix_mtx`.
- You can turn on/off the stoichiometry checks with `check_stoichiometry` and
tune it with `epsilon` (in both `ACHR` and `AffineHR`)
- You can add tolerance bounds on stoichiometry in order to expand the feasible
region a little to allow randomized runs to succeed; see
`check_stoichiometry` and `direction_noise_max` parameters.
- You can set a seed for the GPU-generated random numbers using `seed`Running the package code and tests requires a CUDA-capable GPU.
#### Acknowledgements
`CuFluxSampler.jl` was developed at the Luxembourg Centre for Systems
Biomedicine of the University of Luxembourg
([uni.lu/lcsb](https://www.uni.lu/lcsb)).
The development was supported by European Union's Horizon 2020 Programme under
PerMedCoE project ([permedcoe.eu](https://www.permedcoe.eu/)),
agreement no. 951773.