繁体   English   中英

我如何指定名称并打印包含它的区域?

[英]How do i specific names and print region containing it?

Python 学习者:任何帮助将不胜感激。

嗨,我有一个文本文件,其中不同的簇具有不同的序列名称和大小。 我想提取整个集群,如果它具有所有四个名称的所有首字母(st104,pK,NE,TIG),如果首字母是重复的,则无关紧要。

在输入文件中搜索st104,pK,NE,TIG initial of (st104H_20170,pKH911_25081,NE95031.1,TIG_004920),打印如下。

输入.txt

集群 1
0 673aa -st104P_06575
1 673aa -st104H_22488
2 673aa -TIG_004920
3 673aa -pKH911_09284
4 673aa -PKP911_09288
5 696aa -NE95031.1
集群 2
0 673aa -st104P_06575
1 673aa -st104H_22488
2 673aa -st104H_22500
3 673aa -PKP911_09284
4 673aa -PKP911_09288
5 696aa -NE95031.1
集群 3
0 690aa -st104H_20170
1 690aa -pKH911_25081
2 687aa -NE95031.1
3 685aa -TIG_004920
集群 4
0 685aa -st104H_27649
1 690aa -st104P_11877
2 685aa -PKP911_15300
3 685aa -TIG_004920 \

预计 output

集群 1
0 673aa -st104P_06575
1 673aa -st104H_22488
2 673aa -TIG_004920
3 673aa -pKH911_09284
4 673aa -PKP911_09288
5 696aa -NE95031.1
集群 3
0 690aa -st104H_20170
1 690aa -pKH911_25081
2 687aa -NE95031.1
3 685aa -TIG_004920

太感谢了。 周末愉快。

基本上你需要为你的文件格式编写一个解析器。 我建议以下(我没有测试此代码,它可能有错误):

with open(input_file) as fh:
    result = ""
    cluster_content = ""
    for line in fh:
        if line.startswith("Cluster"):
            if all(initial in cluster_content for initial in required_initials):
                result += cluster_content
            cluster_content = ""
        cluster_content += line

米奇乔,
对不起这个奇怪的问题。 随着两行的变化。

使用 open("input_file.txt") 作为 fh:
如果全部(cluster_content 中的初始值('st104','pK','NE','TIG')):

\打印(结果)是 go 之一吗?\

我得到以下信息:
打印(结果,cluster_content)
集群 1
0 673aa -st104P_06575
1 673aa -st104H_22488
2 673aa -TIG_004920
3 673aa -pKH911_09284
4 673aa -PKP911_09288
5 696aa -NE95031.1
集群 3
0 690aa -st104H_20170
1 690aa -pKH911_25081
2 687aa -NE95031.1
3 685aa -TIG_004920
集群 4
0 685aa -st104H_27649
1 690aa -st104P_11877
2 685aa -PKP911_15300
3 685aa -TIG_004920\

打印(结果)
集群 1
0 673aa -st104P_06575
1 673aa -st104H_22488
2 673aa -TIG_004920
3 673aa -pKH911_09284
4 673aa -PKP911_09288
5 696aa -NE95031.1
集群 3
0 690aa -st104H_20170
1 690aa -pKH911_25081
2 687aa -NE95031.1
3 685aa -TIG_004920\

打印(cluster_content)
集群 4
0 685aa -st104H_27649
1 690aa -st104P_11877
2 685aa -PKP911_15300
3 685aa -TIG_004920\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM