salzman-lab / SPLASH-plus

MIT License
3 stars 0 forks source link

SPLASH+

Image of SPLASH+ SPLASH+ is a new analytic method to detect a wide range of biological processes that diversify transcripts, including but not limited to RNA splicing, mutations, RNA editing, and V(D)J recombination inference directly on raw sequencing reads by integrating a micro-assembly and biological interpretation framework with the recently developed SPLASH algorithm. SPLASH is a unified reference-free algorithm that performs statistical inference directly on raw sequencing reads. SPLASH+ builds on SPLASH by utilizing new approaches to analyze SPLASH’s output, including a new, reference-free statistical approach for de novo assembly (being called as Compactors) as well as a framework for interpretation and annotation by assigning a meaningful biological class to each SPLASH's call.

How to run SPLASH+

SPLASH+ pipeline consists of 3 main steps:

  1. Running SPLASH: to obtain sequences (anchors) that are followed by a set of sample-dependent diverse sequences (targets)
  2. Running Compactors: for de novo local assembly of sequences called by SPLASH
  3. Running Biological Interpretation: to assign a biologically relevant event (single base pair change, alternative splicing, ...) accounting for the observed sequence diversity.

1- SPLASH

Image of SPLASH SPLASH can be run on an input set of FASTQ files by following the steps in https://github.com/salzman-lab/SPLASH. After running SPLASH, the output file will be a list of significant anchors (we refer to it as anchors.txt in this readme), where each anchor is associated with a set of statistically significant sample-dependent target sequences. anchors.txt will then be used in the next step (Compactors) to perform a local de novo assembly and obtain extended sequences for each called anchor to facilitate and improve biological interpretation.

2- Compactors

Image of Compactor Compactors analyze the sequence composition at each position to the right of each seed to evaluate whether the nucleotides presented at that position constitute noise or biological signal. This test is applied recursively on read sets, resulting in one or multiple assembled sequences (compactors) for each called anchor. The compactor step is implemented in a fully containerized Nextflow pipeline (nf-compactors) with minimal installation requirements.

Compactors need two input files:

  1. anchors.txt: a single column file containing the list of significant anchors from SPLASH
  2. samplesheet.csv: each line in this file provides the path to an input FASTQ file used for running SPLASH.

After running Compactors, two output files will be generated:

  1. compactor_summary.tsv: Contains the resulting assembled sequences (compactors) for each significant significant anchor. This file will then be used in the next step for biological interpretation.
  2. sample_specificity.tsv: reporting the supporting read counts for each compactor in input samples.

Quick Start for running Compactors pipeline:

  1. Install Nextflow (>=21.10.3)
  2. Install any of Docker or Singularity. You can also use Conda both to install Nextflow itself and also to manage software within pipelines.
  3. Create your --fastq_samplesheet, and run the pipeline. The FASTQ samplesheet should be of this format. anchors_file can be a any TSV presenting seeds or anchors in a column called anchor.

    nextflow run salzmanlab/compactors \
       -r main \
       -latest \
       -profile test,YOURPROFILE \
       --fastq_samplesheet samplesheet.csv \
       --anchors_file anchors.txt \
       --outdir <OUTDIR>

    3- Biological interpretation

    For biological interpretation of called anchors (obtained from step 1) using their assembled compactors (obtained from step 2), we provide a script SPLASH_plus_classification.R to categorize anchors into biologically meaningful events. Currently, we consider 6 different categories: Single base pair changes, alternative splicing, internal splicing (such as insertions, and deletions), 3'UTR, Centromere, and Repeats. The script needs the following inputs:

The script will generate a file classified_anchors.tsv in the same directory specified by the directory input argument. The file contains significant anchors along with their compactors, biological classification, and alignment information.

Building index and annotation files needed for running classification script

To be able to run SPLASH_plus_classification.R for a reference assembly, you need STAR index for reference genome and three annotation files (annotated_splice_juncs, annotated_exon_boundaries, gene_coordinates) for annotated splice junctions, exons, and genes in the reference transcriptome. To build these files, you should obtain a fasta file for the reference genome and a gtf file for the transcriptome annotation. You can then perform the following two steps (note that fasta and gtf files should be from the same assembly as they need to have consistent coordinates, chr names for accurate annotating of anchors):

Downloading pre-built annotation files for human and mouse genomes:

The human files were built for both T2T assembly and GRCh38 assembly. The mouse files were built based on mm39 assembly. The annotation files can be downloaded using the following links:

Contact

Please contact Roozbeh Dehghannasiri (rdehghan@stanford.edu).

Citation

Dehghannasiri, R., Henderson, G., Bierman, R., Chaung, K., Baharav, T., Wang, P., and Salzman, J. Unsupervised reference-free inference reveals unrecognized regulated transcriptomic complexity in human single cells, bioRxiv, (2023).

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.