TM-align蛋白质聚类数据格式转化
TM-align 对蛋白质结构中的序列进行同源性聚类分析的结果格式如下:
8p0k_H8p0k_H
8p0k_H8p0n_H
8p0k_H8p0j_H
8p0v_M8p0v_M
8p0y_O8p0y_O
8p0y_O8p10_O
8p0y_O8p0y_A
8p0y_O8p10_D
8p0y_O8p24_V
8p0y_O8p24_Z
其中,第一列为聚类的代表序列,第二列为这一聚类的同源序列
把这个格式转换成csv文件:
第一列为编号,第二列为聚类的代表序列,第三列为所有的其它同源序列,逗号隔开。
如:
IDX CLUSTER HOMOLOG
1 8p0k_H "8p0n_H,8p0j_H"
代码:
import csv
from collections import defaultdict
# 初始化字典存储代表序列及其同源序列
clusters = defaultdict(list)
# 从文件中读取数据
with open('result.tsv', 'r') as file:
for line in file:
rep, seq = line.strip().split() # 去除换行符并按制表符分割
if rep != seq: # 只保留同源序列,去掉代表序列
clusters[rep].append(seq)
# 将结果写入CSV
with open('clusters.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['IDX', 'CLUSTER', 'HOMOLOG'])
for idx, (rep, seqs) in enumerate(clusters.items(), 1):
writer.writerow([idx, rep, ','.join(seqs)])
print("CSV文件已生成")
可以进一步把不符合要求的结构过滤掉,从而得到的数据集可以用于结构预测或蛋白质设计的模型研究。
原文地址:https://blog.csdn.net/qq_27390023/article/details/142468491
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!