使用 PASHA 进行基因组组装

1. PASHA 简介

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

2. PASHA 的下载和安装

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

安装 PASHA 前需要安装 TBB

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

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

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

2. 程序的参数

2.1 pasha-kmergen

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

  1. -fasta str
  2. 输入 fasta 格式的数据
  3. -fastq str
  4. 输入 fastq 格式的数据
  5. -k int
  6. 输入 k-mer size,从 1 31 的奇数,默认值为 21

常用例子:

  1. $ pasha-kmergen DIRECTORY -fasta in.fasta -k KMER_SIZE
  2. $ pasha-kmergen DIRECTORY -fasta in.fasta -fasta in2.fasta -k KMER_SIZE
  3. $ pasha-kmergen DIRECTORY -fasta in.fasta -fastq in2.fastq -k KMER_SIZE
  4. $ 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。
参数:

  1. -fasta str
  2. 输入 fasta 格式的数据
  3. -fastq str
  4. 输入 fastq 格式的数据

常用例子:

  1. $ pasha-pregraph DIRECTORY -fasta in.fasta
  2. $ pasha-pregraph DIRECTORY -fasta in.fasta -fasta in2.fasta
  3. $ pasha-pregraph DIRECTORY -fasta in.fasta -fastq in2.fastq
  4. $ mpirun -np 8 pasha-pregraph DIRECTORY -fasta in.fasta

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

2.3 pasha-graph

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

  1. -fasta str
  2. 输入 fasta 格式的数据。程序识别此数据为单端数据。
  3. -fastq str
  4. 输入 fastq 格式的数据。程序识别此数据为单端数据。
  5. -fastaPaired str
  6. 输入 fasta 格式的数据。后接两个用空格分隔的文件。程序识别此数据为双端数据。
  7. -fastqPaired str
  8. 输入 fastq 格式的数据。后接两个用空格分隔的文件。程序识别此数据为双端数据。
  9. -fastaPairedFile str
  10. 输入 fasta 格式的数据。后接 1 个文件,此文件是双端数据交叉整合的结果。程序识别此数据为双端数据。
  11. -fastqPairedFile str
  12. 输入 fastq 格式的数据。后接 1 个文件,此文件是双端数据交叉整合的结果。程序识别此数据为双端数据。
  13. -numthreads int
  14. 线程数,默认值为 1

常用例子:

不进行 scaffolding:

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

进行 scaffolding:

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

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

发表评论

匿名网友

拖动滑块以完成验证
加载失败