REAPRLong: Improvement and QC of genome assemblies using (low coverage) long reads
Dependencies/Prerequisites:
- Python3 → version >3.6 necessary
- Python library networkx → can be installed using pip (pip install networkx)
- minimap2 → provided within the REAPRLong git repository (needed at this path)
Setup:
REAPRLong is publically available to download and use in the git repository \url{https://git.imp.fu-berlin.de/mdriller/mastertool}.
The minimap2 gitlab repository is added as a submodule within REAPRLong, to include it in the download please run:
git clone --recursive https://github.com/mdriller/masterTool.git
Then move into the minimap2 directory and build it
cd masterTool/scripts/minimap2/
make
Usage:
The main script is made executable and can be executed if python3 exists at: "#!/usr/bin/env python3".
Otherwise the script can be run using python directly: "python main.py ..."
The help function can be accessed via: ./main.py -h|--help and provides a general overview of how to use and which parameters can be set when using the tool.
REAPRLong needs a genome assembly in fasta format, long reads (e.g. PacBio or ONT) in fastq or fasta format and a path, where output files will be generated, as mandatory input to run. Additional parameters can be set but the default values are tested and generally provide the best results.
REAPRLong can be used as follows:
Example Usage:
./main.py -s 500 -ge /home/max/tests/genome.fasta -fq /home/max/tests/pacbioReads.fastq -out /home/max/tests/output -it 3
Output files:
REAPRLong generates multiple output files in the specified output directory.
- scaffolds.fasta - the generated scaffolds in fasta format
- scaffolds.stats - statistics generated for scaffolds.fasta (total basepairs in the assembly, number of scaffolds, longest scaffold, average length and N10/20/30/40/ 50/60/70/80/90/100 values)
- scaffolds.gff - gff3 file describing the regions of each new scaffold. Regions can either come from previous contigs or from reads if a gap was filled.
- duplicates.fasta - fasta file containing contigs that were fully part of another contig and thus removed from the assembly.
- adjusted_contigs_it*.fa - fasta file containing adjusted contigs, if the QC identified misassemblies and broke the previous input. The * is an integer value indicating the iteration of QC, starting with 0.
- coverage_map_it*.gff - a "coverage" map for the input assembly of each iteration. Regions are summarised giving a start and end position and the support given for the region. The support describes the amount of reads mapping continuously in the region substracted by the amount of reads mapping dis-continuously. Negative numbers indicate misassemblies.
- deletions_it*.txt - identified deletions (within the genome compared to the reads). The * is an integer value indicating the iteration of QC, starting with 0 which represents the original assembly. Every subsequent number relates to the adjusted_contigs_it*.fa of the previous iteration.
- insertions_it*.txt - identified insertions (within the genome compared to the reads). The * is an integer value indicating the iteration of QC, starting with 0 which represents the original assembly. Every subsequent number relates to the adjusted_contigs_it*.fa of the previous iteration.
- inversions_it*.txt - identified inversions (within the genome compared to the reads). The * is an integer value indicating the iteration of QC, starting with 0 which represents the original assembly. Every subsequent number relates to the adjusted_contigs_it*.fa of the previous iteration.
- misjoins_it*.txt - identified misjoins (within the genome compared to the reads). The * is an integer value indicating the iteration of QC, starting with 0 which represents the original assembly. Every subsequent number relates to the adjusted_contigs_it*.fa of the previous iteration.