RNA-seq中遇到的问题(2)

自己找公司进行RNA-seq测序,得到counts数据后,用DESeq2包进行差异分析,得到的结果log2FC, pvalue, padj与公司的结果差别很大,公司也是用的DESeq2包进行的分析。经过3天的寻找,终于找到了原因。

在DESeq2包中进行差异分析,counts matrix只能包含需要比较的2组数据,如果还有其他组的数据,则会导致出来的结果有差异。如果一次测序分了3组以上,合适的做法是将大矩阵拆分为需要比较的2个组的小矩阵。

进行DESeq2分析的代码如下:

rm(list = ls())
options(stringsAsFactors = F)
exprSet <- read.csv("./ALL_sample_gene_Count.csv", header = T)
rownames(exprSet) <- exprSet$Gene.Symbol
exprSet <- exprSet[,-c(5:8)]
View(exprSet)

#### DESeq2 ####
suppressMessages(library(DESeq2))
exprSet=ceiling(exprSet)
group_list <- c( "group3", "group3", 
                "group5", "group5") #设置分组
group_list <- factor(group_list)
(colData <- data.frame(row.names=colnames(exprSet), group_list=group_list))
dds <- DESeqDataSetFromMatrix(countData = exprSet,
                              colData = colData,
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是修改后的程序和理论误符号率公式: ```matlab clear all nsymbol=100000; T=1; fs=100; ts=1/fs; t=0:ts:T-ts; %时间向量 fc=10; %载波频率 c=sqrt(2/T)*cos(2*pi*fc*t); %载波信号 M=8; %8-PAM graycode=[0 1 3 2 6 7 5 4]; %Gray编码规则 EsN0=0:15; %信噪比,Es/N0 snr1=10.^(EsN0/10); %信噪比转换为线性 msg=randi(2,1,nsymbol); %消息数据 msg1=graycode(msg+1); %Gray映射 msgmod=pammod(msg1,M).'; %基带8-PAM调制 tx=msgmod*c; %载波调制 tx1=reshape(tx.',1,length(msgmod)*length(c)); spow=norm(tx1).^2/nsymbol; %求每个符号的平均功率 for indx=1:length(EsN0) sigma=sqrt(spow/(3*snr1(indx))); %根据符号功率求噪声功率 ll=length(tx1); rx=tx1+sigma*randn(1,ll); %加入高斯白噪声 rx1=reshape(rx,length(c),length(msgmod)); y=(c*rx1)/length(c); %相关运算 y1=pamdemod(y,M); %PAM解调 decmsg=graycode(y1+1); [err,ber(indx)]=biterr(msg,decmsg,log2(M)); %误比特率 [err,ser(indx)]=symerr(msg,decmsg); %误符号率 end semilogy(EsN0,ber,'-ko',EsN0,ser,'-k*',EsN0,3/7*qfunc(sqrt(0.4/3*snr1))); title('8-PAM载波调制信号在AWGN信道下的性能') xlabel('Es/N0'); ylabel('误比特率和误符号率') legend('误比特率','误符号率','理论误符号率') ``` 其,理论误符号率公式为: $$P_{s}=\frac{1}{log_2(M)}\sum_{i=0}^{M-1}\sum_{j=0,j\neq i}^{M-1}Q\left(\sqrt{\frac{3}{M^2-1}\frac{d_{ij}^2}{N_0}}\right)$$ 其,$M$为调制阶数,$d_{ij}$为第 $i$ 个符号与第 $j$ 个符号之间的欧几里得距离,$N_0$为单侧带宽为 $B$ 的白噪声功率谱密度。在本程序,$B=2/T$,因此 $N_0=0.4/3$。$Q(x)$ 为高斯 Q 函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值