General Orientation

LMAS code is in two repositories: source repository and report repository.

LMAS diagram full dev

LMAS repository

This repository contains the code for LMAS workflow. The workflow is developed in Nextflow DSL2. The main file is main.nf, to be executed by Nextflow. A wrapper file LMAS is provided for running the workflow. If no options are provided it will output LMAS help information on how to use the workflow, otherwise it will call nextflow with the main file.

Configuration

The main configuration file is nextflow.config and contains the main configuration parameters for the execution of LMAS. The parameters, containers and resources configuration files, located in the conf directory, that can be altered by the user to adapt LMAS execution. A detailed description is available in the User guide.

Information on how to costumize these values is available here.

Modules

LMAS is split into 5 modules that are run in the main workflow and are responsible for preprocessing the input data, assemble the data in parallel, compute all the global and reference-dependent metrics and compile the final report. LMAS modularity, thanks to its implementation in DSL2, facilitates the maintenance and future updates. These modules are located in the modules folder.

Templates

The templates folder contains the custom python scripts used by LMAS to process the data and compute the evaluation metrics, and are called in the LMAS.nf file.

Resources

The resources folder contains the compiled source code for the LMAS report. The report code is available in the report repository.

Lib

The lib folder contains custom Groovy code used by LMAS for the --help function and parameter validation.

Docker

The dockerfile for the main LMAS container, including all necessary python dependencies for the custom code in the templates is available in the docker folder. Additionally, the docker files used to build all the container for all assemblers in LMAS are also available in the docker folder.

LMAS report

This repository. contains the source code for the interactive report that comes pre-packaged with LMAS. This project uses npx webpack to compile a standalone main.js file that is integrated into LMAS. The necessary dependencies for the project are provided in the environment.yml file available in this repo.