组装整合 salmon 定量结果
前言
在转录组分析的过程中在使用 salmon 转录本定量的后的结果一般是一个样本一个结果,但后续需要进行差异分析的时候需要的是整合所有的样本的基因表达量矩阵。
下面是我初步处理后的 salmon 文件结构:
需要对 *.salmon.gene.count.tab 进行处理
下面是取自 AL_N_3.salmon.gene.count.tab 的部分内容
Name AL_N_3
ENSB:ZIylNmwJIYiC6LP 192
ENSB:HqOAmBAR83g0PLg 138
ENSB:ERheWX891cGy65u 0
ENSB:raa7hF97OToBe8J 56
ENSB:u45AeqxTVafqDib 128
ENSB:OStRz_ugGCnhpRm 1755
ENSB:g5esewjaDF2sjFP 486
代码针对上面描述的文件目录进行处理。
代码
import pandas as pd
import os
metadata = pd.read_csv('metadata.txt', sep = '\t')
id_list = metadata['SampleID'].tolist()
# 初始化一个列表来保存所有的数据框
dfs = []
# 需要读取id列表中的所有文件夹中的.salmon.gene.count.tab结尾的文件并将他们全连接merge
# 读取每个文件并加入到列表中
for sample_id in id_list:
file_path = os.path.join(sample_id, f"{sample_id}.salmon.gene.count.tab")
if os.path.exists(file_path):
df = pd.read_csv(file_path, sep='\t')
dfs.append(df)
else:
print(f"File {file_path} does not exist!")
# 检查是否读取了数据框
if dfs:
# 用第一个数据框作为基础开始合并
merged_df = dfs[0]
# 与其他数据框进行合并
for df in dfs[1:]:
merged_df = pd.merge(merged_df, df, on=merged_df.columns[0])
# 保存合并后的数据框
merged_df.to_csv("merged_output.csv", index=False, sep='\t')
标签:定量,df,组装,salmon,ENSB,path,id,merged
From: https://www.cnblogs.com/honeyShi/p/17755856.html