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