0
안녕하세요 저는 현재 학교에서 작은 프로젝트를 진행 중입니다. 작업은 DNA 가닥과 위치를 취하고 DNA가 선택된 위치 전후에 보완되는지 여부를 확인하는 기능을 작성하는 것입니다. 이것은 내가 지금까지 생각해 낸 코드입니다. translate 함수는 단지 상보성을 검사하는 것으로 단지 잘 작동합니다. 하지만 lis 함수에 DNA를 공급하려고하면 오류가 발생합니다.TypeError : 'int'객체를 호출 할 수 없습니다 whats is wrong?
File "xxx", line 37, in lis
while translate(dna[pos(1-i)],dna[pos(1+i)])=="TRUE":
TypeError: 'int' object is not callable
아무도 무엇이 잘못 될지 알고 있습니까?
def translate(seq, comp):
#matchlist and checklist
basecomplement = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A'}
baselist = ["A","T","G","C"]
#check wether the input is a DNA
if seq not in baselist:
print("FALSE")
elif comp not in baselist:
print("FALSE")
#check if the two (or more) bases are complements
else:
aaseq = []
comp = [comp]
for character in seq:
aaseq.append(basecomplement[character])
print(aaseq)
#print result
if aaseq == comp:
print("TRUE")
else:
print("FALSE")
def lis(dna, pos):
#make a list from DNA input
dna = [dna]
#go to pos in DNA list
for pos in range(len(dna)):
i=1
#check if position before and after pos are complements
#and advance a position if true else stop
while translate(dna[pos(1-i)],dna[pos(1+i)])=="TRUE":
i+=1
return(pos-i + pos+i)
break