All Projects → seandavi → Serpentine

seandavi / Serpentine

Licence: mit

Programming Languages

python
139335 projects - #7 most used programming language

Introduction

Serpentine is a project that leverages the snakemake workflow management to create a flexible, efficient, and highly parallelizable pipelines for data analysis. The current focus is on DNA sequence analysis, but there is no limitation on the workflows that can be implemented. We have definite plans for RNA-seq and combined RNA/DNA pipelines in the works. Additional pipeline suggestions are welcome.

Current capabilities

Serpentine can currently run workflows composed of any combination of the following steps. The steps are run in a fully-parallel manner based on job dependencies and available resources. The whole process is driven by a json config file (example config file).

  • aligners:
    • novoalign
    • bwa-mem
  • postprocessing:
    • Duplicate marking
    • realignment around indels
    • base quality recalibration
  • variant callers:
    • germline:
      • UnifiedGenotyper
      • HaplotypeCaller
      • Freebayes
      • platypus
      • pindel
  • metrics:
    • insert size
    • quality metrics
    • alignment summary metrics
    • duplication metrics

Graphical representation of variant calling workflow

=======

Installation

The easiest way to get serpentine is to clone the repository.

git clone https://github.com/NCI-CCR-GB/serpentine.git

Contributing

To contribute to the project, you can:

  1. File a new issue
  2. Fork the repository, make changes, and then make a pull request.

If you have questions, file a new issue and label as a question or email me.

Conventions

  • Sample names cannot have "/" or "." in them
  • fastq files end in ".fastq.gz"

output locations

Config file example

An example config file is available here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].