使用 PASHA 进行基因组组装

评论2,417

1. PASHA 简介

并行化运算,速度快的基因组组装软件。

2. PASHA 的下载和安装

$ wget http://cznic.dl.sourceforge.net/project/pasha/Pasha-1.0.10.tar.bz2
$ tar jxf Pasha-1.0.10.tar.bz2 -C /opt/biosoft/
$ cd /opt/biosoft/Pasha-1.0.10/

安装 PASHA 前需要安装 TBB

$ wget www.threadingbuildingblocks.org/sites/default/files/software_releases/linux/tbb42_20140416oss_lin.tgz
$ tar zxf tbb42_20140416oss_lin.tgz

修改 Pasha 软件的 Makefile 文件中 TBB 文件夹路径的指向

$ perl -p -i -e 's#~/install#/opt/biosoft/Pasha-1.0.10/tbb42_20140416oss#' Makefile
$ make
$ echo 'PATH=$PATH:/opt/biosoft/Pasha-1.0.10/bin' >> ~/.bashrc
$ source ~/.bashrc

2. 程序的参数

2.1 pasha-kmergen

此命令用于生成 k-mers。输入文件可以为 fasta 或 fastq 文件。
参数:

-fasta str
输入 fasta 格式的数据
-fastq str
输入 fastq 格式的数据
-k int
输入 k-mer size,从 1 到 31 的奇数,默认值为 21

常用例子:

$ pasha-kmergen DIRECTORY -fasta in.fasta -k KMER_SIZE
$ pasha-kmergen DIRECTORY -fasta in.fasta -fasta in2.fasta -k KMER_SIZE
$ pasha-kmergen DIRECTORY -fasta in.fasta -fastq in2.fastq -k KMER_SIZE
$ mpirun -np 8 pasha-kmergen DIRECTORY -fasta in.fasta -k KMER_SIZE

每个 pasha-kmergen 使用 2 个线程。因此,推荐 -np 对应的值最好低于 CPU cores 的一半。

2.2 pasha-pregraph

此命令用于利用 k-mers 来构建初步的 de Bruijn 图,再去除 tips 和 low-coverage paths。
参数:

-fasta str
输入 fasta 格式的数据
-fastq str
输入 fastq 格式的数据

常用例子:

$ pasha-pregraph DIRECTORY -fasta in.fasta
$ pasha-pregraph DIRECTORY -fasta in.fasta -fasta in2.fasta
$ pasha-pregraph DIRECTORY -fasta in.fasta -fastq in2.fastq
$ mpirun -np 8 pasha-pregraph DIRECTORY -fasta in.fasta

当使用 MPI 进行并行运算是,pasha-pregraph 和 pasha-kmergen 使用 -np 指定的线程数要一致。

2.3 pasha-graph

此命令用于融合 bubbles,生成 contigs,并进行 scaffolding。
参数:

-fasta str
输入 fasta 格式的数据。程序识别此数据为单端数据。
-fastq str
输入 fastq 格式的数据。程序识别此数据为单端数据。
-fastaPaired str
输入 fasta 格式的数据。后接两个用空格分隔的文件。程序识别此数据为双端数据。
-fastqPaired str
输入 fastq 格式的数据。后接两个用空格分隔的文件。程序识别此数据为双端数据。
-fastaPairedFile str
输入 fasta 格式的数据。后接 1 个文件,此文件是双端数据交叉整合的结果。程序识别此数据为双端数据。
-fastqPairedFile str
输入 fastq 格式的数据。后接 1 个文件,此文件是双端数据交叉整合的结果。程序识别此数据为双端数据。
-numthreads int
线程数,默认值为 1。

常用例子:

不进行 scaffolding:

$ pasha-graph DIRECTORY -fasta in.fasta
$ pasha-graph DIRECTORY -fasta in.fasta -fasta in2.fasta
$ pasha-graph DIRECTORY -fasta in.fasta -fastq in2.fastq
$ pasha-graph DIRECTORY -fasta in.fasta -numthreads 4

进行 scaffolding:

$ pasha-graph DIRECTORY -fastaPaired in_1.fasta in_2.fasta
$ pasha-graph DIRECTORY -fastaPaired in_1.fasta in_2.fasta -fastaPaired in2_1.fasta in2_2.fasta
$ pasha-graph DIRECTORY -fastqPaired in_1.fastq in_2.fastq -numthreads 4

原文来自:http://www.chenlianfu.com/?p=2114

发表评论

匿名网友