Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2d5c636
Try new method of merging CDS and Genome hits
kieranr51 Jun 25, 2025
a4852e5
Bugfixes to runtime speedup
kieranr51 Jun 25, 2025
e8f163a
Change default mismatches when aligning to the genome to 0
kieranr51 Jun 26, 2025
e34b4da
Inital setup of mkdocs
kieranr51 Jun 27, 2025
9d1ac30
Merge branch 'main' into docs_v2
kieranr51 Jun 27, 2025
9f5cc41
Fix typo
kieranr51 Jun 27, 2025
a886857
Convert all of the documentation to mkdocs
kieranr51 Jun 27, 2025
769a514
Fix typos and improve navigation
kieranr51 Jun 27, 2025
e939a24
Add copyright notice to footer
kieranr51 Jun 27, 2025
2701d92
Major refactor to support new config format
kieranr51 Jul 11, 2025
42ef948
Fix for the unitas graph
kieranr51 Jul 11, 2025
ac3d693
Copy config file to output directory
kieranr51 Jul 11, 2025
de694a7
Add enrichment of targets feature
kieranr51 Jul 21, 2025
e570254
First attempt at adding a Dockerfile
kieranr51 Jul 21, 2025
085a3f1
Fix accidental comment out
kieranr51 Jul 21, 2025
dd561d9
Merge branch 'dev' into docs_v2
kieranr51 Jul 21, 2025
7b2efb4
Merge dev
kieranr51 Jul 21, 2025
09ef8d6
Make config reletive to config file to support docker better
kieranr51 Jul 21, 2025
944d82c
Dockerfile fixes to work better with apptainer
kieranr51 Jul 22, 2025
aaffc57
Merge pull request #15 from Vicky-Hunt-Lab/docker_setup
kieranr51 Jul 22, 2025
f12ae2d
Attempt to add versioning to docs
kieranr51 Jul 22, 2025
60e74a2
Merge pull request #16 from Vicky-Hunt-Lab/docs_v2
kieranr51 Jul 22, 2025
6acdc60
Do checkout with fetch-depth of 0 in actions
kieranr51 Jul 22, 2025
a0028b4
Change name of dev documentation
kieranr51 Jul 22, 2025
e6abdf8
Write docs for new version
kieranr51 Jul 22, 2025
07a4d5c
Update build system to pyproject.toml and hatchling
kieranr51 Jul 23, 2025
70de440
Update README for version 2
kieranr51 Jul 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/dev_docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build/Publish Develop Docs
on:
push:
tags-ignore: ['**']
branches:
- dev
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- uses: actions/cache@v4
with:
key: mkdocs-material-${{ env.cache_id }}
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material mike
- run: mike deploy --push Dev
16 changes: 9 additions & 7 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
name: ci
name: Build/Publish Latest Release Docs

on:
push:
branches:
- main
- docs_v2
release:
types: [published]

permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure Git Credentials
run: |
git config user.name github-actions[bot]
Expand All @@ -25,5 +27,5 @@ jobs:
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force
- run: pip install mkdocs-material mike
- run: mike deploy --push --update-aliases ${{ github.event.release.tag_name }} latest
15 changes: 15 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FROM mambaorg/micromamba:latest

USER $MAMBA_USER

COPY --chown=$MAMBA_USER:$MAMBA_USER docker_env.yml /tmp/env.yml
RUN micromamba install -y -n base -f /tmp/env.yml && \
micromamba clean --all --yes

COPY --chown=$MAMBA_USER:$MAMBA_USER . /tmp
ARG MAMBA_DOCKERFILE_ACTIVATE=1
RUN python -m pip install /tmp

RUN rm -rf /tmp/*

ENV PATH=${PATH}:/opt/conda/bin
92 changes: 14 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,95 +1,31 @@
# Small RNA Pipeline for the Hunt Lab

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.
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.

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.
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.

## Installation

Stable versions of the pipeline can be downloaded from releases on GitHub, unstable can be cloned using `git`.
A containerised version of the pipeline is provided to allow for easy installation. Apptainer is recommended, as it allows for running with relative paths.

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:
### Installing with Apptainer
Create a SIF file with the code by running the following:

```
$ conda env create -f environment.yml
$ apptainer pull hlsmallrna.sif docker://kieranr51/huntlab-smallrna
```

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:
To test it works try displaying the help message with the following command:

```
$ conda activate huntlab-smallrna
$ apptainer run hlsmallrna.sif hlsmallrna --help
```

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.
If this displays the help message, you are good to go. All subsequent commands can be run with:

```
$ apptainer run -B $HOME:$HOME hlsmallrna.sif [COMMAND]
```

## Configuration File

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.

```toml
# Configeration that doesn't fit anywhere else
[general]
# path to the directory to put the output in
output_directory = "/path/to/output"

# Number of threads to pass to any program that allows for multiprocessing
threads = 8

# This section contains subsitues for optional command line arguments
[command]
# for process command
adapter = "ACGTTTTTT"
front = "TTTTTACG"
anywhere = ""
cutoff = 25

# for sort command
min_length = 7
max_length = 35

# for unitas command
refseq = [
"/path/to/refseq1",
"/path/to/refseq2"
]
species = "x"

# for targetid command
target_files = [
"/path/to/targetseq1",
"/path/to/targetseq2"
]
min_seq_length = 9
num_mismatches = 0

# Section containing configeration for each of the exteranl programs called while in use
[cli-tools]
[cli-tools.trim]
trim_pass_threads = true
path_to_trim = "cutadapt"
trim_type = ""
trim_params = []

[cli-tools.fastqc]
fastqc_pass_threads = true
path_to_fastqc = "fastqc"
fastqc_params = []

[cli-tools.unitas]
unitas_pass_threads = true
path_to_unitas = "unitas"
unitas_params = []

[cli-tools.bowtie2]
bowtie2_pass_threads = true
path_to_bowtie2 = "bowtie2"
bowtie2_params = []
path_to_bowtie2_build = "bowtie2-build"
bowtie2_build_params = []

[cli-tools.samtools]
path_to_samtools = "samtools"
samtools_view_params = ["-h", "-F", "256", "-F", "4"]
samtools_fastq_params = []
```
If this is not possible, other methods of installation are covered in the documentation at:
[https://vicky-hunt-lab.github.io/HuntLab-smallRNA/latest/installation/](https://vicky-hunt-lab.github.io/HuntLab-smallRNA/latest/installation/)
180 changes: 0 additions & 180 deletions bin/overlap_ss.sh

This file was deleted.

Loading