An open API service indexing awesome lists of open source software.

https://github.com/sequana/lora

Run assembler (Canu, flye, hifiasm) on a set of long read files
https://github.com/sequana/lora

Last synced: 5 months ago
JSON representation

Run assembler (Canu, flye, hifiasm) on a set of long read files

Awesome Lists containing this project

README

          

.. image:: https://badge.fury.io/py/sequana-lora.svg
:target: https://pypi.python.org/pypi/sequana_lora

.. image:: http://joss.theoj.org/papers/10.21105/joss.00352/status.svg
:target: http://joss.theoj.org/papers/10.21105/joss.00352
:alt: JOSS (journal of open source software) DOI

.. image:: https://github.com/sequana/lora/actions/workflows/main.yml/badge.svg
:target: https://github.com/sequana/lora/actions/workflows/main.yaml

This is the **lora** pipeline from the `Sequana `_ project

:Overview: Run assembler (Canu, flye, hifiasm) on a set of long read files
:Input: A set of BAM files from Pacbio sequencers, or FastQ files for Nanopore sequencers.
:Output: HTML reports with assemblies for each sample.
:Status: prod
:Citation: Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOI doi:10.21105/joss.00352
:Citation(pipeline):
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.18337877.svg
:target: https://doi.org/10.5281/zenodo.18337877
https://www.biorxiv.org/content/10.64898/2026.01.06.697901v1

.. image:: https://raw.githubusercontent.com/sequana/lora/master/sequana_pipelines/lora/dag.png

Installation
~~~~~~~~~~~~

Install Lora with pip command::

pip install sequana-lora

To update your installed version, type::

pip install sequana-lora --upgrade

Usage
~~~~~

::

sequana_lora --help
sequana_lora --input-directory DATAPATH --assembler flye

This creates a directory with the pipeline and configuration file. You will then need
to execute the pipeline::

cd lora
sh lora.sh # for a local run

This launch a snakemake pipeline. If you are familiar with snakemake, you can
retrieve the pipeline itself and its configuration files and then execute the pipeline yourself with specific parameters::

snakemake -s lora.rules --cores 4 --stats stats.txt

Example 1 Pacbio - HiFi data
----------------------------

With HiFi data, set the data-type to pacbio-hifi. We recommend flye that is quite fast with HiFi data.
No need to install third-party software if you use the --apptainer-prefix. It will download required files once for all.
--do-coverage is optional but recommended to check the quality of the final contigs and their coverage.

::

sequana_lora \
--input-directory FILLME \
--data-type pacbio-hifi \
--assembler flye \
--apptainer-prefix A_DIRECTORY_TO_STORE_CONTAINERS \
--do-coverage \
--genome-size 35m

Example 1 Pacbio subreads
~~~~~~~~~~~~~~~~~~~~~~~~~~~

::

sequana_lora --input-directory . --pacbio
cd lora

**Do you need to build CCS ?**

Look at the config file and the CCS section. Check that the parameters are as expected.
If you wish to build so-called HiFi reads, set the min-passes to 10 and min-rq to 0.99.

**do you have a blast DB**

You may also edit the config file to set blast to true (you must handle the blast databases yourself)

**Do you need an annotation from your contigs?**

Set prokka to True (for bacterial annotation)

**Want to check the core genome?**

You may set busco to true to detect the core genome (you must provide a path to a valid lineage).

Requirements
~~~~~~~~~~~~

This pipelines requires the following executable(s):

- canu
- hifiasm
- flye
- blastn
- busco
- bwa
- ccs
- circlator
- checkm
- medaka
- minimap2
- pbindex
- polypolish
- prokka
- samtools
- sequana

.. image:: https://raw.githubusercontent.com/sequana/lora/master/sequana_pipelines/lora/dag.png

Details
~~~~~~~~~

This pipeline runs **lora** in parallel on the input fastq files (paired or not).
A brief sequana summary report is also produced.

In practice, you may start from BAM files generated by Pacbio sequencers or
Fastq files, or CCS files. CCS files can be built by the pipeline. Then, an
assembler is used to build the draft assemblies (Canu, hifiasm, etc). From the
draft, circularisation may be applied to generate circularised genome (useful
for bacterial genomes). Finally, each contig is blasted and quality checks are
performed using Busco, quast, etc.

Rules and configuration details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Here is the `latest documented configuration file `_
to be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file.

Changelog
~~~~~~~~~

========= ====================================================================
Version Description
========= ====================================================================
1.0.2 * dummy release for linking releases on Zenodo
1.0.1 * Fix bs4 requirements
1.0.0 * uniformised extension with other pipelines. fix regression on
schema file
* update sequana container to v0.16.5
* add unicyler apptainer
* add checkm module to help users chosing correct marker and name.
* replaces --pacbio and --nanopore with --data-type. pacbio is now
decompose into 3 sub-categories: pacbio-raw, pacbio-hifi and pacbio-corr
* add bandage if assembly graph is available
* fixed hifiasm container to use newest version
* improved report html
* make genome-size compulsary
* add fastp as preprocessing tool
* remove presets in favor of click options
* CCS defaults to hifi. pacbio presets in config set to pacbio-hifi
* blast removes from default. users must set blast DB themselves.
* busco lineage downloaded from the web.
* CANU preset changes: pacbio-->pacbio-hifi
* CANU-correction preset changes: pacbio-->pacbio-hifi
* FLYE preset changes: pacbio-raw-->pacbio-hifi
0.3.0 * Use click instead of argparse
* added multiqc / checkm / unicycler
0.2.0 * add apptainers in most rules
* remove utils.smk to move rulegraph inside main pipeline
* rename lora.smk into lora.rules for consistency with other
pipelines
* add checkm in the pipeline and HTML report
0.1.0 **First release.**
========= ====================================================================