Perl, CPAN and crispr tools

希望大家在忙碌中都能有所思考,有所收获,最关键的是,心情要好。


发现生物信息学上很多软件似乎还是用Perl写的,此外当然还有C/C++。试图成为生信算法工程师从入门到放弃.jpg

Perl像C一样强大,像awk、sed等脚本描述语言一样方便,被Perl语言爱好者称之为“一种拥有各种语言功能的梦幻脚本语言”、“Unix中的王牌工具”。

仿佛有被吓到.jpg 其实没有害

然后Perl有一个很厉害的开源社区叫CPAN (Comprehensive Perl Archive Network ),没错R语言人民熟知的CRAN就是模仿其命名的,里面有非常多Perl语言编写的软件模块。

有两个寻找CRISPR序列的工具就是用Perl写的。目前我使用的服务器转到了集群,这意味着虽然作为一个使用者账户,权限上有了更多的限制,然而计算资源+++。我之前写的循环被老师认作粗暴,他认为我应该同时作业,确实,SBATCH努力学习中。下面介绍两个找crispr的工具,就目前来讲,寻找crispr还是有很多困难,直接用工具寻找容易遗漏,如何提高其敏感度有待探索。

当拿到新开的账号,就可以直接local装好miniconda或者anaconda了,不多说。

Tool1: CRISPRDetect

装好它的第三方依赖(3rd party dependency)

The only CPAN perl package ‘Parallel’ is provided in the ‘lib’ folder and should work. If not, then

1
cpan Parallel::ForkManager

然后是下面几个包

1
2
3
4
5
6
clustalw 	Download from ftp://ftp.ebi.ac.uk/pub/software/clustalw2/2.1/ 
water Comes with EMBOSS:6.3.1+ tools : Download from ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz
seqret Comes with EMBOSS:6.3.1+ tools : Download from ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz
RNAfold Comes with Vienna RNA package : Download the correct version specific for your operating system from http://www.tbi.univie.ac.at/RNA/#download
cd-hit-est Comes with cdhit package : Download from http://weizhongli-lab.org/cd-hit/download.php
blastn Comes with ncbi-blast+ package : Download from ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/

clustalw是一个做alignment的工具,一般有sudo权限的话,只需要这样

1
2
sudo apt-get update -y
sudo apt-get install -y clustalw

但是显然我并没有这个权限,the incident has been reported。。。

于是按照给的网站,找到Linux安装包的链接,然后直接下载下来吧。

1
2
wget ftp://ftp.ebi.ac.uk/pub/software/clustalw2/2.1/clustalw-2.1-linux-x86_64-libcppstatic.tar.gz ./
tar xvzf xxx.tar.gz

这里mark一下aspera:Aspera - High-speed file transfer software.

注意一下这里面是clustalw2,我们需要clustalw命令可执行,所以改个名。然后加一下路径,添加到~/.bashrc的末尾。

1
export PATH=$PATH:/my/new/path

Tips: vi编辑的时候dd可以删除整行,

后面几个用conda install对应的package就好了,为了避免未来的base环境被自己折腾得一塌糊涂,建议conda create一个环境。

然后把github上的仓库clone到自己的目录下,就可以运行了。中间有一些细节,略。https://github.com/ambarishbiswas/CRISPRDetect_2.2

1
2
tod="/public/home/huangsisi/bin/CRISPRDetect_2.4/"
perl ${tod}CRISPRDetect.pl -f H39_03.fasta -o H39_03.CRISPR -check_direction 0 -array_quality_score_cutoff 3 -T 0

Tool2: casc

casc似乎是已经在CPAN上的一个module.
https://github.com/dnasko/CASC

安装十分方便

1
git clone https://github.com/dnasko/CASC.git
1
2
3
4
perl Makefile.PL
make
make test
make install

注意有可能会发生的报错,

1
Only one of PREFIX or INSTALL_BASE can be given. Not both.

这大概是因为per安装在local-lib( which uses the INSTALL_BASE paradigm)的缘故,那就不要再给PREFIX赋新的目录了。
如果已经进行了赋值的话,在cpan shell里面,修改一下,不要specify PREFIX

1
2
3
o conf makepl_arg ''
o conf mbuildpl_arg ''
o conf commit

并且

1
2
o conf make_arg ''
o conf commit

Anyway,顺利的话已经安装好了casc,那么同样试一下。其中-n 1是用1块cpu的意思。

1
casc -i H39_03.fasta -o ./ -n 1

比较一下两个工具的结果还是有点意思……略