rnaxcount

Pipeline for mapping and counting small RNAs.

View the Project on GitHub vlpb3/rnaxcount

rnaxcount

Snakemake based piepeline used for counting various RNA species. The pipeline uses python module sRNA_tools.py which is boundled together with the pipeline. It also depends on faradr R package.

requirements / input

reference sequnces

Following reference sequences should be available, and their paths should be provided in Snakefile.

annotations

miRNA annotations in embl format.

sequencing reads

Reads in fastq format.

Steps

There are followiing steps performed by the pipeline:

Spikes

  1. Trimming reads for spike alignment. Trimming length is defined in SPIKE_TRIMMED_LEN
  2. Alignment of reads to spike sequence. For details of alignment setting see SPIKE_BOWTIE_PARAMS_LIST
  3. Sorting and indexing of the alignments.
  4. Counting spikes with use of sRNA_tools.py count_spikes
  5. Calculating number of reads per sample for use in normalization
  6. Making plots from spike counts data.

miRNA

  1. Trimming reads for miRNA alignment. Trimming length is defined in MIRNA_TRIMMED_LEN
  2. Fitering out short reads with sRNA_tools.py filter_short_reads. Min read length is set in MIRNA_MIN_LEN.
  3. Alignment of reads to miRNAs. For details of alignment options see MIRNA_BOWTIE_PARAMS
  4. Sorting and indexing of the alignments.
  5. Counting miRNAs with use of sRNA_tools.py count_mirnas
  6. Merging count tables for each sample into one table with a column for each sample.

piRNA

  1. Alignment of reads to piRNAs. For details of alignment options see PIRNA_BOWTIE_PARAMS.
  2. Sorting and indexing of the alignments.
  3. Counting piRNAs.

Results

The results are located in respective directories:

.
├── miRNA
│   ├── bam                        # miRNA alignments
│   ├── counts
│   │   ├── CountTable_mirna.txt   # miRNA count table
|   ├── filtered                   # filtered reads
|   └── trim                       # trimmed reads
├── piRNA
│   ├── bam                        # piRNA alignments
│   └── counts
│       ├── CountTable_pirna.txt   # count table
└── spikes                         # spike alignments
    ├── bam
    ├── counts                     # count tables
    │   ├── count.png              # spike plot
    │   ├── CountTable_norm_spike.txt
    │   ├── CountTable_size_spike.txt
    │   ├── norm_count.png
    │   └── total_reads.csv
    └── trim                       # trimmed reads