windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)

时间:2024-03-29 21:37:06

本文的主要内容分为

1、下载blast+程序

2、下载nr数据库,也可选择下载nt数据库或其他数据库,操作一样。

3、修改环境变量并本地化blast程序

4、将自己的序列与数据库文件对比,生成pssm矩阵

5、通过python程序批量生成pssm矩阵

一、下载blast+程序 (#mark1)

ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载blast+程序
或者进入NCBI输入blast进入界面
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
下载到非系统盘,如E:\blast 并新建文件夹db,后面放nr数据库使用。
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)

二、下载nr数据库或者其他数据库

地址https://ftp.ncbi.nlm.nih.gov/blast/db/
可以下载已经格式化过的nr数据库分文件
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
下载完之后解压在刚才新建的db文件夹下。会得到以下文件

windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)

三、修改环境变量并本地化blast程序

使用 win+r 命令进入运行界面,输入sysdm.cpl进入系统环境变量设置
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
设置环境变量,方便后续操作
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
并添加配置文件
新建txt文件,里面输入
[NCBI]
Data=“E:\blast\data”
并把文件命名为ncbi.ini,放入C:\WINDOWS目录下
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)

四、此时可进行比对操作(blastn、blastp、psiblast)

我用的是psiblast,打开命令行。使用cd命令切换到bin目录下
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
跑完之后可得到pssm矩阵
pssm矩阵实例长这个样子
windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)

五、使用Python程序批量生成pssm矩阵

#!/usr/bin/python
# -*- coding:utf-8 -*-
import os
totalSize = 0
fileNum = 0
dirNum = 0
def visitDir(path):
    global totalSize
    global fileNum
    global dirNum
    for lists in os.listdir(path):
        sub_path = os.path.join(path, lists)
        if os.path.isfile(sub_path):
            fileNum = fileNum+1                      # 统计文件数量
            totalSize = totalSize+os.path.getsize(sub_path)  # 文件总大小
        elif os.path.isdir(sub_path):
            dirNum = dirNum+1                       
            visitDir(sub_path)                          
visitDir("C:/Users/cpc/Desktop/新建文件夹/dp525/")
print(fileNum)
for i in range(1,fileNum+1):
    os.system("E:/blast/bin/psiblast -query C:/Users/cpc/Desktop/新建文件夹/dp525/"+ str(i)+"_dp.txt"+" -db nr -num_iterations 3"+" -out_ascii_pssm "+str(i)+".pssm")

windows平台本地化blast2.8.0(构建NR本地数据库,批量生成pssm打分矩阵)
参考文献:linux系统下使用psi_blast生成位置特异性打分矩阵(PSSM)