网页版blast构建

  之前做网站,要构建一个网页版的blast,我是一脸懵逼,这东西咋做,我只会在NCBI上用啊,网上找的资料基本还都是如何使用blast我就更懵逼了,问了同学,打开了思路,biopython上有相关函数但是好慢好卡,还容易崩,我又问问了,在本地下载个blast+再写个函数,跑就完事了,最后分析下结果,反正能比对就ok了,按着这思路,就做了如下的工作。

  1.下载blast+

   ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ 下载对应的版本并进行安装

  2.网页部分的构建

   因为只需要blastn的功能,所以仿照blastn界面谢了一个界面

   2.1 涉及到参数及设计

    序列输入  =》 -query <file_in> 输入你要查找的序列,将上传的序列文件名放进去,最好是绝对路径

    查询范围  =》 -query_loc <n-x> 需要查找的位置(start-stop) ps:start/stop输入是数字型

    查询类型  =》 -task <string> 选择查询的类型,blastn下有好几种类型"blastn","blastn-short","megablast"各有有缺

    保留阈值  =》 -evalue 保留匹配的阈值,自己设定,一般默认是10

    匹配长度  =》 -word_size <integer,>=4> 设置最佳匹配长度

    匹配得分  =》 -reward <int,>=0> 匹配上的得分

    错配罚分  =》 -penalty <int,>=0> 错配的罚分

    open gap  =》 -gapopen<int> open gap 分数

    extend gap =》 -gapextend<int> extend gap分数

    筛选    =》 -dust<str> "yes"or"no" 筛选低复杂区域

    结果输出  =》 -outfmt 输出结果格式

           我用的是 -6 用"\t"格式分割  -7 用"\t"分割,包含注释

           输出还有一些列格式,没怎么用到,所以不赘述

    -6 输出一般是12列

    Queryid(查询id)  Subject id(比对上的id)   identity(配对一致性%)  alignment length(比对上的区域长度)  mismatches(错配数)

    gap open  q.start(匹配上的查询序列起点)  q.end(匹配上查询序列终点)  s.start(匹配上目标序列的起点)  s.end(匹配上目标序列的终点)

    e-value  bitscore(比对上的的得分)

  3.构建自己的库

   载入自己的需要的fa数据作为库 blastn 只要nucl库

   命令:makeblastdb.exe -in 基因组genomic.fna -parse_seqids -hash_index -dbtype nucl -out 自定义库名

  4.写程序获取上传的信息

   我用的是python,切换到blast+所在文件夹/bin/下

   """blastn -query %s  -db %s -out %s -task %s -evalue %d -word_size %d -reward %d -penalty %d -gapopen %d -gapextend %d -dust %s -outfmt 6 """%(inname,db,outname,task,evalue,word_size,reward,penalty,gapopen,gapextend,dust)

    设置好语句,就可以跑了

  5.获取到结果,将结果循环展示到结果界面上

 

  大概的构建过程就是这样,见仁见智。。记录一下,没白看。。。。

转载于:https://www.cnblogs.com/pipix/p/9929642.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值