All Projects → Hoohm → Dropseqpipe

Hoohm / Dropseqpipe

Licence: cc-by-sa-4.0
A SingleCell RNASeq pre-processing snakemake workflow

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Dropseqpipe

pipeline
Spline is a tool that is capable of running locally as well as part of well known pipelines like Jenkins (Jenkinsfile), Travis CI (.travis.yml) or similar ones.
Stars: ✭ 29 (-75.63%)
Mutual labels:  yaml, pipeline
sigstar
add significance stars to MATLAB plots
Stars: ✭ 33 (-72.27%)
Mutual labels:  plot, star
smag
Show Me A Graph - Command Line Graphing
Stars: ✭ 78 (-34.45%)
Mutual labels:  pipeline, plot
pipeline-as-yaml-plugin
Jenkins Pipeline As Yaml Plugin
Stars: ✭ 111 (-6.72%)
Mutual labels:  yaml, pipeline
Ttyplot
a realtime plotting utility for terminal/console with data input from stdin
Stars: ✭ 532 (+347.06%)
Mutual labels:  pipeline, plot
Ugene
UGENE is free open-source cross-platform bioinformatics software
Stars: ✭ 112 (-5.88%)
Mutual labels:  pipeline
Gray Matter
Contributing Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Stars: ✭ 2,105 (+1668.91%)
Mutual labels:  yaml
Java Ascii Render
ASCII renderer in pure java with no external dependencies
Stars: ✭ 112 (-5.88%)
Mutual labels:  plot
Yamllint
A linter for YAML files.
Stars: ✭ 1,750 (+1370.59%)
Mutual labels:  yaml
Steppy
Lightweight, Python library for fast and reproducible experimentation 🔬
Stars: ✭ 119 (+0%)
Mutual labels:  pipeline
Config Lint
Command line tool to validate configuration files
Stars: ✭ 118 (-0.84%)
Mutual labels:  yaml
Dynaconf
Configuration Management for Python ⚙
Stars: ✭ 2,082 (+1649.58%)
Mutual labels:  yaml
Jmathplot
Java interactive 2D and 3D plots (no OpenGL)
Stars: ✭ 113 (-5.04%)
Mutual labels:  plot
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+1190.76%)
Mutual labels:  pipeline
Datafiles
A file-based ORM for Python dataclasses.
Stars: ✭ 113 (-5.04%)
Mutual labels:  yaml
Argos
Argos: a data viewer that can read HDF5, NetCDF4, and other file formats.
Stars: ✭ 118 (-0.84%)
Mutual labels:  plot
Jobfunnel
Scrape job websites into a single spreadsheet with no duplicates.
Stars: ✭ 1,528 (+1184.03%)
Mutual labels:  yaml
Just Dashboard
📊 📋 Dashboards using YAML or JSON files
Stars: ✭ 1,511 (+1169.75%)
Mutual labels:  yaml
Chain.jl
A Julia package for piping a value through a series of transformation expressions using a more convenient syntax than Julia's native piping functionality.
Stars: ✭ 118 (-0.84%)
Mutual labels:  pipeline
Implot
Immediate Mode Plotting
Stars: ✭ 2,014 (+1592.44%)
Mutual labels:  plot

Snakemake Build Status

Description

This pipeline is based on snakemake and the dropseq tools provided by the McCarroll Lab. It allows to go from raw data of your Single Cell RNA seq experiment until the final count matrix with QC plots along the way.

This is the tool we use in our lab to improve our wetlab protocol as well as provide an easy framework to reproduce and compare different experiments with different parameters.

It uses STAR to map the reads. It is usable for any single cell protocol using two reads where the first one holds the Cell and UMI barcodes and the second read holds the RNA. Here is a non-exhausitve list of compatible protocols/brands:

This package is trying to be as user friendly as possible. One of the hopes is that non-bioinformatician can make use of it without too much hassle. It will still require some command line execution, this is not going to be fully interactive package.

Authors

Usage

Step 1: Install workflow

If you simply want to use this workflow, download and extract the latest release. If you intend to modify and further develop this workflow, fork this reposity. Please consider providing any generally applicable modifications via a pull request.

In any case, if you use this workflow in a paper, don't forget to give credits to the authors by citing the URL of this repository and, once available, its DOI.

Step 2: Configure workflow

Configure the workflow according to your needs via editing the file config.yaml and the samples.tsv following those instructions

Step 3: Execute workflow

All you need to execute this workflow is to install Snakemake via the Conda package manager. Software needed by this workflow is automatically deployed into isolated environments by Snakemake.

Test your configuration by performing a dry-run via

snakemake --use-conda -n --directory $WORKING_DIR

Execute the workflow locally via

snakemake --use-conda --cores $N --directory $WORKING_DIR

using $N cores on the $WORKING_DIR. Alternatively, it can be run in cluster or cloud environments (see the docs for details).

If you not only want to fix the software stack but also the underlying OS, use

snakemake --use-conda --use-singularity

in combination with any of the modes above.

Step 4: Investigate results

After successful execution, you can create a self-contained report with all results via:

snakemake --report report.html

Documentation

You can find the documentation here

Future implementations

I'm actively seeking help to implement the points listed bellow. Don't hesitate to contact me if you wish to contribute.

  • Create a sharing platform where quality plots/logs can be discussed and troubleshooted.
  • Create a full html report for the whole pipeline
  • Multiqc module for drop-seq-tools
  • Implement an elegant "preview" mode where the pipeline would only run on a couple of millions of reads and allow you to have an approximated view before running all of the data. This would dramatically reduce the time needed to get an idea of what filters whould be used.

I hope it can help you out in your single cell experiments!

Feel free to comment and point out potential improvements via issues

TODO

  • Add a mixed reference reference for testing purposes
  • Finalize the parameters validation schema
  • Make the debug feature a bit "cleaner". Deal with automatic naming of the debug variables
  • Implement ddseq barcoding strategies
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].