2. Overview

(Note that all command line code snippets in the following tutorial are for bash terminal. You may have to adapt them according to your operating system.)

MINORg (MInimum NOn-Reference gRNA) is a 4-part programme created to design a minimum number of gRNA to cover multiple non-reference targets. Nevertheless, MINORg is also capable of designing gRNA for one target as well as for reference genes or from user-provided targets. It is available as both a command line programme as well as a Python package.

The 4 broad steps of MINORg are as follows:

  • seq: generation of target sequences

  • grna: generation of all potential gRNA from target sequences

  • filter: filtering of potential gRNA by GC, off-target, and/or within-feature

    • IMPT NOTE: In order to minimise dependencies as well as allow flexibility for users, MINORg’s filtering steps are not designed to be fully comprehensive. Users may use other on-target or off-target evaluation software and include the pass/fail status for each gRNA-target combination as additional columns in the .map file output by MINORg. Subsequently, this output file may be used as input to the minimumset subcommand for re-generation of sets using the expanded criteria.

  • minimumset: generation of minimum set(s) of gRNA that cover all target sequences

2.1. Command line

The command line interface is a wrapper for the Python package and is built using Typer (https://github.com/tiangolo/typer).

2.1.1. Subcommands

Each of the subcommands (seq, grna, filter, and minimumset) can be separately executed at the command line using:

$ minorg <subcommmand> <arguments>

If no subcommand is specified, MINORg will default to the full programme.

$ minorg <arguments>

2.1.2. Help page

To view the help page for each subcommand (which describes the subcommand and its parameters), use:

$ minorg <subcommand> --help

To view the help page for the full programme, use:

$ minorg full --help

Using the following will print a help page that lists common parameters and valid subcommand names:

$ minorg --help

2.1.3. Aliases

Using a config.ini file, the command line version of MINORg allows users to supply short aliases in place of file names and/or combinations of parameters, as well as set default values for some parameters (such as the reference genome). For example, with the appropriate config.ini setup and lookup files, --reference TAIR10 can be used in place of --assembly /path/to/TAIR10.fasta --annotation /path/to/TAIR10.gff3, and --indv ler1 can be used in place of --query /path/to/ler1.fasta. For details on how to set up a config.ini file, see Configuration.

2.2. Python package

Unlike the command line version, the Python package does not support aliases or preset parameter combinations beyond optionally reading default values from a config.ini file. Nevertheless, most arguments at the command line have equivalents as attributes in the class MINORg. For a more comprehensive list of the similarities and differences, please refer to CLI vs Python.