【问题标题】:While loops for parsing fasta files用于解析 fasta 文件的 while 循环
【发布时间】:2015-10-13 04:27:12
【问题描述】:

我被分配了一个以前没有编程经验的项目的任务。它要求使用 while 循环、增量和 boo 创建一个主题查找器。我相信我走在正确的轨道上,但非常不确定,因为我没有编程经验。任何人都可以帮助我找到我的错误并告诉我我需要做什么来纠正它们。再次,我是一个生物学家,被要求接受这个并且

gi|14578797|gb|AF230943.1| Vibrio hollisae 菌株 ATCC33564 Hsp60 (hsp60) 基因,部分 cds
CGCAACTGTACTGGCACAGGCTATCGTAAGCGAAGGTCTGAAAGCCGTTGCTGCAGGCATGAACCCAATG
GACCTGAAGCGTGGTATTGACAAAGCGGTTGCTGCGGCAGTTGAGCAACTGAAAGCGTTGTCTGTTGAGT
GTAATGACACCAAGGCTATTGCACAGGTAGGTACCATTTCTGCTAACTCTGATGAAAACTGTAGGTAACAT
CATTGCAGAAGCGATGGAAAAAGTAGGCCGCGACGGTGTTATCACTGTTGAAGAAGGTCAGTCTCTGCAA
GACGAGCTGGATGTGGTTGAAGGTATGCAGTTTGACCGCGGCTACCTGTCTCCATACTTCATCAACAACC
AAGAGTCTGGTTCTGTTGATCTGGAAAACCCATTCATCCTGCTGGTTGACAAAAAAGTATCAAACATCCG
CGAACTGCTGCCTACTCTGGAAGCCGTCGCGAAATCTTCACGTCCACTGCTGATCATCGCTGAAGACGTA
GAAGGTGAAGCACTGGCAACACTGGTTGTAAACAACATGCGTGGCATCGTAAAAGGGCAGCAGTT

gi|14578795|gb|AF230942.1| damselae光杆菌菌株ATCC33539 Hsp60(hsp60)基因,部分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"

【问题讨论】:

  • 怎么不工作?

标签: python string-parsing motif


【解决方案1】:

对于初学者,阅读带有Bio.SeqIO 模块的FASTA,这样您就不必编写这个fasta_splitter 怪物。 Biopython 通常很棒。 其次,你把所有事情都搞砸了。您在没有定义模式或字符串的情况下调用 re.search。这只会崩溃。然后你写

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

在这两种情况下,您都使用字母“x”或“m”,而您需要的是变量名。正确的事情是

seq = x
...
print(m)

所有这一切都是假设这是一项学生作业,而不是一项实际研究。在后一种情况下,通常最好使用一些现代的主题查找工具:这些工具比任何一组正则表达式都更敏感且生物学上更正确。

【讨论】:

    猜你喜欢
    • 2014-03-27
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2016-05-18
    • 2017-06-25
    • 2022-10-15
    • 2023-02-07
    • 1970-01-01
    相关资源
    最近更新 更多