enzyme_kcat
收藏数据集概述
数据集信息
- 特征:
seqs: 序列数据,类型为字符串 (string)labels: 标签数据,类型为浮点数 (float64)
- 分割:
train: 训练集,包含6837个样本,占用2933951字节valid: 验证集,包含498个样本,占用217038字节test: 测试集,包含469个样本,占用204262字节
- 下载大小: 2178499字节
- 数据集总大小: 3355251字节
配置
- 配置名称:
default- 数据文件路径:
train:data/train-*valid:data/valid-*test:data/test-*
- 数据文件路径:
数据处理
- 数据来源:
- kcat值:
- kcat值经过log10归一化处理,单位为log10(1/s)。
- 由于kcat值在反应中被平均化且存在反应模糊性,因此它只是一个催化速率的通用代理,数值越高表示催化速率越快。
数据处理代码
python import pandas as pd from datasets import Dataset, DatasetDict, concatenate_datasets
def process_dataset(dataset_dict): precedence = [train, valid, test] # 为每个数据集添加split列 for split in dataset_dict.keys(): dataset_dict[split] = dataset_dict[split].add_column(split, [split]*len(dataset_dict[split])) # 将所有分割合并为一个数据集 all_data = concatenate_datasets([dataset_dict[split] for split in dataset_dict.keys()]) # 转换为pandas DataFrame df = all_data.to_pandas() # 移除长度小于50的序列 df[seq_length] = df[seqs].apply(len) df = df[df[seq_length] >= 50] # 按seqs分组以查找重复项并平均标签 def aggregate_group(group): avg_label = group[labels].mean() # 将序列分配到其出现的最高优先级分割 for p in precedence: if p in group[split].values: selected_split = p break return pd.Series({labels: avg_label, split: selected_split}) df_grouped = df.groupby(seqs).apply(aggregate_group).reset_index() # 将DataFrame拆分为原始分割,且不包含重叠序列 new_dataset_dict = DatasetDict() for split in precedence: df_split = df_grouped[df_grouped[split] == split] new_dataset_dict[split] = Dataset.from_pandas(df_split[[seqs, labels]], preserve_index=False) return new_dataset_dict




