本地BLAST使用方法:
注意:读入读出文件的名字中不能有空格! 1. 运行cmd,在dos状态下进入到本文件夹的bin文件夹下面 2. 将查询序列文件(比如me.fasta)和数据库文件(比如human.fasta)文件也放入bin文件夹里面。(注意:要使用fasta格式编辑序列) 3. 预处理数据库文件。(这步是必需的,懂得blast工作原理的人应该知道,这步在为数据库中的序列做hash表/索引表,以保证下步搜索能够快速完成,不用遍历数据库)预处理使用formatdb命令。具体格式如下: formatdb -i ecoli.nt -p F -o T 其中-i 输入需要格式化的源数据库名称 -p 文件类型,是核苷酸序列数据库,还是蛋白质序列数据库 T – protein F - nucleotide [T/F] Optional default = T -a 输入数据库的格式是ASN.1(否 则是FASTA) T - True, F - False. [T/F] Optional default = F -o 解析选项 T - True: 解析序列标识并且建立目录 F - False: 与上相反 [T/F] Optional default = F 该步成功后,文件夹内会多出7个文件。 4. 开始比对时,在命令行键入下列命令:
blastall -p blastn -i myRNA.fasta -d humanRNA.fasta -o myresult.blastout -a 2 -F F -T T -e 1e-10 (注意是e,不是E)
解释如下:
blastall: 这是本地化/命令行执行blast时的程序名字!(Tips:blastall直接回车就会给出你所有的参数帮助,但是英文的)
-p: p 是program的简写,program在计算机领域中是程序的意思。此参数是指定要使用何种子程序,所谓子程序,就是针对不同的需要,如核酸序列和核酸序列进行比对、蛋白质序列和蛋白质序列进行比对、假设翻译后核酸序列于蛋白质序列进行比对,选择相应的子程序: blastn 是用于核酸对核酸 blastp 是蛋白质对蛋白质序列 等等,一共5个自程序。在核酸序列中搜索蛋白序列是tblastn,在蛋白序列中搜索核酸序列是blastx.
-i: i 是input的简写,意思是输入文件,就是你自己的要进行比对的序列文件(fasta格式)
-d: d是database的简写,意思是要比对的目标数据库,在例子中就是humanRNA.fasta
-o: o是output的简写,意思是结果文件名字,这个根据你自己的习惯起名字,可以带路径,(上边两个参数-i -d 也都可以带路径)
*注意以上4个参数是必须的,缺一不可,下面的参数是为了得到更好的结果自己可调的参数,如果你不加也没有关系,blastall程序本身会给一个默认值!
-a: 是指计算时要用的CPU个数,我的机器有两个CPU,所以用-a 2,这样可以并行化进行计算,提高速度,当然你的计算机就一个CPU,可以不用这个参数,系统默认值为1,就是一个CPU
-F: 是filter的简写,blastall程序中有对简单的重复序列和低复杂度的一些repeats过滤调,默认是T (注意以后的有几种参数就两个选项,T/F T就是ture,真,你可以理解为打开该功能; F就是false,假,理解为关闭该功能)
-T: 是HTML的简写,是指blast结果文件是否用HTML格式,默认是F!如果你想用IE看,我建议用-T T
-e: 是Expectation value,期望值,默认是10,我用的10-10!
还可以 -m 8 (是表格输出) eg: blastall -p blastn -i myRNA.fasta -d humanRNA.fasta -o myresult.blastout -m 8
|