BLAST程序一般用于,BLAST程序一般用于什么的分析

  BLAST程序一般用于,BLAST程序一般用于什么的分析

  最近在自学python,又用大蟒实现了一下爆炸。

  这次更新了打分函数如下,空位罚分改为-5,但不区分缺口打开和差距扩大。

  AGC ta 2-7-5-7G-72-7-5C-5-72-7T-7-5-72

   @作者:久宇 def评分(a,b):#评分函数score=0 lst=[AC , GT , CA , TG ]if a elif a b in lst:score=-5 else:score=-7 return score def BLAST(seq 1,seq 2):#基本局部比对搜索工具L1=len(seq 1)L2=len(seq 2)GAP=-5 #-5对于任何缺口分数=[]点=[]对于范围内的j(L2 1):如果j==0:行1 #在范围(1,l2 1)内为j填充分数和点数空白:letter2=seq2[j-1]为我在范围(1,l1 1)内:字母1=se Q1[I-1]diagonal _ score=score(字母1,字母2)scores[j-1][I-1]left_score=GAP scores[j][I-1]up _ score=GAP scores[j-1][I]max _ score=max(diagonal _ score,left _ score,up_score) scores[j].append(max _ score)if scores[j][I]==diagonal _ score:point[j].append(1)elif scores[j][I]==left _ score:point[j].追加(2) else: point[j].append(3)# trace back alignment 1= alignment 2= I=L2 j=L1 print scores=,scores[I][j]==0:break elif point[I][j]==1:alignment 1=se Q1[j-1]alignment 2=seq 2[I-1]I-=1 elif point[I][j]==2:alignment 1=se Q1[j-1]alignment 2=

  运行结果:

  无疑大蟒对字符串的处理更加强大,语言也更加简单,优雅。比如最后逆序输出对齐,java我是单独写了一个逆序函数,而大蟒只用一个语句就可以完成相同任务。

BLAST程序一般用于,BLAST程序一般用于什么的分析