mkrg01/genome_assembly_pipeline
An integrated pipeline for eukaryotic genome assembly and gene annotation
Overview
Latest release: None, Last update: 2026-04-22
Share link: https://snakemake.github.io/snakemake-workflow-catalog?wf=mkrg01/genome_assembly_pipeline
Quality control: linting: passed formatting: failed
Deployment
Step 1: Install Snakemake and Snakedeploy
Snakemake and Snakedeploy are best installed via the Conda package manager. It is recommended to install conda via Miniforge. Run
conda create -c conda-forge -c bioconda -c nodefaults --name snakemake snakemake snakedeploy
to install both Snakemake and Snakedeploy in an isolated environment. For all following commands ensure that this environment is activated via
conda activate snakemake
For other installation methods, refer to the Snakemake and Snakedeploy documentation.
Step 2: Deploy workflow
With Snakemake and Snakedeploy installed, the workflow can be deployed as follows. First, create an appropriate project working directory on your system and enter it:
mkdir -p path/to/project-workdir
cd path/to/project-workdir
In all following steps, we will assume that you are inside of that directory. Then run
snakedeploy deploy-workflow https://github.com/mkrg01/genome_assembly_pipeline . --tag None
Snakedeploy will create two folders, workflow and config. The former contains the deployment of the chosen workflow as a Snakemake module, the latter contains configuration files which will be modified in the next step in order to configure the workflow to your needs.
Step 3: Configure workflow
To configure the workflow, adapt config/config.yml to your needs following the instructions below.
Step 4: Run workflow
The deployment method is controlled using the --software-deployment-method (short --sdm) argument.
To run the workflow using a combination of conda and apptainer/singularity for software deployment, use
snakemake --cores all --sdm conda apptainer
Snakemake will automatically detect the main Snakefile in the workflow subfolder and execute the workflow module that has been defined by the deployment in step 2.
For further options such as cluster and cloud execution, see the docs.
Step 5: Generate report
After finalizing your data analysis, you can automatically generate an interactive visual HTML report for inspection of results together with parameters and code inside of the browser using
snakemake --report report.zip
Configuration
The following section is imported from the workflow’s config/README.md.
Configuration Guide
This document explains:
Required input files to be placed in the
raw_datadirectory.Configuration parameters to set in
config/config.yml.
1. Input Files (raw_data/)
The pipeline requires PacBio HiFi reads. Paired-end RNA-seq reads are required when running targets that include gene prediction (gene_prediction_all, circos_plot_all, or all).
Place your raw sequencing files in the raw_data directory with the following naming conventions:
File Type |
Naming Pattern |
Example |
|---|---|---|
PacBio HiFi reads |
|
|
Index for HiFi reads |
|
|
Ultra-long ONT reads (optional) |
Any FASTQ path in config ( |
|
Hi-C reads R1 (optional) |
One or more FASTQ paths in |
|
Hi-C reads R2 (optional) |
One or more FASTQ paths in |
|
Paired-end RNA-seq (R1) |
|
|
Paired-end RNA-seq (R2) |
|
|
Notes:
The pipeline will automatically detect and process multiple PacBio HiFi and RNA-seq samples, if present.
RNA-seq raw FASTQ inputs can be gzipped or plain text. The pipeline normalizes them during preprocessing, so downstream rules keep using the same internal filenames.
Keep only one raw RNA-seq file per sample and read pair. For example, do not place both
SAMPLE_1.fastq.gzandSAMPLE_1.fqinraw_data/.Ultra-long ONT reads are optional and can improve assembly quality when integrated with HiFi reads. See the hifiasm documentation for details.
Hi-C reads are optional and should be provided as matching R1/R2 paths in
hic_reads_r1andhic_reads_r2. Multiple lanes can be listed in matching order. If Hi-C reads are configured, the pipeline uses them for hifiasm phasing, runs YaHS scaffolding on each assembly listed inselected_assemblies, and prepares Juicebox-ready contact maps. See the hifiasm documentation and the YaHS documentation for details.
2. Configuration File (config/config.yml)
Edit config/config.yml to match your dataset and analysis requirements.
Below are the available parameters:
Parameter |
Description |
Example |
|---|---|---|
|
Name used for output files |
|
|
Version used for output files |
|
|
One or more assemblies to process after hifiasm. Allowed values: |
|
|
One or more assemblies to package for submission. Must be a subset of |
|
|
Optional: Enable hifiasm self-scaffolding by adding |
|
|
Optional: Path to ultra-long ONT reads in FASTQ format ( |
|
|
Optional: Hi-C read 1 input for hifiasm phasing, YaHS scaffolding, and Juicebox-ready contact maps. Set to |
|
|
Optional: Hi-C read 2 input for hifiasm phasing, YaHS scaffolding, and Juicebox-ready contact maps. Must match |
|
|
Optional: Restriction enzyme motif(s) passed to YaHS with |
|
|
Lineage of the Oatk HMM profile database. Lineage list |
|
|
Organelle to assemble. |
|
|
Minimum kmer coverage used for Oatk. Instructions |
|
|
NCBI Taxonomy ID for FCS-GX screening. NCBI Taxonomy Tree |
|
|
BUSCO lineage dataset for genome completeness assessment. Lineage list |
|
|
Clade for tidk find. Lineage list |
|
|
A telomeric repeat unit for tidk search. A Telomeric Repeat Database |
|
|
Version of the Dfam database for RepeatMasker. Dfam releases |
|
|
Dfam partitions. See README.txt. |
|
|
Name of the Dfam lineage to use. |
|
|
Version of the OrthoDB database (used by Braker3). ProtHint instructions |
|
|
OrthoDB lineage dataset to use. Lineage list |
|
|
MD5 checksum of the OrthoDB database. Checksums |
|
|
Minimum contig length to be considered a “long contig” for downstream visualization (e.g., Circos plots). |
|
|
Track configuration for the Circos plot |
|
|
Major tick interval (in bp) for the x-axis in Circos plots. Major ticks are labeled. |
|
|
Minor tick interval (in bp) for the x-axis in Circos plots. Minor ticks are unlabeled. |
|
Linting and formatting
Linting results
All tests passed!
Formatting results
1[DEBUG]
2[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/rules/common.smk": Formatted content is different from original
3[DEBUG]
4[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/rules/genome_assembly.smk": Formatted content is different from original
5[DEBUG]
6[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/rules/circos_plot.smk": Formatted content is different from original
7[DEBUG]
8[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/rules/gene_prediction.smk": Formatted content is different from original
9[DEBUG]
10[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/Snakefile": Formatted content is different from original
11[DEBUG]
12[DEBUG] In file "/tmp/tmpr5g6sg8j/workflow/rules/softmask.smk": Formatted content is different from original
13[INFO] 6 file(s) would be changed 😬
14
15snakefmt version: 0.11.5