编写python脚本需要一些帮助

时间:2016-02-26 19:56:05

标签: python

我需要帮助编写一个Python脚本来解析这个特定的GO注释文件,并只输出描述生物过程(P)的行。样本输出将如图所示。 这就是我到目前为止......

              import sys
              import re
              file_object = open(sys.argv[[1]])
                 for some_line in file_object:
                 some_line = some_line.strip('\n')
                    list = some_line.split("\t")
                         if re.search('>', some_line):
                            sys.stdout.write(list[1]+ "\t")

我想格式化此文件http://downloads.yeastgenome.org/curation/literature/go_slim_mapping.tab,以便仅输出描述生物过程(P)的行。

2 个答案:

答案 0 :(得分:0)

正则表达式只是查看第4个值(格式为Value-Spaces-Value-Spaces-Value-Spaces ...),然后检查它是否为带有withespace的'P'。如果匹配则打印行

import sys
import re
regex = re.compile(r'(\S+\s+){2,3}P\s.*')
with open(sys.argv[1]) as file:
    for line in file:
        line = line.strip() #Consider striping the line if it's necessary
        if regex.search(line):
            print(line)

答案 1 :(得分:0)

这与@ MrE的回答相同,但未使用re

该文件以制表符分隔,因此我们可以这样做:

with open(sys.argv[1]) as inf:
    for line in inf:
        parts = line.split('\t', 4)
        if len(parts) >= 4 and parts[3] == 'P':
            print(line, end='')