Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DNA:
- def __init__(self,nome_DNA=None,seq_bases=None):
- self.nome_DNA=nome_DNA
- self.seq_bases=seq_bases
- def countGC(self):
- """GC percent"""
- count=0
- for i in self.seq_bases:
- if i=="G" or i=="C":
- count=count+1
- print float(count)/float(len(self.seq_bases))
- def __str__(self):
- return "DNA ", self.nome_DNA, ":", self.seq_bases
- def __eq__(self, other):
- print self.seq_bases == other.seq_bases
- seq1 = DNA("seq", "AGTAGTGCCTTATTAATTA")
- seq2 = DNA("seq", "AGTAGTGCCTTATTAATTA")
- class Protein(DNA):
- def __init__(self, nome_p=None, seq_amino=None, seq_bases=None):
- self.nome_p=nome_p
- self.seq_amino=seq_amino
- DNA.__init__(self, seq_bases)
- def __str__(self):
- return "Protein ", self.nome_p, ":", self.seq_amino, "--> ", DNA.__str__(self)
- def __eq__(self, other):
- print self.seq_amino == other.seq_amino
- def hidrophobicityScale(self, windowSize):
- 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}
- if 0 < windowSize <= len(self.seq_amino):
- t=len(self.seq_amino)/windowSize #a sequencia sera percorrida de t em t aminoacidos
- i=0
- j=[]
- for i in range(len(self.seq_amino)):
- j.append(dic[self.seq_amino[i]])
- i=i+t
- print j
- """o metodo hidrophobicityScale percorre a sequencia de aminoacidos da proteina (letras) de acordo com a windowsize (numero), retornando o valor de
- hidrofobia para cada aminoacido (dic), o que gera uma lista de valores(j). Caso o tamanho da sequancia nao seja um multiplo da
- windowszie, os ultimos aminoacidos sao desconsiderados"""
- pro1 = Protein("shh", "ARRRNLLKAM", seq1)
- pro2 = Protein("shh", "ARRRNLLKAM", seq2)
- seq1 == seq2
- pro1 == pro2
- pro1.hidrophobicityScale(2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement