安装PASA

1
2
3
4
5
6
7
8
cd ~/software/
wget https://github.com/PASApipeline/PASApipeline/releases/download/pasa-v2.3.3/PASApipeline-v2.3.3.tar.gz
tar zxf PASApipeline-v2.3.3.tar.gz -C ~/opt/
mv ~/opt/PASApipeline-pasa-v2.3.3 ~/opt/pasa-v2.3.3
cd ~/opt/pasa-v2.3.3
make
echo '$PASAHOME=~/opt/pasa-v2.3.3/' >> ~/.bashrc
source ~/.bashrc

安装perl模块

安装PASA最大的困难就在于perl模块的配置。本文参考使用perlbrewcpanm配置perl模块

1
cpanm DBD::SQLite

conda的perl和系统的perl冲突

有一次我遇到这个问题

1
perl: symbol lookup error: /home/wangjw/perl5/lib/perl5/x86_64-linux-thread-multi/auto/Cwd/Cwd.so: undefined symbol

这个问题显然我用系统perl安装的软件被conda的perl有限查找到导致,用perl -Vperl -e '{print "$_\n" foreach @INC}'可以发现conda的perl查找路径低于我为系统perl安装的路径,解决方案如下

1
export PERL5LIB=""

报错解决

安装过程中由于之前配置的conda环境的干扰,使得在测试环境时出现报错,提示缺少perl模块支持。使用cpanm安装模块,却出现编译错误,提示缺少 db.h,但/usr/include/db.h存在,一时未能排除BUG。

整理思路后发觉应当在~/.bashrc中屏蔽conda环境后重新配置。

但仍然出现/usr/bin/perl: xxx symbol lookup error错误,报错原因应当是原conda环境中的perl安装的DBD::SQLite模块与现有环境不兼容。因此,需要先卸载已安装的模块,再重新安装。

p.s. 其他解决方案,未验证

perl模块的卸载

cpan工具只管理模块的安装,却不管卸载。使用App::pmuninstall模块来方便地卸载perl模块

1
cpanm App::pmuninstall

使用很方便

1
pm-uninstall DBD::SQLite

此外,还可使用 App::pmodinfo模块查看perl模块的相关信息,常用参数说明如下。(安装过程依赖38个模块,较耗时)

-v –version

-f –full

-h –hash

-l –local-modules

-u –check-updates

安装GMAP

安装BLAT

安装FASTA

1
2
3
4
5
6
7
8
9
cd ~/software
wget http://faculty.virginia.edu/wrpearson/fasta/fasta36/fasta-36.3.8g.tar.gz
tar zxf fasta-36.3.8g.tar.gz -C ~/opt/
cd ~/opt/fasta-36.3.8g/src/
make -f ../make/Makefile.linux_sse2 all
cd ../bin/
ln -s fasta36 fasta
echo 'PATH=$PATH:~/opt/fasta-36.3.8g/bin/' >> ~/.bashrc
source ~/.bashrc

按照《NGS生物信息分析v6.0》,不应当安装fasta36或以上版本,否则运行PASA进行GFF3文件更新时,会调用fasta命令,导致内存耗尽,同时得不到结果。(pasa-v2.2.0)

不知目前版本(v2.3.3)不知是否修复了此BUG,留此存照。

配置UniVec数据库

seqclean在v2.3.3版本中默认位于$PASAHOME/bin/路径中,不需另行安装。因此只需安装其依赖的数据库即可,在此以UniVec数据库为例。(UniVec应当能够满足大部分需求)

1
2
3
4
5
mkdir ~/database/UniVec
cd ~/database/UniVec
wget ftp://ftp.ncbi.nlm.nih.gov/pub/UniVec/UniVec
formatdb -t UniVec -i UniVec -p F -o T
$PASAHOME/bin/seqclean transcripts.fasta -v ~/database/UniVec/UniVec

环境测试

1
2
cd $PATHHOME/sample_data
./runMe.SQLite.sh

测试运行约1h后得到输出结果

sample_mydb_pasa.assemblies.fasta

sample_mydb_pasa.pasa_assemblies.gff3

sample_mydb_pasa.pasa_assemblies_described.txt

参考来源

https://github.com/PASApipeline/PASApipeline/wiki/Pasa_installation_instructions

https://blog.csdn.net/u011450367/article/details/41522729

http://stackoverflow.com/questions/7777252/uninstall-all-perl-modules-installed-by-cpan

conda的perl和系统的perl冲突