使用python解析结果

har*_*ari 1 python parsing

我是Python的初学者(我是一名生物学家),我有一个文件,其中包含特定软件的结果,我想使用python解析结果.从以下输出中我想获得得分,并希望将序列分成单个氨基酸.

没有.得分序列

1   0.273778    FFHH-YYFLHRRRKKCCNNN-CCCK---HQQ---HHKKHV-FGGGE-EDDEDEEEEEEEE-EE--
2   0.394647    IIVVIVVVVIVVVVVVVVVV-CCCVA-IVVI--LIIIIIIIIYYYA-AVVVVVVVAAAAV-AST-
3   0.456667        FIVVIVVVVIXXXXIGGGGT-CCCCAV -------------IVBBB-AAAAAA--------AAAA-  
4   0.407581    MMLMILLLLMVVAIILLIII-LLLIVLLAVVVVVAAAVAAVAIIII-ILIIIIIILVIMKKMLA-
5   0.331761    AANSRQSNAAQRRQCSNNNR-RALERGGMFFRRKQNNQKQKKHHHY-FYFYYSNNWWFFFFFFR-
6   0.452381    EEEEDEEEEEEEEEEEEEEE-EEEEESSTSTTTAEEEEEEEEEEEE-EEEEEEEEEEEEEEEEE-
7   0.460385    LLLLLLLLMMIIILLLIIII-IIILLVILMMEEFLLLLILIVLLLM-LLLLLLLLLLVILLLVL-
8   0.438680    ILILLVVVVILVVVLQLLMM-QKQLIVVLLVIIMLLLLMLLSIIIS-SMMMILFFLLILIIVVL-
9   0.393291    QQQDEEEQAAEEEDEKGSSD-QQEQDDQDEEAAAHQLESSATVVQR-QQQQQVVYTHSTVTTTE-
Run Code Online (Sandbox Code Playgroud)

从上表中,我想获得一个具有相同数字,得分的表,但序列分开(列式),所以它应该看起来像

no.      score         amino acid(1st column)

1      0.273778         F

2      0.395657         I

3      0.456667         F
Run Code Online (Sandbox Code Playgroud)

另一个表示第二列氨基酸的表

no       score       amino acid (2nd column)

1       0.273778         F

2       0.395657         I

3       0.456667         I  
Run Code Online (Sandbox Code Playgroud)

表示第三列氨基酸的第三表和第四列氨基酸的第四表等

在此先感谢您的帮助

Fre*_*Foo 5

假设您已打开包含此数据的文件f,则可以使用以下代码复制您的示例:

for ln in f:    # loop over all lines
    seqno, score, seq = ln.split()
    print("%s    %s    %s" % (seqno, score, seq[0]))
Run Code Online (Sandbox Code Playgroud)

要拆分序列,您还需要在以下字母中循环seq:

for ln in f:
    seqno, score, seq = ln.split()
    for x in seq:
        print("%s    %s    %s" % (seqno, score, seq[0]))
Run Code Online (Sandbox Code Playgroud)

这将打印序列号并分数很多次.我不确定这是不是你想要的.