TGS-GapCloser安装及使用

TGS代表Third Generation Sequence,TGS-GapCloser可以使用ONT reads、HiFi reads或者是初步组装的contigs进行基因组的gap filling。

此外,该工具可调用racon以及pilon处理原始reads,因此也可以输入三代的raw reads。

需要注意的是,所有的TGS reads输入文件,只能是fasta格式,fastq会导致程序崩溃。

GitHub官网:TGS-GapCloser

一、conda安装

#conda创建并激活新环境

conda create -n tgsgapcloser | conda acitvate tgsgapcloser 

#先安装依赖包minimap2

conda install -c bioconda minimap2

#安装tgsgapcloser

conda install -c bioconda tgsgapcloser

#测试,显示manual即为安装成功

tgsgapcloser -h

二、查看使用说明

以下参数说明相当清楚,看Example时有不懂可以参考下表。需要注意的是,默认是使用ONT reads,若是使用PacBio reads,需要使用--tgstype pb显式声明。

INFO  :   Run tgsgapcloser from /home/liuxin/miniconda3/envs/tgsgapcloser/bin ;
          Version : 1.1.1 ;
          Release time : 2019-12-31 .


INFO  :   Parsing args starting ...
Usage:
      tgsgapcloser    --scaff SCAFF_FILE --reads TGS_READS_FILE --output OUT_PREFIX [options...]
      required :
          --scaff     <scaffold_file>      the input scaffold file.
          --reads     <tgs_reads_file>     the input TGS reads file.
          --output    <output_prefix>      the output prefix.
      part required :  
          --ne                             do not error correct. error correct by default.
          or
          --racon     <racon>              the installed racon.
          or
          --ngs       <ngs_reads>          the ngs reads used for pilon
          --pilon     <pilon>              the installed pilon.
          --samtools  <samtools>           the installed samtools.
          --java      <java>               the installed java.
      optional:
          --tgstype   <pb/ont>             TGS type . ont by default.
          --min_idy   <min_idy>            min_idy for filter reads .
                                           0.3 for ont by default.
                                           0.2 for pb by default.
          --min_match <min_idy>            min match length for filter reads .
                                           300bp for ont by default.
                                           200bp for pb by default.
          --thread    <t_num>              thread uesd . 16 by default.
          --chunk     <chunk_num>          split candidate into chunks to error-correct separately.
          --pilon_mem <t_num>              memory used for pilon , 300G for default.
          --p_round   <pilon_round>        pilon error-correction round num . 3 by default.
          --r_round   <racon_round>        racon error-correction round num . 1 by default.
          --g_check                        gapsize diff check , none by default.

三、Example

#an example of pre-corrected reads without error correction

tgsgapcloser  \
        --scaff  <scaffold.fasta> \
        --reads  <tgs.reads.fasta> \
        --output <test_racon> \
        --ne \
        >pipe.log 2>pipe.err

 #an example of raw ONT reads with error correction using long reads only

tgsgapcloser \
        --scaff  <scaffold.fasta> \
        --reads  <tgs.reads.fasta> \
        --output test_pilon \
        --racon /home/liuxin/miniconda3/envs/tgsgapcloser/bin \
        >pipe.log 2>pipe.err

#an example of raw ONT reads with error correction using NGS reads

tgsgapcloser \
        --scaff  <scaffold.fasta> \
        --reads  <tgs.reads.fasta> \
        --output test_pilon \
        --pilon  /home/liuxin/miniconda3/envs/tgsgapcloser/bin/pilon-1.23.jar  \
        --ngs    <ngs.reads.fastq.gz>  \
        --samtools /usr/local/bin/samtools  \
        --java    /usr/bin/java \
        >pipe.log 2>pipe.err

四、实战

#策略一:gap filling using hifi reads

tgsgapcloser \
        --scaff  Cbp.LG.fasta \
        --reads  cbp.ccs.fasta \
        --output hifi_fill_outfile \
        --minmap_arg '-x asm20' \
        --racon  /home/liuxin/miniconda3/envs/tgsgapcloser/bin/racon \
        --tgstype pb \
        >pipe.log 2>pipe.err

#策略二:gap filling using raw ont reads

tgsgapcloser --scaff Cbp.LG.fasta --reads ont.pass.fasta --output test_ne --ne > ont_fill.log 2>ont_fill.err

#运行成功查看log文件会显示如下内容

#主要关注两个结果文件

#统计信息
test_ne.gap_fill_detail

#gap_filled结果文件
test_ne.scaff_seqs

五、总结优化

#输出结果与Github显示结果文件类型不一致,查看几个输出结果也没有找到gap fill后的fasta。因此,建议该换使用git clone下载及配置。

#克隆安装包

git clone  https://github.com/BGI-Qingdao/TGS-GapCloser.git YOUR-INSTALL-DIR

#minimap2的配置参照官网

#建议移除包带的minimap2,为已有的minimap2创建软链接
rm -rf /home/liuxin/tgsgapcloser/minimap2
conda install -c bioconda minimap2
ln -s /home/liuxin/miniconda3/bin/minimap2 /home/liuxin/tgsgapcloser/minimap2/

#进入安装目录,完成编译

cd YOUR-INSTALL-DIR
make

#此处进入到准备好数据的工作目录下,使用绝对路径运行TGS-GapCloser.sh

nohup /home/liuxin/tgsgapcloser/TGS-GapCloser.sh --scaff Cbp.LG.fasta --reads ont.pass.fasta --output test_ne --ne --tgstype pb > pipe.log 2> pipe.err &

 #输出结果应该包含如下两个文件

test_ne.scaff_seq    #this is the final assembly after gap filling

test_ne.gap_fill_details    #details about how the final assembly was assemblied

 #.gap_fill_details文件格式如下

>scaffold_1
1	1000	S	1000	2000
1001	1010	N
1011	1100	S	2201	2290
1101	1110	F
1111	1200	S	2301	2390
>scaffold_2
......

#关于.gap_fill_details的格式说明如下,其中第一列起始位置,第二列结束位置,第三列是type信息,F表示该条序列是filled后产生的;N表示存在Gap;S表示经过补洞后,某些序列位置信息存在改变,后序两列表明原始的位置。

 

参考文献


Mengyang Xu, Lidong Guo, Shengqiang Gu, Ou Wang, Rui Zhang, Brock A Peters, Guangyi Fan, Xin Liu, Xun Xu, Li Deng, Yongwei Zhang, TGS-GapCloser: A fast and accurate gap closer for large genomes with low coverage of error-prone long reads, GigaScience, Volume 9, Issue 9, September 2020, giaa094, https://doi.org/10.1093/gigascience/giaa094

posted @ 2022-08-31 21:12  pd_liu  阅读(3829)  评论(0编辑  收藏  举报