Overview

在对氨基酸序列进行机器学习建模时,需要对氨基酸序列做特征提取,越丰富的特征通常可以带来越精准的预测结果,因此可以由原始的氨基酸序列预测出蛋白质的2级结构,水溶性等,丰富特征提取时的特征。
SCRATCH作为UCI开发的一个套件包,提供了多种不同的蛋白质预测功能,这些预测器被打包成一个集成的套件安装包SCRATCH-1D (SCRATCH Suite of One-Dimensional Predictors)

  • SSpro Release 5.2 Protein secondary structure prediction (3-class)
  • SSpro8 Release 5.2 Protein secondary structure prediction (8-class)
  • ACCpro Release 5.2 Protein relative solvent accessibility prediction (at the 25% threshold)
  • ACCpro20 Release 5.2 Protein relative solvent accessibility prediction (thresholds 0% to 95%)
  • PROFILpro Release 1.1 Protein evolutionary information / sequence profiles for 1D predictors
  • HOMOLpro Release 1.1 Homology-based secondary structure & solvent accessibility prediction
  • 1D-BRNN Release 3.3 One-dimensional bidirectional recurrent neural networks

上面文档对于这些软件的说明非常清晰明了,这里就不再一一解释。

实际上,SCRATCH-1D还包含了一个BLAST包(BLAST也是PSIPRED运行所需要的安装包,同样由UCI开发),版本号为blast-2.2.26,32位。官方的文档中也对这个包进行了说明:

The linux 32 bit version of blast is delivered by default in the 'pkg'
sub-folder of the package for a better compatibility with most operating
systems. If this version of blast is not compatible with your operating
system or for improved performances on 64 bit systems, please download
the blast version matching your operating system at:

ftp://ftp.ncbi.nlm.nih.gov/blast/executables/release/LATEST/

and replace the version provided in the package by the downloaded one
without changing the installation folder name (even the release number).

如果自带的这个BLAST包不兼容或者需要64位的版本,可以自行去上面的网站上下载。

1.下载SCRATCH-1D

可以通过访问UCI的官方下载页面 http://download.igb.uci.edu/,找到 SCRATCH-1D release 1.1(linux version, 2.7 GB)去下载,后面的 installation instructionsdocumentation就是本文参考的官方说明和安装文档。

2.安装SCRATCH-1D

参照installation instructions上面的步骤,可以很容易地安装。

  1. 将下载的SCRATCH-1D_1.1.tar.gz压缩包解压,解压后文件夹为SCRATCH-1D_1.1

    tar -xvzf SCRATCH-1D_1.1.tar.gz
    
  2. 进入SCRATCH-1D_1.1

    cd SCRATCH-1D_1.1
    
  3. 运行SCRATCH-1D_1.1目录下的安装脚本install.pl

    perl install.pl
    

这时命令行输出会提示安装成功,并给出如何验证以及运行SCRATCH-1D

3.验证SCRATCH-1D

SCRATCH-1D_1.1中有一个doc文件夹,里面提供了一个测试输入文件test.fasta,以及正确运行程序后应该有的四个输出文件test.hom.ss
test.hom.ss8test.hom.acctest.hom.acc20

  1. 假设现在位于SCRATCH-1D文件夹下,首先进入doc文件夹。

    cd doc
    
  2. 在这里运行SCRATCH-1D:

    ../bin/run_SCRATCH-1D_predictors.sh test.fasta test.out 1
    

    这里调用的是SCRATCH-1D/bin目录下的run_SCRATCH-1D_predictors.sh运行脚本,输入文件为test.fasta,输出文件为test.out.*的文件,最后的参数1是程序运行的线程数,如果你的电脑不少于4核,这个数字可以改为4

  3. 到这里为止,本来是应该验证成功,结束。但是如果你的计算机是64位,无论是64位的mac,还是64位的linux,都会在运行SCRATCH-1D时报以下错误:

    [SCRATCH-1D_predictions.pl] generating sequence profiles...
    chmod: /Users/wangjiawei/Bioinformatics/Softwares/SCRATCH-1D_1.1/tmp/20150917-214412-150982209579/dataset.pro: No such file or directory
    [SCRATCH-1D_predictions.pl] failed generating sequence profiles...
    

    原因在于SCRATCH-1D的运行需要调用BLAST,上面已经提到过,SCRATCH-1D已经自带了一个32位版本的blast-2.2.26,位于文件夹SCRATCH-1D_1.1/pkg/中。
    SCRATCH-1D的运行中,需要调用SCRATCH-1D_1.1/pkg/bin/中的可执行程序blastpgp关于blastpgp程序的详细信息请查看这里),这个32位的程序在64位系统中不兼容,所以需要手动下载一个正确的BLAST版本来替换SCRATCH-1D_1.1/pkg/中的blast-2.2.26
    下面我们依然选择下载一个2.2.26版本的BLAST,对于mac和64位的linux,有两个不同的版本下载,点击网址ftp://ftp.ncbi.nih.gov/blast/executables/release/2.2.26/

    下载完之后解压缩,就会得到一个blast-2.2.26文件夹,用这个文件夹替换SCRATCH-1D_1.1/pkg/中的blast-2.2.26文件夹就可以了。

  4. 到这里就真的可以正常使用了,进入SCRATCH-1D_1.1/doc/,运行SCRATCH-1D去分析doc中的test.fasta文件

    ../bin/run_SCRATCH-1D_predictors.sh test.fasta test.out
    

    命令行输出以下信息:

    [SCRATCH-1D_predictions.pl] 4 protein sequence(s) found
    [SCRATCH-1D_predictions.pl] generating sequence profiles...
    [SCRATCH-1D_predictions.pl] running SCRATCH-1D predictors...
    [SCRATCH-1D_predictions.pl] running homology analysis...
    [SCRATCH-1D_predictions.pl] writing SSpro         predictions...
    [SCRATCH-1D_predictions.pl] writing SSpro8 predictions...
    [SCRATCH-1D_predictions.pl] writing ACCpro predictions...
    [SCRATCH-1D_predictions.pl] writing ACCpro20 predictions...
    [SCRATCH-1D_predictions.pl] job successfully completed!
    
  5. run_SCRATCH-1D_predictors.sh的第一个参数是要输入的fasta序列文件,test.out是输出结果的前缀,../bin/run_SCRATCH-1D_predictors.sh test.fasta test.out共产生四个结果文件,分别是test.out.sstest.out.ss8test.out.acctest.out.acc20
    SCRATCH-1D同样在doc文件夹中提供了test.fasta分析结果的标准结果,可以用来检查我们自己刚才的结果是否正确,与上面四个一一对应的是test.hom.sstest.hom.ss8test.hom.acctest.hom.acc20

  6. 这里我们检查下生成的四个结果是否与系统提供的标准结果一致,以test.out.ss为例,我们可以手动检查test.out.sstest.hom.ss是不是一样,也可以通过diff命令查看,diff命令会将两个文件逐行比较,并列出内容不同的行。

    diff test.hom.acc test.out.acc
    

    结果输出为空,说明两者完全一致。
    到这里,SCRATCH-1D的安装就结束了。

4.使用SCRATCH-1D

其实从上面的文字已经可以看出来,SCRATCH-1D是通过SCRATCH-1D_1.1/bin/中的run_SCRATCH-1D_predictors.sh脚本运行的。
任何时候,查看脚本的--help选项总是好的,进入*SCRATCH-1D_1.1/bin/,运行下列命令:

./run_SCRATCH-1D_predictors.sh --help

系统就会列出该脚本的使用方式:

Usage : ./run_SCRATCH-1D_predictors.sh input_fasta  out_prefix  [num_threads]

非常的简单易用,只需要指定输入的fasta文件,输出文件前缀,以及一个可选的线程数,num_threads依据你电脑的实际CPU内核数指定即可。

程序的整体运行还是比较耗时的,以下面的配置为例:

    处理器  2.8 GHz Intel Core i5
    内存  8 GB 1600 MHz DDR3

运行系统的示例文件(包含4条序列),大约花了10分钟。