Skip to content

Serpentine is a growing collection of rules and workflows for NGS data processing.

License

Notifications You must be signed in to change notification settings

NCI-CCR-GB/serpentine

 
 

Repository files navigation

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.

About

Serpentine is a growing collection of rules and workflows for NGS data processing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.8%
  • Shell 7.2%