Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pwwang/pyppl_require
Process requirement manager for PyPPL
https://github.com/pwwang/pyppl_require
Last synced: 14 days ago
JSON representation
Process requirement manager for PyPPL
- Host: GitHub
- URL: https://github.com/pwwang/pyppl_require
- Owner: pwwang
- License: mit
- Created: 2019-12-12T19:50:11.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-06-06T04:42:06.000Z (over 4 years ago)
- Last Synced: 2024-12-10T04:27:01.855Z (24 days ago)
- Language: Python
- Size: 43 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pyppl_require
Requirement manager for [PyPPL](https://github.com/pwwang/PyPPL).
## Installation
It requires [pyppl_annotate](https://github.com/pwwang/pyppl_annotate).
```shell
pip install pyppl_require
```## Usage
```shell
> pyppl require
Description:
Process requirement managerUsage:
pyppl require <--pipe AUTO> [OPTIONS]Required options:
-p, --pipe - The pipeline script.Optional options:
--install - Install the requirements.
You can specify a directory (default: $HOME/bin) to install the \
requirements.
Default: None
-h, -H, --help - Show help message and exit.
```To allow your processes to be analyzed, you have to put a section in annotate using `toml` format:
```python
pXXX.config.annotate = """
@requires:
[bedtools]
validate: "bedtools --version"
install: "conda install -c bioconda bedtools"
# other annotations
"""
```If you want define those commands using process properties and aggrs:
```python
pXXX.config.annotate = """
@requires:
[bedtools]
validate: "{{args.bedtools}} --version"
install: "conda install -c bioconda bedtools"
# other annotations
"""
```Install to a specify directory:
```python
pXXX.config.annotate = """
@requires:
[bedtools]
validate: "{{args.bedtools}} --version"
install: "conda install -c bioconda bedtools; ln -s $(which bedtools) {{bindir}}/bedtools"
# other annotations
"""
````{{bindir}}` will be the directory passed to the command line.
```shell
pyppl require --pipe --install
```