Skip to content

ht-diva/gwaspipe

Repository files navigation

GWASPipe

A Python tool, based on GWASLab, for assembling a computational pipeline to standardise, QC, harmonise, convert and plot summary statistics in genetic association studies (GWAS).

Table of Contents

Requirements

To use GWASPipe, you'll need:

  • Python 3.10 or higher
  • The following dependencies installed:
    • click for command-line interface
    • cloup for file handling and metadata management
    • loguru for logging
    • ruamel-yaml for YAML parsing and generation
    • pandas for data manipulation and analysis
    • pyarrow for high-performance data processing
    • numpy for numerical computations
    • matplotlib for plotting
    • gwaslab for handling sumstats

see pyproject.toml

Getting Started

You can use one of the following ways for installing Gwaspipe.

Installation via Conda/Mamba

  1. Clone the repository using Git: git clone https://github.com/your-username/gwaspipe.git
  2. Create a conda environment: conda env create -n gwaspipe -f environment.yml
  3. Activate it: conda activate gwaspipe
  4. Install gwaspipe: make install

This will install snakemake into an isolated software environment

  1. Run the tool: gwaspipe --help

Docker image

Gwaspipe is available also as a Dockerfile

  1. Build the image locally: docker build -t gwaspipe:latest .
  2. Run it: docker run -t -i gwaspipe:latest gwaspipe --help

The Linux OS image is available from the github packages repository: Docker image

Usage

GWASPipe provides a command-line interface (CLI) for easy usage. You can customize the behavior of the tool by providing configuration files in YAML format.

The CLI takes the following arguments:

  • -c or --config: Path to the configuration file
  • -i or --input: Path to the summary statistics file
  • -f or --format: Format of the input file (vcf, gwaslab, regenie, fastgwa, ldsc, fuma, pickle, metal_het)
  • -o or --output: Path where results should be saved
  • -s or --input_file_separator: Input file separator
  • -q or --quiet: Set log verbosity
  • --study_label: Input study label, valid only for VCF files
  • --pid: Preserve ID

Example configuration files are provided in the examples directory.

Example Configuration Files

The following example configuration files demonstrate how to customize GWASPipe:

Contributing

We welcome contributions to GWASPipe! If you'd like to contribute, please follow these guidelines:

  1. Fork the repository on GitHub: https://github.com/your-username/gwaspipe.git
  2. Create a new branch for your changes: git checkout -b feature/your-feature-name
  3. Make your changes and commit them: git add . && git commit -m "Your commit message"
  4. Push your changes to the remote repository: git push origin feature/your-feature-name
  5. Open a pull request on GitHub to propose your changes

We appreciate your contributions and look forward to seeing GWASPipe grow!

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •