-1

プログラミング経験のないプロジェクトを任されました。while ループ、インクリメンタル、および boo を使用してモチーフ ファインダーを作成するように求められます。私は正しい方向に進んでいると信じていますが、プログラミングの経験がないため、非常に不確実です. 私の間違いを見つけて、それを正すために何をする必要があるかを教えてくれる人はいますか?繰り返しますが、私はこれを引き受けるように頼まれた生物学者です。

gi|14578797|gb|AF230943.1| Vibrio hollisae 株 ATCC33564 Hsp60 (hsp60) 遺伝子、部分 cd
CGCAACTGTACTGGCACAGGCTATCGTAAGCGAAGGTCTGAAAGCCGTTGCTGCAGGCATGAACCCAATG
GACCTGAAGCGTGGTATTGACAAAGCGGTTGCTGCGGCAGTTGAGCAACTGAAAGCGTTGTCTGTTGAGT
GTAATGACACCAAGGCTATTGCACAGGTAGGTACCATTTCTGCTAACTCTGATGAAACTGTAGGTAACAT
CATTGCAGAAGCGATGGAAAAAGTAGGCCGCGACGGTGTTATCACTGTTGAAGAAGGTCAGTCTCTGCAA
GACGAGCTGGATGTGGTTGAAGGTATGCAGTTTGACCGCGGCTACCTGTCTCCATACTTCATCAACAACC
AAGAGTCTGGTTCTGTTGATCTGGAAAACCCATTCATCCTGCTGGTTGACAAAAAAGTATCAAACATCCG
CGAACTGCTGCCTACTCTGGAAGCCGTCGCGAAATCTTCACGTCCACTGCTGATCATCGCTGAAGACGTA
GAAGGTGAAGCACTGGCAACACTGGTTGTAAACAACATGCGTGGCATCGTAAAAGGGCAGCAGTT

gi|14578795|gb|AF230942.1| Photobacterium damselae 株 ATCC33539 Hsp60 (hsp60) 遺伝子、部分 cd
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"
4

1 に答える 1

0

手始めに、Bio.SeqIOモジュールで FASTA を読んでください。そうすれば、この fasta_splitter という怪物を書く必要はありません。Biopython は一般的に優れています。第二に、あなたはほとんどすべてを台無しにしました。パターンまたは文字列を定義せずに re.search を呼び出します。これはクラッシュするだけです。それからあなたは書く

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

どちらの場合も、文字通り「x」または「m」の文字を使用し、必要なのは変数名です。正しいことは

seq = x
...
print(m)

そして、これはすべて、これが学生の課題であり、実際の研究ではないことを前提としています. 後者の場合は、一般に、最新のモチーフ ファインダー ツールを使用する方が適切です。これらのツールは、正規表現の集まりよりも感度が高く、生物学的に正しいものです。

于 2015-10-13T06:16:14.697 に答える