07、poly-A内参和杂交内参(arrayanalysis的问题)
为了验证杂交的质量,Affymetrix公司加入了两类嵌入探针组:
一、poly-A内参:包括lys、phe、thr、dap
对应的探针组名称为:AFFX-r2-Bs-lys-3_at、AFFX-r2-Bs-dap-3_at、
AFFX-r2-Bs-phe-3_at、AFFX-r2-Bs-thr-3_s_at
(注意:一般只取3’的表达值)
期望检测到的信号强度为lys<phe<thr<dap
期望lys检测值(Detection Call)为P
以样品GSM362947_LTT.CEL和GSM362948_LTT.CEL为例:
1)获取lys、phe、thr、dap的信号强度
library(yaqcaffy)
rawData<-ReadAffy("GSM362947_LTT.CEL","GSM362948_LTT.CEL")
yaqcResult<-yaqc(rawData)
> yaqcResult@morespikes[grep("(lys|phe|thr|dap).*3",rownames(yaqcResult@morespikes), ignore.case = TRUE),]
GSM362947_LTT.CEL GSM362948_LTT.CEL
dap3 621.85881 618.93019
thr3 157.46776 141.04182
lys3 26.22679 24.34060
phe3 80.33482 78.98733
在这个例子中,两个样品的lys、phe、thr、dap信号强度都符合lys<phe<thr<dap
2)arrayanalysis的问题
用R语言软件arrayanalysis分析以上样品得出的结论却是:
这明显不符合lys<phe<thr<dap,这是为什么?
我们先来看看yaqcResult@morespikes是什么:
GSM362947_LTT.CEL GSM362948_LTT.CEL
b5 102.92636 123.20557
b3 98.75225 106.84035
bm 113.12133 129.45077
c5 298.87382 322.52600
c3 361.89032 421.07440
d5 1289.20872 1334.69642
d3 1489.85897 1702.89382
dap5 303.57364 156.58720
dap3 621.85881 618.93019
dapm 414.50848 333.24881
thr5 108.41316 39.60845
thr3 157.46776 141.04182
thrm 129.56930 98.51053
lys5 23.28581 21.26793
lys3 26.22679 24.34060
lysm 30.29455 28.88963
phe5 31.29219 12.49173
phe3 80.33482 78.98733
phem 47.31779 32.76261
在arrayanalysis的源码functions_imagesQC.R中,先用正则表达提取出yaqcResult@morespikes中符合"(lys|phe|thr|dap).*3"条件的:
> spnames<-rownames(yaqcResult@morespikes[grep("(lys|phe|thr|dap).*3", # only 3' !
+ rownames(yaqcResult@morespikes), ignore.case = TRUE),])
> spnames
[1] "dap3" "thr3" "lys3" "phe3"
注意到spnames的顺序是"dap3" "thr3" "lys3" "phe3"而不是"lys3" "phe3" "thr3" "dap3"
然后把名称为spnames的探针组也就是"dap3" "thr3" "lys3" "phe3"的信号强度赋给sprep
> sprep<-t(yaqcResult@morespikes[spnames,])
> sprep
dap3 thr3 lys3 phe3
GSM362947_LTT.CEL 621.8588 157.4678 26.22679 80.33482
GSM362948_LTT.CEL 618.9302 141.0418 24.34060 78.98733
sprep的数据就直接用来作图了,所以上图的信号强度趋势的顺序应该是dap、thr、lys、phe,而不是预想的lys、phe、thr、dap
(现在我所使用的arrayanalysis版本确实存在这个问题,但是也许以后会改进)
3)获取lys的检测值:
calls<-detection.p.val(rawData)$call
lysCall<-calls[rownames(calls)[grep("AFFX-r2-Bs-lys-3_at",rownames(calls), ignore.case = TRUE)],]
> lysCall
GSM362947_LTT.CEL.present GSM362948_LTT.CEL.present
"P" "P"
结论:两个样品的lys的检测值都为P
二、杂交内参:包括BioB、BioC、BioD、CreX
对应的探针组名称为:AFFX-r2-Ec-bioB-3_at、AFFX-r2-Ec-bioC-3_at、
AFFX-r2-Ec-bioD-3_at、AFFX-r2-P1-cre-3_at
(注意:一般只取3’的表达值)
期望检测到的信号强度为BioB<BioC<BioD<CreX
期望BioB检测值(Detection Call)为P
以样品GSM286756.CEL为例:
1)获取BioB、BioC、BioD、CreX的信号强度
library(simpleaffy)
qcResult<-qc(rawData)
> spikeInProbes(qcResult)
AFFX-r2-Ec-bioB-3_at AFFX-r2-Ec-bioC-3_at
GSM362947_LTT.CEL 6.625742 8.499409
GSM362948_LTT.CEL 6.739313 8.717931
AFFX-r2-Ec-bioD-3_at AFFX-r2-P1-cre-3_at
GSM362947_LTT.CEL 10.54096 12.37574
GSM362948_LTT.CEL 10.73377 12.48219
在这个例子中,两个样品的BioB、BioC、BioD、CreX信号强度都符合BioB<BioC<BioD<CreX
2)获取BioB的检测值:
> show(yaqcResult)
GSM362947_LTT.CEL GSM362948_LTT.CEL
……
AFFX-r2-Ec-bioB-3_at_call "P" "P"
……
结论:两个样品的BioB检测值都为P
三、计算poly-A内参和杂交内参的信号强度表达值采用了JustMAS算法,芯片中必须含有MM探针。除此之外,芯片中还要包含AFFX-r2-Bs-lys-3_at、AFFX-r2-Bs-dap-3_at、AFFX-r2-Bs-phe-3_at、AFFX-r2-Bs-thr-3_s_at、AFFX-r2-Ec-bioB-3_at、AFFX-r2-Ec-bioC-3_at、AFFX-r2-Ec-bioD-3_at、AFFX-r2-P1-cre-3_at探针组。不过这些步骤都由yaqc和qc函数完成了,读者不必过多关心JustMAS算法。yaqc和qc有一点不同,就是计算出信号强度表达值x后,yaqc会取2的x次方,qc则是2的x次方再取2的对数,也就是又变回x了。
07、poly-A内参和杂交内参(arrayanalysis的问题)的更多相关文章
- 相机标定过程(opencv) + matlab参数导入opencv + matlab标定和矫正
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 辛苦原创所得,转载请注明出处 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- SfMLearner论文笔记——Unsupervised Learning of Depth and Ego-Motion from Video
1. Abstract 提出了一种无监督单目深度估计和相机运动估计的框架 利用视觉合成作为监督信息,使用端到端的方式学习 网络分为两部分(严格意义上是三个) 单目深度估计 多视图姿态估计 解释性网络( ...
- Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定!
项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机. 一.编译安装 Autoware-1.10.0 我没有安装最新版本的 Autoware, ...
- MySQL--运维内参中的binlog_summary脚本
#!/bin/bash ##===================================================## ## 脚本出自<MySQL运维内参> ##===== ...
- Revit API取得变量的内参名称
与取得元素变量的内参名称类别有个BuiltInParameter //取得内参名称 [Transaction(TransactionMode.Manual)] [Regeneration(Regene ...
- 摄像机内参相关(3ds max)
一般的原理参考:http://ksimek.github.io/2012/08/13/introduction/ 对于3ds max建模时使用的target camera,如果想得到它的内外参,可以利 ...
- Nginx实现内参:为什么架构很重要?
Nginx在web开发者眼中就是高并发高性能的代名词,其基于事件的架构也被众多开发者效仿.我从Nginx的网站找到一篇技术文章将Nginx是怎样实现的,文章是Nginx的产品老大Owen Garret ...
- 极客时间|AI技术内参
学习进度: 014 | 精读AlphaGo Zero论文
- imu内参标定
https://medium.com/@tomas789/iphone-calibration-camera-imu-and-kalibr-33b8645fb0aa how kalibr model ...
随机推荐
- Python3学习笔记(十六):随机数模块random
一.random模块 1.random.random(): 返回0-1之间的随机浮点数 import random print(random.random()) 0.9348690085059901 ...
- Spring Boot教程(二十九)使用JdbcTemplate操作数据库
使用JdbcTemplate操作数据库 Spring的JdbcTemplate是自动配置的,你可以直接使用@Autowired来注入到你自己的bean中来使用. 举例:我们在创建User表,包含属性n ...
- 6张图解释IO流
1.字节流InputStream 2.字节流OutputStream 3.字符流Reader 4.字符流Writer 5.节点流 6.处理流 总结: 节点流可以直接连接在数据源上,处理流不可以:节点流 ...
- 《信息安全系统设计基础》--Myod
Myod 回顾Makefile 任务详情 复习c文件处理内容 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能 main与其他分开,制作静态库和动态库 编写Mak ...
- 套接字之sendto系统调用
sendto系统调用用于向指定的目的地址发送数据,其系统调用的流程比较容易理解,如下面所示,其主要完成 (1)将用户数据组织成msghdr,(2)而后调用socket操作的sendmsg:ipv4对应 ...
- 第七周课程总结&实验报告五
实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实验要求 掌握使用抽象类的方法. 掌握使用系统接口的技术和创建自定义接口的方法. 了解 Java 系统包的结构. ...
- http服务配置和apache
CentOS 6 httpd 程序环境 记录了httpd的主进程编号: 主程序文件: /usr/sbin/httpd /usr/sbin/httpd.worker /usr/sbin/http ...
- 选题 Scrum立会报告+燃尽图 07
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8678 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...
- LeetCode 79. 单词搜索(Word Search)
题目描述 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许被 ...
- 三、smarty--变量调节器(修改器)
变量调节器(修改器) 作用: 1. 从PHP中分配个模板的变量 2. 需要模板中对变量在输出前进行处理 3. 处理方式就是使用“函数” 4. 在smarty3中可以直接调用到PHP的函数 5. ...