gpt4 book ai didi

r - 基因表达中的相关案例与对照

转载 作者:行者123 更新时间:2023-12-01 02:02:46 25 4
gpt4 key购买 nike

我有来自 77 名癌症患者的基因表达数据。我有一组来自患者的血液,一组来自患者的肿瘤,一组来自患者的健康组织:

data1 <- ExpressionBlood
data2 <- ExpressionCancerTissue
data3 <- ExpressionHealtyTissue

我想进行分析,以确定肿瘤组织中的表达是否与我所有基因在血液中的表达相关。做这个的最好方式是什么?

最佳答案

如果您熟悉 python,我会使用 pandas .它使用类似于 R 的“DataFrames”,因此您可以采用这个概念并将其应用于 R。

假设您的 data1是一个分隔文件,格式如下:

GeneName | ExpValue |
gene1 300.0
gene2 250.0

然后你可以这样做将每个数据类型放入 DataFrame :
dfblood = pd.read_csv('path/to/data1',delimiter='\t')
dftissue = pd.read_csv('path/to/data2',delimiter='\t')
dftumor = pd.read_csv('path/to/data3',delimiter='\t')

现在 merge DataFrame 成为一个主 df .
dftmp = pd.merge(dfblood,dftissue,on='GeneName',how='inner')
df = pd.merge(dftmp,dftumor,on='GeneName',how='inner')

重命名您的列,注意确保正确的顺序。
df.columns = ['GeneName','blood','tissue','tumor']

现在您可以使用简单的命令规范化您的数据(如果还没有)。
df = df.set_index('GeneName') # allows you to perform computations on the entire dataset
df_norm = (df - df.mean()) / (df.max() - df.min())

你都可以 df_norm.corr()产生下面的结果。但此时,您可以使用 numpy如果需要,可以执行更复杂的计算。
          blood      tissue       tumor
blood 1.000000 0.395160 0.581629
tissue 0.395160 1.000000 0.840973
tumor 0.581629 0.840973 1.000000

HTH 至少朝着正确的方向前进。

编辑

如果您想使用 Student T 的对数倍数变化,您可以使用 numpy.log 计算原始数据的对数。
import numpy as np

df[['blood','tissue','tumor']] = df[['blood','tissue','tumor']]+1
# +1 to avoid taking the log of 0
df_log = np.log(df[['blood','tissue','tumor']])

为了获得每个基因的“log”折叠变化,这会将新列附加到您的 df_log DataFrame。
df_log['logFCBloodTumor'] = df_log['blood'] - df_log['tumor']
df_log['logFCBloodTissue'] = df_log['blood'] - df_log['tissue']

关于r - 基因表达中的相关案例与对照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34809364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com