2015-10-13 3 views
-1

Мне дали задание на проект, не имеющий опыта программирования. Он просит создать поисковик мотивов, используя циклы, инкременты и бук. Я считаю, что я на правильном пути, но очень неопределенный, поскольку у меня нет опыта программирования. Может ли кто-нибудь помочь мне найти мои ошибки и рассказать мне, что мне нужно сделать, чтобы исправить их. Опять я биолог, парень попросил взять это на иВ то время как циклы для разбора файлов fasta

gi|14578797|gb|AF230943.1| Vibrio hollisae strain ATCC33564 Hsp60 (hsp60) gene, partial cds 
CGCAACTGTACTGGCACAGGCTATCGTAAGCGAAGGTCTGAAAGCCGTTGCTGCAGGCATGAACCCAATG 
GACCTGAAGCGTGGTATTGACAAAGCGGTTGCTGCGGCAGTTGAGCAACTGAAAGCGTTGTCTGTTGAGT 
GTAATGACACCAAGGCTATTGCACAGGTAGGTACCATTTCTGCTAACTCTGATGAAACTGTAGGTAACAT 
CATTGCAGAAGCGATGGAAAAAGTAGGCCGCGACGGTGTTATCACTGTTGAAGAAGGTCAGTCTCTGCAA 
GACGAGCTGGATGTGGTTGAAGGTATGCAGTTTGACCGCGGCTACCTGTCTCCATACTTCATCAACAACC 
AAGAGTCTGGTTCTGTTGATCTGGAAAACCCATTCATCCTGCTGGTTGACAAAAAAGTATCAAACATCCG 
CGAACTGCTGCCTACTCTGGAAGCCGTCGCGAAATCTTCACGTCCACTGCTGATCATCGCTGAAGACGTA 
GAAGGTGAAGCACTGGCAACACTGGTTGTAAACAACATGCGTGGCATCGTAAAAGGGCAGCAGTT 

gi|14578795|gb|AF230942.1| Photobacterium damselae strain ATCC33539 Hsp60 (hsp60) gene, partial cds 
GGCTACAGTACTGGCTCAAGCAATTATCACTGAAGGTCTAAAAGCGGTTGCTGCGGGTATGAACCCAATG 
GATCTTAAGCGTGGTATCGACAAAGCAGTAGTTGCTGCTGTTGAAGAGCTAAAAGCACTATCTGTTCCTT 
GTGCTGACACTAAAGCGATTGCTCAGGTAGGTACTATCTCTGCAAACTCTGATGCAACTGTGGGTAACCT 
AATTGCAAAAGCTATGGATAAAGTTGGTCGTGATGGTGTTATCACGGTTGAAGAAGGCCAAGCGCTACAA 
GATGAGTTAGATGTAGTTGAAGGTATGCAGTTCGATCGCGGTTACCTATCTCCATACTTCATCAACAACC 
AACAAGCAGGTGCGGTGGAGCTAGAAAGCCCATTTATCCTTCTTGTTGATAAGAAAATCTCTAACATCCG 
TGAGCTATTACCAGCACTAGAAGGCGTTGCAAAAGCATCTCGTCCTCTACTGATCATCGCTGAAGATGTT 
GAAGGTGAAGCACTAGCAACACTGGTTGTGAACAACATGCGCGGCATTGTTAAAGTTGCTGCTGTT

Мне нужна помощь.

import re 

#function parsing header for sequence 
def fasta_splitter(x): 
    boo=0 
    seq = "" 
    i=0 
    while i < len(lines) 
     if line[0] ==">"and boo ==0 
     line[i] = header 
     boo = 1 
     i=1+i 
     elif line [i][0] ==">" 
     header=line[0] 
     seq="" 
     i=i+1 
     else 
     seq=seq+line[i] 
      print ("header" + "seq") 

#open file and read file by command line 
x=open('C:\\Python27\\fasta.py.txt','r+') 
lines = x.readlines() 
fasta_splitter(lines) 
#split orgnaism details from actual bases 
# not sure how to call defined function 

re.search(pattern, string) 
# renaming string seq to dna 
seq ="x" 
m = re.search(r"GG(ATCG)GTTAC",dna) 
print "m" 
+0

Как это работает? – 101

ответ

0

Для начала, rеad FASTA с Bio.SeqIO модулем, так что вам не придется писать эту fasta_splitter уродство. Biopython, как правило, замечательный. Во-вторых, вы все испортили. Вы вызываете re.search, не определяя ни шаблон, ни строку. Это просто сбой. Тогда вы пишете

seq="x" 
... 
print "m" 

В обоих случаях используется буквально буквы «х» или «м», и что вам нужны имена переменных. Правильная вещь будет

seq = x 
... 
print(m) 

И все это предполагает, что это студенческое задание, а не фактическое исследование. В последнем случае, как правило, лучше использовать некоторый современный инструмент поиска мотивов: они более чувствительны и биологически правильны, чем может быть любая группа регулярных выражений.