All Projects → hyunhwan-jeong → SalmonTE

hyunhwan-jeong / SalmonTE

Licence: GPL-3.0 license
SalmonTE is an ultra-Fast and Scalable Quantification Pipeline of Transpose Element (TE) Abundances

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language
r
7636 projects

Projects that are alternatives of or similar to SalmonTE

TOGGLE
Toolbox for generic NGS analyses - A framework to quickly build pipelines and to perform large-scale NGS analysis
Stars: ✭ 18 (-71.43%)
Mutual labels:  pipeline, ngs-analysis
dnaPipeTE
dnaPipeTE (for de-novo assembly & annotation Pipeline for Transposable Elements), is a pipeline designed to find, annotate and quantify Transposable Elements in small samples of NGS datasets. It is very useful to quantify the proportion of TEs in newly sequenced genomes since it does not require genome assembly and works on small datasets (< 1X).
Stars: ✭ 28 (-55.56%)
Mutual labels:  pipeline, transposable-elements
EDTA
Extensive de-novo TE Annotator
Stars: ✭ 210 (+233.33%)
Mutual labels:  pipeline, transposable-elements
WebRISC-V
WebRISC-V: A Web-Based Education-Oriented RISC-V Pipeline Simulation Environment [PHP]
Stars: ✭ 74 (+17.46%)
Mutual labels:  pipeline
cloud-native-pipelines
Cloud-native pipelines leveraging Concourse, Pivotal Build Service and Spinnaker to deploy apps
Stars: ✭ 15 (-76.19%)
Mutual labels:  pipeline
hyperdrive
Extensible streaming ingestion pipeline on top of Apache Spark
Stars: ✭ 31 (-50.79%)
Mutual labels:  pipeline
html-pipeline
HTML processing filters and utilities in Go version
Stars: ✭ 18 (-71.43%)
Mutual labels:  pipeline
angsd-wrapper
Utilities for analyzing next generation sequencing data.
Stars: ✭ 13 (-79.37%)
Mutual labels:  ngs-analysis
rails-docker-parallel-example
An example of how to run Rails CI and test steps in parallel with Docker and Buildkite
Stars: ✭ 19 (-69.84%)
Mutual labels:  pipeline
smag
Show Me A Graph - Command Line Graphing
Stars: ✭ 78 (+23.81%)
Mutual labels:  pipeline
pipen
pipen - A pipeline framework for python
Stars: ✭ 82 (+30.16%)
Mutual labels:  pipeline
nanoseq
Nanopore demultiplexing, QC and alignment pipeline
Stars: ✭ 82 (+30.16%)
Mutual labels:  pipeline
Apos.Content
Content builder library for MonoGame.
Stars: ✭ 14 (-77.78%)
Mutual labels:  pipeline
pypely
Make your data processing easy
Stars: ✭ 17 (-73.02%)
Mutual labels:  pipeline
jenkins-terraform-pipeline
create a jenkins pipeline which uses terraform to manage AWS resources
Stars: ✭ 17 (-73.02%)
Mutual labels:  pipeline
targets-minimal
A minimal example data analysis project with the targets R package
Stars: ✭ 50 (-20.63%)
Mutual labels:  pipeline
MIPS-pipeline-processor
A pipelined implementation of the MIPS processor featuring hazard detection as well as forwarding
Stars: ✭ 92 (+46.03%)
Mutual labels:  pipeline
k3ai-core
K3ai-core is the core library for the GO installer. Go installer will replace the current bash installer
Stars: ✭ 23 (-63.49%)
Mutual labels:  pipeline
pisces
PISCES is a pipeline for rapid transcript quantitation, genetic fingerprinting, and quality control assessment of RNAseq libraries using Salmon.
Stars: ✭ 23 (-63.49%)
Mutual labels:  salmon
bitbucket-push-and-pull-request-plugin
Plugin for Jenkins v2.138.2 or later, that triggers job builds on Bitbucket's push and pull request events.
Stars: ✭ 47 (-25.4%)
Mutual labels:  pipeline

SalmonTE

Change Logs

  • December 19, 2018: SalmonTE has been updated to 0.4 with some improvements!

    • Regarding #14, now SalmonTE is coupled with the latest version of snakemake, so there is no more directory error. Furthermore, SalmonTE no longer runs with the older version of snakemake, please update the version of the snakemake package.
    • Regarding #22, mappability for each file is now reported. (MAPPING_INFO.csv in the quantification output directory)
    • test function has been improved, and this will give better representations of the data.
    • Running of SalmonTE will not produce massive and enigmatic messages anymore.
  • June 4, 2018: Now SalmonTE supports fq and fq.gz extensions.

  • May 3, 2018: Update README.txt

  • May 2, 2018: A bug fix regarding issue #10

  • January 23, 2018: Added references of Mus musculus(mm) and Danio rerio(dr), added a function users to allow to build a customized index (index mode), and fixed a minor bug.

  • December 25, 2017: Fixed a bug for single-end reads dataset.

  • December 14, 2017: Fixed issue of the macOS. We have figured out there is a problem of old version of snakemake. If you already install the package, and the version is not above 4.0.0 (You can check it with snakemake --version) then please update version with below command: pip3 install snakemake --user --upgrade

  • November 27, 2017: source code of PSB manuscript is out now - our manuscript and response letter.

  • November 21, 2017: Version 0.2 is out, SalmonTE now supports two different type of expressions with --exprtype option. Use --exprtype=TPM if you want to use TPM values for the statistical analysis. If you want to run differential expression analysis, then I highly recommend to use --exprtype=count. Here is the nice answer why.

Notice

  • June 5, 2018: Our recent paper about TE in Alzhimer's disease has been published in Cell Reports! Please read the paper to see how SalmonTE was succesfully applied! (Cell Reports Link)

What is SalmonTE?

SalmonTE is an ultra-Fast and Scalable Quantification Pipeline of Transpose Element (TE) Abundances from Next Generation Sequencing Data. It comes with Salmon which is a fast and accurate transcriptome quantification method. You can read the details of the pipeline and an example of real data study in my recent published paper in PSB 2018.

What I need to run SalmonTE? Why I have to use it?

  • You only need to have a set of FASTQ files and phenotype data. Furthermore, SalmonTE automatically decided wether your dataset is paired-ends reads or not.
  • conditions can be a numeric data or a categorical data. Based on the data type of the conditions of each sample, SalmonTE will run differential expression analysis or linear regression.
  • Unlikely other TE analysis tools, SalmonTE gives you various visualized output. It must be helpful to your research.

Requirements & Installation

To use SalmonTE python and R must be installed before running it.

* Note: Currently, running SalmonTE on MacOS has an issue, and we are try to fix it soon. Thus, we recommend to use linux environment to play it.

  • Install python and R packages

For python:

Run following line in your console

pip3 install snakemake docopt pandas --user

For R: Run following lines in R console.

install.packages(c("tidyverse", "scales", "WriteXLS", "BiocManager"))
BiocManager::install("DESeq2", version = "3.8")
  • Clone the repository
git clone https://github.com/hyunhwaj/SalmonTE
  • Add PATH of SalmonTE to your .bashrc file:
export PATH=$PATH:/PATH_OF_SALMON_TE/
  • Re log-in to terminal or use source command:
source ~/.bashrc

Troubleshooting

Q. I am using SalmonTE on macOS and salmonTE fails to run on quant mode with error messages:

CalledProcessError in line xx of SOME_PATH:
Command ' set -euo pipefail;  ROOT_OF_SALMON_TE/SalmonTE/salmon/darwin/bin/salmon quant...' returned non-zero exit status 134.

A. You may have a problem to run salmon which is an essential tool for the pipeline. You may install Threading Building Blocks library to solve the problem. If you are using homebrew then please use below command:

brew install tbb

How to use it?

Usage:
    SalmonTE.py index [--ref_name=ref_name] (--input_fasta=fa_file) [--te_only]
    SalmonTE.py quant [--reference=genome] [--outpath=outpath] [--num_threads=numthreads] [--exprtype=exprtype] FILE...
    SalmonTE.py test [--inpath=inpath] [--outpath=outpath] [--tabletype=tabletype] [--figtype=figtype] [--analysis_type=analysis_type] [--conditions=conditions]
    SalmonTE.py (-h | --help)
    SalmonTE.py --version

Options:
    -h --help     Show this screen.
    --version     Show version.

An example of SalmonTE usage with command line

Running the quant mode to collect TE expressions

Parameters

  • --reference: This will select a reference file, and should the species identifier of your data. We are currently supporting references of those species.
    • hs : Homo Sapiens
    • mm : Mus musculus
    • dm : Drosophila melanogaster
    • dr : Danio rerio
  • --outpath: Path to generate quantification results. If you omit this, SalmonTE_output in the current path, and output will be stored in the path.
  • --exprtype: The type of expression measure, and TPM or count are possible options. If you omit this, then "TPM" is the input of the parameter.
  • --num_threads: This has to be an integer, and this parameter will configure how many threads will use for the parallization.

After you put your parameters, you can put the directory which includes a list of FASTQ files,

SalmonTE.py quant --reference=hs example

Or, you can put the list of files like below.

SalmonTE.py quant --reference=hs example/CTRL_1_R1.fastq.gz example/CTRL_2_R1.fastq.gz          

Running test mode to perform statistical test

Before you run test mode, you should modify control.csv condition.csv file which is stored in the outpath. Here are examples of the proper modifications:

For the differential expression analysis, change the file as below. Important: The control samples has to be labeled as control. Other labels will cause errors.

SampleID,condition
FASTQ1,control
FASTQ2,control
FASTQ3,treatment
FASTQ4,treatment

For the regression analysis,

SampleID,condition
FASTQ1,1.5
FASTQ2,2.1
FASTQ3,3.8
FASTQ4,9.5

Once the conditions of every sample has been filled, we can run the test mode like the example commnad-line below:

  • --inpath: This should be the path which contains output of quant mode.
  • --outpath: This will be the path to store all outputs for the mode.
  • --tabletype: The file format of the tables, csv, tsv, and xls are supported. If you omit this, then xls formatted file will be generated.
  • --tabletype: The file format of the figures, png, tiff, jpg, and pdf are supported. If you omit this, then pdf formated files will be generated.
  • --analysis_type: The type of the analysis, and DE (for a differential analysis) or LM (for a linear regression analysis) are possible options. If you omit this, then "DE" is the input of the parameter.
  • --conditions: The list of conditions will be considered when DE has been selected for --analysis_type. The input needs to contain two different conditions (written in non-white space characters) and each condition are separated by ,, and no white-space characters are not allowed for the input. i.e. SalmonTE does not care input such as control , treatment. The first condition of the input will be considered as a normal condition (e.g. healthy condition, wild-type mice) in the study, and the later will be considered as another condition which you are interested (e.g. knock-out mice, treatment).
SalmonTE.py test --inpath=SalmonTE_output --outpath=SalmonTE_statistical_test --tabletype=csv --figtype=png --analysis_type=DE --conditions=control,treatment

How to Cite?

@inbook{doi:10.1142/9789813235533_0016,
author = {Hyun-Hwan Jeong and Hari Krishna Yalamanchili and Caiwei Guo and Joshua M. Shulman and Zhandong Liu},
title = {An ultra-fast and scalable quantification pipeline for transposable elements from next generation sequencing data},
booktitle = {Biocomputing 2018},
chapter = {},
pages = {168-179},
doi = {10.1142/9789813235533_0016},
URL = {http://www.worldscientific.com/doi/abs/10.1142/9789813235533_0016},
eprint = {http://www.worldscientific.com/doi/pdf/10.1142/9789813235533_0016}
publisher = WORLD SCIENTIFIC
address = 
year = 2017
edition = 
}
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].