|
1 | 1 | # Small RNA Pipeline for the Hunt Lab |
2 | 2 |
|
3 | | -This repository contains the code for the pipeline used to carry out sRNA-seq ananlysis in Vicky Hunt's lab. For usage and the tasks the pipeline can run, see the documentation, avalible in PDF, DOCX and HTML format in the `docs/` directory in the repository. |
| 3 | +This repository contains the code for the pipeline used to carry out sRNA-seq ananlysis in Vicky Hunt's lab. This is version 2 for version 1 see the `v1.x` branch. |
4 | 4 |
|
5 | | -Note this software is very new, please report any bugs found to the GitHub bug tracker. Also note that it currently does not support GZipped input files, though support will be considered in the future if it is wanted enough. |
| 5 | +Documentation and information on how to install and run this pipeline can be found [here](https://vicky-hunt-lab.github.io/HuntLab-smallRNA/latest). Please report any bugs found or ask any other questions relating to the pipeline on the GitHub bug tracker. |
6 | 6 |
|
7 | 7 | ## Installation |
8 | 8 |
|
9 | | -Stable versions of the pipeline can be downloaded from releases on GitHub, unstable can be cloned using `git`. |
| 9 | +A containerised version of the pipeline is provided to allow for easy installation. Apptainer is recommended, as it allows for running with relative paths. |
10 | 10 |
|
11 | | -It is recommended to use conda to install this pipeline. To perform the installation, ensure conda is installed on the machine, navigate to the directory containing the code and `environment.yml` file, then run: |
| 11 | +### Installing with Apptainer |
| 12 | +Create a SIF file with the code by running the following: |
12 | 13 |
|
13 | 14 | ``` |
14 | | -$ conda env create -f environment.yml |
| 15 | +$ apptainer pull hlsmallrna.sif docker://kieranr51/huntlab-smallrna |
15 | 16 | ``` |
16 | 17 |
|
17 | | -This will create a conda environment called huntlab-smallrna. This can then be activated each time you want to use the software with the command: |
| 18 | +To test it works try displaying the help message with the following command: |
18 | 19 |
|
19 | 20 | ``` |
20 | | -$ conda activate huntlab-smallrna |
| 21 | +$ apptainer run hlsmallrna.sif hlsmallrna --help |
21 | 22 | ``` |
22 | 23 |
|
23 | | -By default this provides the hlsmallrna executable. This provides all of the tasks listed in the documentation, each one can be run by typing hlsmallrna followed by the name and options for the task. |
| 24 | +If this displays the help message, you are good to go. All subsequent commands can be run with: |
24 | 25 |
|
| 26 | +``` |
| 27 | +$ apptainer run -B $HOME:$HOME hlsmallrna.sif [COMMAND] |
| 28 | +``` |
25 | 29 |
|
26 | | -## Configuration File |
27 | | - |
28 | | -This pipeline can be configured with a "config.toml" file. This file is written in ["Tom's Obvious, Minimal Language"](https://toml.io/en/) (TOML) format, which is a common format for configeration. This file is split into multiple sections, with headers in square brackets. Valid keys are shown in the example file below. (Note lines starting with a # are comments like in python). An example is below, see the documentation for more comprihensive instructions. |
29 | | - |
30 | | -```toml |
31 | | -# Configeration that doesn't fit anywhere else |
32 | | -[general] |
33 | | -# path to the directory to put the output in |
34 | | -output_directory = "/path/to/output" |
35 | | - |
36 | | -# Number of threads to pass to any program that allows for multiprocessing |
37 | | -threads = 8 |
38 | | - |
39 | | -# This section contains subsitues for optional command line arguments |
40 | | -[command] |
41 | | -# for process command |
42 | | -adapter = "ACGTTTTTT" |
43 | | -front = "TTTTTACG" |
44 | | -anywhere = "" |
45 | | -cutoff = 25 |
46 | | - |
47 | | -# for sort command |
48 | | -min_length = 7 |
49 | | -max_length = 35 |
50 | | - |
51 | | -# for unitas command |
52 | | -refseq = [ |
53 | | - "/path/to/refseq1", |
54 | | - "/path/to/refseq2" |
55 | | -] |
56 | | -species = "x" |
57 | | - |
58 | | -# for targetid command |
59 | | -target_files = [ |
60 | | - "/path/to/targetseq1", |
61 | | - "/path/to/targetseq2" |
62 | | -] |
63 | | -min_seq_length = 9 |
64 | | -num_mismatches = 0 |
65 | | - |
66 | | -# Section containing configeration for each of the exteranl programs called while in use |
67 | | -[cli-tools] |
68 | | -[cli-tools.trim] |
69 | | -trim_pass_threads = true |
70 | | -path_to_trim = "cutadapt" |
71 | | -trim_type = "" |
72 | | -trim_params = [] |
73 | | - |
74 | | -[cli-tools.fastqc] |
75 | | -fastqc_pass_threads = true |
76 | | -path_to_fastqc = "fastqc" |
77 | | -fastqc_params = [] |
78 | | - |
79 | | -[cli-tools.unitas] |
80 | | -unitas_pass_threads = true |
81 | | -path_to_unitas = "unitas" |
82 | | -unitas_params = [] |
83 | | - |
84 | | -[cli-tools.bowtie2] |
85 | | -bowtie2_pass_threads = true |
86 | | -path_to_bowtie2 = "bowtie2" |
87 | | -bowtie2_params = [] |
88 | | -path_to_bowtie2_build = "bowtie2-build" |
89 | | -bowtie2_build_params = [] |
90 | | - |
91 | | -[cli-tools.samtools] |
92 | | -path_to_samtools = "samtools" |
93 | | -samtools_view_params = ["-h", "-F", "256", "-F", "4"] |
94 | | -samtools_fastq_params = [] |
95 | | -``` |
| 30 | +If this is not possible, other methods of installation are covered in the documentation at: |
| 31 | +[https://vicky-hunt-lab.github.io/HuntLab-smallRNA/latest/installation/](https://vicky-hunt-lab.github.io/HuntLab-smallRNA/latest/installation/) |
0 commit comments