File size: 808 Bytes
e1810a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from tname import *
from Rfile import *


def Sort_Sco_Kcat(file):
    dlkcats = []
    contents = j_reads(file.name)

    # dlkcat sort根据kcat值对文件进行排序
    name = Name()
    kcatname = name + r"mkcat_sort.fa"  # 结果文件名称
    for i in range(2, len(contents)):
        content = contents[i].split()
        dlkcats.append(float(content[3]))
    s_dlkcat = []
    s_dlkcat = sorted(range(len(dlkcats)), key=lambda k: dlkcats[k], reverse=True)

    # 写入文件
    with open(kcatname, "a") as f:
        f.write(contents[0])
        # 第一行第二行不参与排序,直接写入
        f.write(contents[1])

    # 写入剩下的行
    for i in range(0, len(dlkcats)):
        with open(kcatname, "a") as f:
            f.write(contents[s_dlkcat[i]+2])
    return kcatname