Sign inSign up

lsbnb/gabola

By lsbnb

Updated about 5 years ago

De Novo Genome Assembly Based On Localization And Local Assembly Of Scaffolds (GABOLA)

Image
0

304

lsbnb/gabola repository overview

enter image description here

GABOLA: A Reliable Gap-Filling Strategy for de novo Chromosome-Level Assembly

Applications to Human Precision Health and Aquaculture Breeding

This image is provided by Institute of Information Science, Academia Sinica, Taiwan.
Contact information:

Chung-Yen Lin ([email protected]); LAB website

Team members:

Jang-Ming Ho, Chung-Yen Lin, Shu-Hwa Chen, Yu-Jung Chang, Ping-Heng Hsieh, Po-Ying Fu, Yi-Chen Huang, Wei-Hsuan Chuang, Hsueh-Chien Cheng


▲Description

GABOLA is a software designed to fill gaps in genome assemblies utilizing barcoded linked-reads generated by the 10x Genomics Chromium System. It is also compatible with long reads from TGS techniques such as PacBio SMRT Sequencing and Oxford Nanopore Technologies. Different pipelines incorporating other Gap-Filling techniques like Hybrid Scaffold by Bionano Genomics are also suggested for the optimization of genome assemblies.

GABOLA contains 1 preprocess and 4 main modules:
§ Preprocess Module:

Trim and sort linked-reads according to their barcodes, then align them to draft assemblies.

§ Main Modules:
  1. Local-Contig-Based (LCB) Gap Filling: Fill intra-scaffold gaps in genome assembly with contigs de novo assembled from 10x Genomics linked reads.
  1. Global-Contig-Based (GCB) Gap Filling: An alternative for LCB Gap Filling. Fill intra-scaffold gaps in genome assembly using G-contigs.
  1. Local-Contig-Based (LCB) Scaffolding: Concatenate scaffolds with contigs de novo assembled from 10x Genomics linked reads.
  1. Global-Contig-Based (GCB) Scaffolding: An alternative for LCB Scaffolding. Concatenate scaffolds with G-contigs.

G-Contigs (the "G" stands for Global):

  • Contigs generated by other sequence assembly software such as Supernova assembler or TGS assemblers
  • Long reads from Third-Generation Sequencing.

▲Install

The latest version is v1.0
 Step 1. docker pull lsbnb/gabola:{tag}
 Step 2. docker run -i -t -v $('pwd')/:/outdir/ lsbnb/gabola:{tag}
 Step 3. cd outdir

▲Prerequisites & Workflow

§ Preprocess Module:
Workflow:

The preprocess module includes three steps:

  1. During the first part, we process the raw linked reads by taking FASTQ files created by longranger mkfastq and perform barcode processing including error correction, barcode white-listing, and attaching barcodes to reads. Then, we use TrimGalore to apply adapter and quality trimming to fastq files. After that, you can choose to trim 23-mer of R2 prefix or not. Finally, we process all fastq files to remove duplicate reads.

  2. During the second part, we map reads to genome and filter them: We begin with aligning reads to genome scaffolds by BWA MEM or Kart. Then, we keep proper pairs by SAMBAMBA (v0.6.9). Finally, we filter the alignment by match quality calculated from CIGAR and MAPQ score.

#definition of proper pair: mapped and not (secondary_alignment or duplicate or supplementary or chimeric)

  1. During the third part, we process the genome assembly along with the SAM file from the previous step to obtain the info of barcode distribution on each scaffold end (Head and Tail of each scaffold)
§ Main Module 1- LCB Gap Filling :
Prerequisites:

Data generated from the Preprocess module:

  • A SAM file of filtered read-to-scaffold alignment (file name ends with C70M60.sam)
  • Non-duplicate split reads FASTQ file path ( i.e. {outdir}/nonDup/split )
Workflow:
  1. Produce a barcode list for every gap on every scaffold from the read-to-scaffold alignment
  1. Assemble contigs for each gap using reads collected via barcode lists with SPAdes
  1. Align contigs back to the scaffolds and fill the gaps using BWA MEM.
§ Main Module 2 - GCB Gap Filling:
Prerequisites:

A FASTA file containing G-contigs

Workflow:

Align G-contigs to scaffolds in draft assembly with BWA MEM and fill in gaps

§ Main Module 3 - LCB Scaffolding :
Prerequisites:

Data generated from the Preprocess module:

  • A TSV file with possible scaffold pairs and shared barcode counts (file name ends with C70M60_ScafA_ScafB_BXCnt.tsv)
  • A TSV file recording barcodes on every scaffold end (file name ends with C70M60_ScafHeadTail_BX_pairSum.tsv)
Workflow:
  1. Determine candidate scaffold pairs by removing same scaffold ends and multiple end pairs
  1. Assemble contigs for each candidate scaffold pair using reads collected via barcode lists with SPAdes
  1. Find contigs crossing two ends with alignment by BWA MEM and connect scaffolds
§ Main Module 4 - GCB Scaffolding:
Prerequisites:

Data generated from the Preprocess module:

  • A TSV file with possible scaffold pairs and shared barcode counts (file name ends with C70M60_ScafA_ScafB_BXCnt.tsv)
  • A TSV file recording barcodes on every scaffold end (file name ends with C70M60_ScafHeadTail_BX_pairSum.tsv)
  • A FASTA file containing G-contigs
Workflow:
  1. Determine candidate scaffold pairs by removing same scaffold ends and multiple end pairs
  1. Align them to the draft assembly with minimap2
  1. Find G-contigs crossing two ends with alignment by minimap2 and connect scaffolds

▲ Basic Usage

The following are the minimum required commands to run each main module separately:
1. LCB Gap Filling:
  python /opt/10x_program/runStep1to3.py -f raw_fastq_dir/ -g draft.fa --id PROJECTID -a bwa_mem -o 10x_preprocess/
  /opt/LCB_GapFilling/ProduceBXList.sh -f draft_bwa_mem_C70M60.sam -a draft.fa -o LCB_GapFilling/
  /opt/LCB_GapFilling/Assemble.sh -r /10x_preprocess/nonDupFq/split -o LCB_GapFilling/
  /opt/LcB_GapFilling/Fill.sh -a draft.fa -o LCB_GapFilling/
2. GCB Gap Filling:

It can be a stand alone module without any 10x Genomics resource.

  /opt/GCB_GapFilling/Fill.sh -a draft.fa -x g-contigs.fa -o GCB_GapFilling/

3. LCB Scaffolding:
  #rename draft.fa by length first to fit our format
  /opt/Rename_byLength.sh -a draft.fa -o LCB_Scaffolding/
  python /opt/10x_program/runStep1to3.py -f raw_fastq_dir/ -g draft_rename.fa --id PROJECTID -a bwa_mem -o 10x_preprocess/
  /opt/LCB_Scaffolding/CandidatePair.sh -f draft_bwa_mem_C70M60_ScafA_ScafB_BXCnt.tsv -p draft_bwa_mem_C70M60_ScafHeadTail_BX_pairSum.tsv -o LCB_Scaffolding/
  /opt/LCB_Scaffolding/Assemble.sh -f draft_bwa_mem_C70M60_ScafA_ScafB_BXCnt_rmMultiEnd.tsv -r 10x_preprocess/nonDupFq/split -o LCB_Scaffolding/
  /opt/LCB_Scaffolding/Scaffolding.sh -f draft_bwa_mem_C70M60_ScafA_ScafB_BXCnt_rmMultiEnd.tsv -a draft_rename.fa -o LCB_Scaffolding/
4. GCB Scaffolding:
  #rename draft.fa by length first to fit our format
  /opt/Rename_byLength.sh -a draft.fa -o GCB_Scaffolding/
  python /opt/10x_program/runStep1to3.py -f raw_fastq_dir/ -g draft_rename.fa --id PROJECTID -a bwa_mem -o 10x_preprocess/ 
  /opt/GCB_Scaffolding/CandidatePair.sh -f draft_rename_bwa_mem_C70M60_ScafA_ScafB_BXCnt.tsv -p draft_rename_bwa_mem_C70M60_ScafHeadTail_BX_pairSum.tsv -o GCB_Scaffolding/
  /opt/GCB_Scaffolding/Scaffolding.sh -f draft_gcbgf_labgf_labs_bwa_mem_C70M60_ScafA_ScafB_BXCnt_rmMultiEnd.tsv -a draft_rename.fa -x g-contigs.fa -o GCB_Scaffolding/

Our main modules can be used in any order and iterated several times. For advanced usage and suggested pipelines of our GABOLA modules please see our github website

Version History:

Latest version: v1.0 , 30, July, 2021

Citation:

Wei-Hsuan Chuang et.al "GABOLA: A Reliable Gap-Filling Strategy for de novo Chromosome-Level Assembly" bioRxiv (2021). doi: https://doi.org/10.1101/2021.09.07.459217

Tag summary

Content type

Image

Digest

Size

1.7 GB

Last updated

about 5 years ago

docker pull lsbnb/gabola:v1.0