From afba695860892420725598bfbd967c4e0551900d Mon Sep 17 00:00:00 2001
From: Usman Rashid <usman@smme.edu.pk>
Date: Fri, 19 Jul 2024 12:40:01 +1200
Subject: [PATCH] Added min. system requirements

---
 .github/workflows/linting.yml |  1 +
 .nf-core.yml                  |  1 +
 CHANGELOG.md                  |  2 ++
 docs/usage.md                 | 39 ++++++++++++++++++++++++++++++++++-
 4 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml
index 05605419..8f707ccc 100644
--- a/.github/workflows/linting.yml
+++ b/.github/workflows/linting.yml
@@ -62,6 +62,7 @@ jobs:
             --key files_unchanged \
             --key merge_markers \
             --key modules_config \
+            --key multiqc_config \
             --key nextflow_config \
             --key nfcore_yml \
             --key pipeline_name_conventions \
diff --git a/.nf-core.yml b/.nf-core.yml
index 87685f2a..594af25f 100644
--- a/.nf-core.yml
+++ b/.nf-core.yml
@@ -21,6 +21,7 @@ lint:
   nextflow_config:
     - manifest.name
     - manifest.homePage
+  multiqc_config: False
   template_strings: False
 nf_core_version: 2.14.1
 repository_type: pipeline
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 94edf630..794be5a5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### `Added`
 
+1. Added min. system requirements [#91](https://github.com/Plant-Food-Research-Open/assemblyqc/issues/91)
+
 ### `Fixed`
 
 1. Fixed a bug where `intron_length_distribution` was used instead of `cds_length_distribution` when creating the CDS Length Distribution Graph [#95](https://github.com/Plant-Food-Research-Open/assemblyqc/issues/95)
diff --git a/docs/usage.md b/docs/usage.md
index 8399a19c..a701f981 100644
--- a/docs/usage.md
+++ b/docs/usage.md
@@ -1,4 +1,34 @@
-# plant-food-research-open/assemblyqc: Usage
+# plant-food-research-open/assemblyqc: Usage<!-- omit in toc -->
+
+- [Assemblysheet input](#assemblysheet-input)
+- [External databases](#external-databases)
+  - [NCBI FCS GX database](#ncbi-fcs-gx-database)
+  - [Kraken2](#kraken2)
+  - [BUSCO](#busco)
+- [Other parameters](#other-parameters)
+  - [Assemblathon stats](#assemblathon-stats)
+  - [NCBI FCS GX](#ncbi-fcs-gx)
+  - [BUSCO](#busco-1)
+  - [TIDK](#tidk)
+  - [HiC](#hic)
+  - [Synteny analysis](#synteny-analysis)
+  - [Merqury K-mer analysis](#merqury-k-mer-analysis)
+- [Minimum System Requirements](#minimum-system-requirements)
+- [Running the pipeline](#running-the-pipeline)
+  - [Updating the pipeline](#updating-the-pipeline)
+  - [Reproducibility](#reproducibility)
+- [Core Nextflow arguments](#core-nextflow-arguments)
+  - [`-profile`](#-profile)
+  - [`-resume`](#-resume)
+  - [`-c`](#-c)
+- [Custom configuration](#custom-configuration)
+  - [Resource requests](#resource-requests)
+  - [Custom Containers](#custom-containers)
+  - [Custom Tool Arguments](#custom-tool-arguments)
+  - [nf-core/configs](#nf-coreconfigs)
+- [Azure Resource Requests](#azure-resource-requests)
+- [Running in the background](#running-in-the-background)
+- [Nextflow memory requirements](#nextflow-memory-requirements)
 
 ## Assemblysheet input
 
@@ -95,6 +125,13 @@ See following assemblysheet examples for MERQURY analysis.
 
 The data for these examples comes from: [umd.edu](https://obj.umiacs.umd.edu/marbl_publications/triobinning/index.html)
 
+## Minimum System Requirements
+
+All the modules have been tested to work on a single machine with 10 CPUs + 30 GBs of memory, except NCBI FCS GX and Kraken2. Their minimum requirements are:
+
+- NCBI FCS GX: 1 CPU + 512 GBs memory
+- Kraken2: 1 CPU + 200 GBs memory
+
 ## Running the pipeline
 
 The typical command for running the pipeline is as follows: