序列比对是许多组学分析人员日常生活中经常需要面对。但是这一简单的任务却因为blast使用的不便捷而令许多人苦恼。明明是一件非常简单的事情,却需要看教程,写脚本去处理。虽然,现如今已经有不少软件能够辅助人们使用调用Blast程序,但是操作起来总是不够简便,亦或者在结果解读方便过于复杂,不够直白。因此,本软件(Multi-omics Hammer)基于这一痛点,希望能够开发一个极简本地Blast功能,方便用户在不需要深度解读序列比对结果的前提下,快读整理Blast结果,并作为初步参考帮助湿实验人员快速切入接下来的实验安排中。
一 数据准备与本地Blast安装
在开始本软件的使用教程前,需要按照Blast程序要求的格式将查询文件和数据库文件准备好。而本地Blast的安装可以直接从https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载,并安装到指定目录。或者,读者可以将安装路径添加到系统路径,这样本软件在调用该程序的时候就无需指定makeblastdb和blast这两个命令所在路径。或许会有读者想到,为什么不重写一个Blast方法而需要调用其他软件呢。的确,重写是避免一个软件重复操作的方法,但是这需要基于这一重写至少还能够等于(重复造轮子)或优于现如今存在的软件。但是,现如今NCBI上的Blast程序已经非常好了,是经历了各种bug后的最优版本了,所以无重写意义。
二 软件调用
介绍完上述功能需要准备的事项后,下面便介绍如何通过软件完成相关分析。
2.1 我们需要先打开‘Blast->blast_visual’选项,如图1所示。
那么,我们就可以看见我们的blast_visual对话框了(图2)。这一对话框运算部分提供了三个选项,分别是‘is nucl’、‘is short’和‘is save’选项。如果复选框勾选了‘is nucl’选项,表明查询序列和查询的数据库均是核酸序列。如果复选框勾选了‘is short’选项,表明查询序列是短序列。这一功能的实现是为了帮助用户能够在数据库中检索短序列(如引物或者小片段RNA等)。注意:这两个对话框如果直接将文件拖入,则会直接读取文件的内容,并展示前100行的数据。而结果文件对话框则只会显示文件的路径。因为,已经提供了结果预览部分。最后,最重要的选项就是‘start’选项了,点击后即可构建数据库并进行比对。除了上述选项外,本软件的其他界面部分也将以行为主进行逐一介绍。
Blast method:Blast结果展现的方法(目前仅有blast_result_visual这一个选项,后续考虑添加相关内容)。
Query files:需要查询的序列。
Background file:用于查询的数据库序列。
Xml file:以xml格式输出的结果文件。
Xml file preview: 对xml格式输出的结果文件进行预览。
output file:整理Blast结果后输出的文件位置。
Visualfile preview: 整理Blast结果后输出的文件内容的预览。
outputitem Type: 需要整理Blast结果的条目。其中条目包括:0(Iteration_query-def),1(Hit_num),2(Hit_id),3(Hit_def),4(Hsp_bit-score),5(Hsp_evalue),6(Hsp_query-from),7(Hsp_query-to),8(Hsp_hit-from),9(Hsp_hit-to),10(Hsp_identity),11(Hsp_positive),12(Hsp_gaps),13(Hsp_qseq),14(Hsp_midline),15(Hsp_hseq)。这些条目对应xml结果文件中数据整理格式。
makeblastdb comand path: 调用指定路径上makeblastdb程序对查询数据库进行格式化处理(如果已将命令添加到系统路径,则该文本框为空)。
Formatting file prefiexs: 数据格式化后的输出文件的后缀,比如file_ prefiexs .ndb、file_ prefiexs .nhr、file_ prefiexs .nin等格式文件。
blast comand path: 调用指定路径上blast程序进行blast比对(如果已将命令添加到系统路径,则该文本框为空)。
Output sequence number: 单个序列所能输出的满足条件的最多序列(本文为5)。
E value: 满足于查询序列比较后的比值小于该e值(本文为0.05)才会输出相关结果。
介绍完blast_visual对话框中的布局含义之后,用户可以将查询序列文件Query file拖入到相应的文本框中(拖入后,软件会自动读取其中内容,并展现在该文本框中),如下图3所示。
需要指出的是,查询序列的文件格式也是固定的。如果读者的查询文件的格式有所不同,可以按照这篇推文《[Multi-omics Hammer软件之fasta格式整理和保守结构域查找]》对格式进行再整理。下文为查询文件的格式:
Query_1 Transcripts_1
ATGAGTTATAGATTAAGTTTTGTGTGATTTTAGGGTGGGATCTAAGATGATAAGAAAATCAAAGGAGTTATGTTAGTGGATAAGCTCTAGAAAGTGTCCAAAAGGTTGAATTTGGACGCTATAAATATGGATAACCGAGAAGATAGTTGCCGCGCTTTCTGCAAGTCACATTCCTCCCTCCTTGATAGTTTTACTTTTAGTATTGTACGGTGGTGTTTAAGTACATGGAAATGTAGGTACATGTATATGGAATTATGAGATTTAATAAATAATAATGTATATAAGTTGTGTCAAAGAAGGTTTTCAATTTGTAAAATAATTTTGTAAAGAAAATTCTTAA
Query_2 Transcripts_1
AGTCGGTGGAGAGCTGAAAGAAATCGTGAAGAACCAGCTGCTGCCGAGAGACCAAAAGCAGAACCGGAAAGCAAAAAAAATAGAAACGAGAGAGAGAGCTGACCGTGTAGGAGCAGAACCGACCAGCAGAAAAGAAAGAAGAGGAAGACGTCCAGCAGCAGTGAAGAGAAGGAGAAGAGGACGTGAAGCAGAGCTGAACCGAGAGAGAGGGAGCTGGACGTGAGCTGAAGCAGAACCGGGAAGAAGAAGAAGAAGGAGTTCTGCAGATCGTGGAGAAGAAGAAGAAGAAGAAGAAGAAAGAGAAGAGGAGGAGATGACCCATCTCTTGTAACCTTTTAATTCCATCCATCATCATCAAGAAAGAATTAAGGGTG
接下来,读者需要将数据库文件拖入到指定的文本框中(拖入后,软件会自动读取其中内容,并展现在该文本框中)。
查询数据库的文件格式为(篇幅有限,这里仅仅展示部分):
gene_10 Transcripts_10.1
GGCGACGGCAGCTAGGGATGGCAAAACATTACTGGATTCATGTGACTTTGTTTTGAGTGAGAGAAAGTACATAGATGGTTGGCGAGAGTCGCAGGGTCCAAATGGGTGTAGGCGCTGAGGGGTCAATTTTTGACAAGCGTTGAGGGGGCCCATGTGAATCAAACAAGACAGAGAGGGCTTTCTTTGACTGGACAACCAATAGTCAAGTAATAGGCCAGGCGGACCACTACGAGTCTACCGCCACCTCTACAACTAACTGCTTGTTTATTGCCCTTTTTTGCTGCTTGTTTTAAGCACTTAATCAAACTTTTTGGTTTGTTTTGCGCCACCTAGTCTCGTGACCTGACCCTCCTGACTGACCCCTCAGACCTCAATCATGATCAAACTTTATA
gene_1005 Transcripts_1005.2
CCCCAAAATCATTAACACTCAAATCATGAACACCCAATTTTTTGTAATTGAGATCTCCGAAAGCTGGACGACTTCCGGAGCAGCTTCAGTCCGGCGTCCGTACAGCTGTGGGATACCCACTGCTGCCGAGTTGGAGAAGGCACAGATTTCAGCGCCGCGCCTCCCACGCCTTCAACCACCACGGCGTCAGCTTCTACGACGCCCTCGTCGACCAGGTCAAGTGCAAGAAGCATTCGTTTGTGAGTG
gene_101 Transcripts_101.1
TTGTTTGTTCAACTCAATTTTATAATAATAATAATAAAAATAAAACGATTCATTATAAAAAAAAAAAAAAAGGGAAAATCAGACAAAACACGAAGTACTGAGAAACAATAATATTTTACACTGCTAGAACAAAACACCACTTGAACTCCTCTCTTGTTCACCATAAAAAGTTAGCTAGCTCCTGTTTCCTGCTCGATCTAGGGTTTTTGAATTGAATCCAAACCAATCCAACAGGTTGTTGACTGTCAAGTGACAAAGATCA
随后,点击‘start’选项后,本软件会首先调用makeblastdb程序对查询所用的数据库进行格式化以便blast程序调用,并将结果冠以指定的后缀,如下图5所示。
格式化数据之后,调用blast(n/p)程序会输出的结果共包含两个文件,其中一个是blast的结果文件xml file,如下图6所示。
输出结果的另一个文件即是对blast结果进行整理后的文件(通过本软件所带的小脚本整理),如下图7所示。
整理后的文件内容如下所示:
C:\software\Local_Blast\blast_2.12.0\bin\makeblastdb -in C:\Users\Administrator\Desktop\temp_file\temp\Example_file\demo_Blast_1_blast_result_visual_1.txt -dbtype nucl -parse_seqids -out C:\Users\Administrator\Desktop\temp_file\temp\Example_file\demo_Blast_1_blast_result_visual_1.txt
C:\software\Local_Blast\blast_2.12.0\bin\blastn -query C:\Users\Administrator\Desktop\temp_file\temp\Example_file\demo_Blast_1_blast_result_visual_2.txt -db C:\Users\Administrator\Desktop\temp_file\temp\Example_file\demo_Blast_1_blast_result_visual_1.txt -outfmt 5 -num_threads 5 -max_target_seqs 5 -evalue 0.02 -out C:\Users\Administrator\Desktop\temp_file\temp\Example_result\Result_xml.xml
Iteration_query-def=Query_1 Transcripts_1 Hit_num=1;;Hit_id=gene_1013;;Hit_def=Transcripts_1013.2;;Hsp_bit-score=628.981;;Hsp_evalue=0;;Hsp_query-from=1;;Hsp_query-to=340;;Hsp_hit-from=1;;Hsp_hit-to=340;;Hsp_identity=340;;Hsp_positive=340;;Hsp_gaps=0;;Hsp_qseq=ATGAGTTATAGATTAAGTTTTGTGTGATTTTAGGGTGGGATCTAAGATGATAAGAAAATCAAAGGAGTTATGTTAGTGGATAAGCTCTAGAAAGTGTCCAAAAGGTTGAATTTGGACGCTATAAATATGGATAACCGAGAAGATAGTTGCCGCGCTTTCTGCAAGTCACATTCCTCCCTCCTTGATAGTTTTACTTTTAG
整理后的文件内容的前两行即为本软件所调用的系统命令。如上文所示,本软件调用了makeblastdb和blast两个命令。整理后的文件的后续内容即为对blast结果整理后的数据。
三 惯例小结
虽然,现在也有一些软件提供了类似的功能,但是本软件所提供的这一功能无疑是最简便的,更无过多复杂的内容,方便各位用户快速上手。最后,读者觉得还有什么功能需要实现,也可直接通过公众号或在简书上留言,也欢迎大家多用Multi-omics Hammer软件,多提宝贵建议。
最后,本软件与Multi-omics Visull软件一起搭配使用效果更佳图片。也欢迎大家搜索V信,公众,号:生信小院,其中分享了更多了与生信学习的相关信息,是最早更新的平台。
软件下载地址:
https://github.com/wangjun258/Multi-omics-Hammer