Skip to content

Sample annotation

The first step of the analysis, splicekit annotation, loads samples from samples.tab and builds the test-vs-control comparisons that every later step (features, edgeR, motifs, ...) works from.

Note

samples.tab is TAB delimited. Lines starting with # are treated as comments.

sample_id   treatment_id
sample1 control
sample2 control
sample3 test1
sample4 test1
sample5 test2
sample6 test2

splicekit expects a BAM file per sample, resolved either from bam_path (as {bam_path}/{sample_id}.bam) or from a per-sample path in a bam_column column of samples.tab — see Configuration. The sample_column, treatment_column, control_name, separate_column and group_column parameters in splicekit.config control how samples.tab is read and how comparisons are formed.

Comparisons

Each non-control treatment (which may have several replicate samples) is compared against the samples matching control_name. For the example above, this produces annotation/comparisons.tab:

comparison       compound_samples             DMSO_samples
test1_control    sample3_test1,sample4_test1  sample1_control,sample2_control
test2_control    sample5_test2,sample6_test2  sample1_control,sample2_control

In addition, splicekit annotation creates the processing shell scripts and (on "cluster"/"SLURM" platforms) cluster job files under jobs/*. An example cluster job file:

#!/bin/bash
#BSUB -J edgeR_junctions_sample1                  # job name
#BSUB -n 4                                        # number of tasks
#BSUB -R "span[hosts=1]"                          # 1 host
#BSUB -q short                                    # select queue
#BSUB -o logs_edgeR_junctions/sample1_control.out # output file
#BSUB -e logs_edgeR_junctions/sample1_control.err # error file

ml R
R --no-save --args splicekit comparison_junctions_data junctions control test ... < comps_edgeR.R

When running under Snakemake instead, job submission and resourcing come from config.yaml and run_snakemake_slurm.sh — see Configuration.