Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. y
  2. =['G','A','T','A','C','T','A']
  3. x
  4. =['G','A','T','T','A','C','C','A']
  5.  
  6. a = len(x)
  7. b = len(y)
  8. # S={'AA': 1, 'AT': -1, 'AG':
  9. -1,'AC': -1, 'TA': -1, 'TT': 1,
  10. 'TG':-1, 'TC': -1, 'GA': -1, 'GT':
  11. -1,'GG': 1, 'GC': -1, 'CA': -1,
  12. 'CT':-1, 'CG': -1, 'CC': 1, }
  13. S ={'A': {'A':1, 'G': -1, 'C':
  14. -1,'T': -1}, 'G': {'A': -1, 'G':
  15. 1,'C': -1, 'T': -1},'C': {'A':
  16. -1,'G': -1, 'C': 1, 'T': -1},
  17. 'T':{'A': -1, 'G': -1, 'C': -1,
  18. 'T':1}}
  19.  
  20. import numpy as np
  21.  
  22. F = np.zeros((len(x) + 1, len(y) + 1))
  23. #print(F)
  24. d = -1
  25. for i in range(0, a+1):
  26. F[i][0] = d * i;
  27. for j in range(0, b+1):
  28. F[0][j] = d * j;
  29.  
  30.  
  31. for i in range(1, a+1):
  32. for j in range(1, b+1):
  33. Match = F[i - 1][j - 1] + S[x[i-1]][y[j-1]]
  34. Delete = F[i - 1][j] + d
  35. Insert = F[i, j - 1] + d
  36. F[i][j] = max(Match, Insert, Delete);
  37.  
  38. alX = ""
  39. alY = ""
  40. i = a
  41. j = b
  42. while(i > 0 or j > 0):
  43. if(i > 0 and j > 0 and F[i][j] == F[i - 1][j - 1] +
  44. S[x[i-1]][y[j-1]] ): #+S.values([x[i-1], y[j]] )
  45. alX = x[i-1] + alX
  46. alY = y[j-1] + alY
  47. i = i - 1
  48. j = j - 1
  49.  
  50.  
  51. elif(i > 0 and F[i,j] == F[i-1][j] + d):
  52. alX = x[i-1] + alX
  53. alY = "-" + alY
  54. i = i-1
  55. else:
  56. alX = "-" + alX
  57. alX = y[j-1] + alY
  58. j = j - 1
  59.  
  60. #print(F[i][j])
  61. print(F)
  62. print(alX)
  63. print(alY)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement