Advertisement
camila_tonetti

Lab9

Nov 27th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.02 KB | None | 0 0
  1. class DNA:
  2.     def __init__(self,nome_DNA=None,seq_bases=None):
  3.         self.nome_DNA=nome_DNA
  4.         self.seq_bases=seq_bases
  5.     def countGC(self):
  6.         """GC percent"""
  7.         count=0
  8.         for i in self.seq_bases:
  9.             if i=="G" or i=="C":
  10.                 count=count+1
  11.         print float(count)/float(len(self.seq_bases))
  12.     def __str__(self):
  13.         return "DNA ", self.nome_DNA, ":", self.seq_bases
  14.     def __eq__(self, other):
  15.         print self.seq_bases == other.seq_bases
  16.  
  17. seq1 = DNA("seq", "AGTAGTGCCTTATTAATTA")
  18. seq2 = DNA("seq", "AGTAGTGCCTTATTAATTA")
  19.  
  20. class Protein(DNA):
  21.     def __init__(self, nome_p=None, seq_amino=None, seq_bases=None):
  22.         self.nome_p=nome_p
  23.         self.seq_amino=seq_amino
  24.         DNA.__init__(self, seq_bases)
  25.     def __str__(self):
  26.         return "Protein ", self.nome_p, ":", self.seq_amino, "--> ", DNA.__str__(self)
  27.     def __eq__(self, other):
  28.         print self.seq_amino == other.seq_amino
  29.     def hidrophobicityScale(self, windowSize):
  30.         dic={"A": 1.8, "R": -4.5, "N": -3.5, "D": -3.5, "C": 2.5, "Q": -3.5, "E": -3.5, "G": 0.4, "H": -3.2, "I": 4.5, "L": 3.8, "K": -3.9, "M": 1.9, "F": 2.8, "P": -1.6, "S": -0.8, "T": -0.7, "W": -0.9, "Y": -1.3, "V": 4.2}
  31.         if 0 < windowSize <= len(self.seq_amino):
  32.             t=len(self.seq_amino)/windowSize #a sequencia sera percorrida de t em t aminoacidos
  33.             i=0
  34.             j=[]
  35.             for i in range(len(self.seq_amino)):
  36.                 j.append(dic[self.seq_amino[i]])
  37.                 i=i+t
  38.         print j
  39.  
  40. """o metodo hidrophobicityScale percorre a sequencia de aminoacidos da proteina (letras) de acordo com a windowsize (numero), retornando o valor de
  41. hidrofobia para cada aminoacido (dic), o que gera uma lista de valores(j). Caso o tamanho da sequancia nao seja um multiplo da
  42. windowszie, os ultimos aminoacidos sao desconsiderados"""
  43.  
  44.  
  45.  
  46. pro1 = Protein("shh", "ARRRNLLKAM", seq1)
  47. pro2 = Protein("shh", "ARRRNLLKAM", seq2)
  48.  
  49. seq1 == seq2
  50. pro1 == pro2
  51.  
  52. pro1.hidrophobicityScale(2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement