Usage
Installation
GPM requires Python 3.12 or higher. We recommend using UV for installation:
$ uv pip install gpm
Or install from source:
$ git clone https://github.com/chaochungkuo/GPM.git
$ cd GPM
$ uv pip install -e .
By default, some template data will be copied under ~/gpmdata/. If you want to change this behavior, please define GPMDATA:
$ export GPMDATA=/preferred/for/gpmdata
$ uv pip install gpm
You can test your installation by:
$ gpm --help
Configuration
GPM will copy the config files and the templates into ~/gpmdata/. Its structure is as below:
~/gpmdata/
├── analysis
├── config
│ ├── analysis.config
│ ├── environment.ini
│ ├── export.config
│ ├── gpm.ini
│ └── htaccess
├── demultiplex
└── processing
Here we would like to introduce you these 5 configuration files under ~/gpmdata/config. You can find all the explanation as comments in each file.
gpm.ini: Define the configurations for GPM itself globally.
environment.ini: Define the paths of programs or configuration for the machine where you run GPM.
analysis.config: This file define the group, name, and files for all analyses. This file doesn’t need to be modified in most cases, except you want to add new analysis.
export.config: This file define the behavior for
gpm export. This file doesn’t need to be modified in most cases, except you want to add new analysis.htaccess: This file will be copied into every export folder by
gpm export.
nextflow.config
GPM is able to manage both global and pipeline-specific nextflow.config file. Its approach is the followings:
If “nfcore” is included in the method, GPM will check:
If no pipeline-specific
nextflow.configexists, GPM will copy one fromGPMDATA/config/nextflow.configto the working processing method.If there is a pipeline-specific
nextflow.config, GPM will append the content ofGPMDATA/config/nextflow.configto the pipeline-specificnextflow.config.
Note that GPMDATA/config/nextflow.config can also be customized as GPMDATA/config/nextflow.config.user according to Customize your own config files. For example, some parameters across the whole server (max_time or max_cpus) can be defined in GPMDATA/config/nextflow.config. Some pipeline specific parameters can be defined in each method folder in nfcore_*/nextflow.config.