组装整合 salmon 定量结果

组装整合 salmon 定量结果

前言

在转录组分析的过程中在使用 salmon 转录本定量的后的结果一般是一个样本一个结果,但后续需要进行差异分析的时候需要的是整合所有的样本的基因表达量矩阵。

下面是我初步处理后的 salmon 文件结构:

image-20231010214849751

需要对 *.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')

posted @   仗剑天涯横刀笑  阅读(185)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示