python 相关性fdr矫正_科学网—根据p-value列表计算FDR(Benjamini-Hochberg) - 谭月茜的博文...

#!/bin/bash

#===========================================================

#    File Name:  calfdr

#      Version:  1.0

#       Author:  tanyuexi

#      Contact:  tanyuexi@gmail.com

#         Date:  Thu Oct 18 14:09:48 CST 2012

#  Discription:  This script is used to calculate FDR using Benjamini-Hochberg method.

#===========================================================

bn=`basename $0`

if [ -z $2 ]

then

echo -e "Usage: $bn In_p-value_list OutFile"

exit 1

fi

infile=$1

outfile=$2

cat >$infile.R <<__eof__>

p.srt

p.rank

output

fdrlevels

for(fdr in fdrlevels){for(i in length(p.srt):1){tmp

write(output,file="$outfile",ncolumn=1)

quit(save="no")

__EOF__

R CMD BATCH $infile.R $infile.Rout && rm $infile.R $infile.Rout

#EOF

转载本文请联系原作者获取授权,同时请注明本文来自谭月茜科学网博客。

链接地址:http://blog.sciencenet.cn/blog-747197-767694.html

上一篇:定时按照原目录结构自动备份.pl和.sh等脚本文件

下一篇:更新系统及软件,清除旧内核

当然,我们可以计算FDR值并将其添加到基因表格中。以下是修改后的代码示例: ```python import pandas as pd from scipy.stats import ttest_ind from statsmodels.stats.multitest import multipletests # 读取基因表格数据 gene_data = pd.read_csv('gene_expression.csv') # 获取条件列名 condition_columns = gene_data.columns[1:] # 创建空的p-value列 gene_data['p_value'] = 0.0 # 计算每个基因的p-value值 for index, row in gene_data.iterrows(): gene_expression = row[1:] # 获取基因在不同条件下的表达量 condition_1 = gene_expression[:len(condition_columns)//2] condition_2 = gene_expression[len(condition_columns)//2:] _, p_value = ttest_ind(condition_1, condition_2) # 使用 t-test 计算p-value值 gene_data.at[index, 'p_value'] = p_value # 进行FDR校正计算FDR值 rejected, adjusted_p_values, _, fdr_values = multipletests(gene_data['p_value'], method='fdr_bh', is_sorted=False, returnsorted=False) gene_data['adjusted_p_value'] = adjusted_p_values gene_data['fdr'] = fdr_values # 保存数据到新的表格 gene_data.to_csv('gene_expression_with_p_value_fdr.csv', index=False) ``` 在这段代码中,我们使用 `multipletests` 函数进行FDR校正,并将校正后的调整p-value值保存在 "adjusted_p_value" 列中,同时将FDR值保存在 "fdr" 列中。 请注意,`multipletests` 函数的 `is_sorted` 参数设置为 False,表示输入的p-value值未排序。如果您的p-value值已经按照某个顺序排列,可以将 `is_sorted` 参数设置为 True,以提高计算效率。 最后,我们将包含新数据的基因表格保存到 'gene_expression_with_p_value_fdr.csv' 文件中。 这是一个简单的示例,您可以根据您的具体需求进行修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值