Affy包 estrogen包
下载安装
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("affy")
BiocManager::install("estrogen")
affy 包为 Bioconductor 之中一个用于数据预处理的包。
affy 包的功能只有一个:读取 affymetrix 的基因表达芯片数据,即CEL格式文件,然后处理成表达矩阵。
先解释以下为什么这个包叫这个名字,这是因为affy其实是一个生产芯片的公司,这个公司做的芯片所产生的的数据肯定不是拿过来就能用的,不同的实验组,不同的PM和MM都是需要处理的。所以他们官方出了一个工具包叫做affy,专门用来处理原始的实验数据。
Affymetrix 的探针(proble)一般是长度为25bp的寡聚核苷酸;探针总是以 perfect match 和 mismatch 成对出现,其信号值称为 PM 和 MM,成对的 perfect match 和 mismatch 有一个共同的 affyID。
CEL文件:信号值和定位信息
CDF文件:探针对在芯片上的定位信息
CEL文件的下载地址(以GSE1438为例),一般在网页的最下方,下载后解压到指定目录即可。
下载到本地并解压之后可以用下面的代码读取 cel 文件
读取过程比较费事,这里使用了 mas5() 对表达数据进行 normalization,当然也可以使用 rma() 函数
> library(affy)
> dir_cels <- "cel_files" # cel文件存放的路径
> affy_data <- ReadAffy(celfile.path = dir_cels)
> eset.mas5 <- mas5(affy_data)
理论上,处理得到的数据应该和直接从官网下载的表达量数据是一样的 即 XXX_series_matrix.txt.gz 文件
严格讲,这个芯片得到的表达矩阵,是需要过滤的。
setwd('../')
library(affy)
dir_cels='GSE34824_RAW'
data <- ReadAffy(celfile.path=dir_cels)
eset <- rma(data)
calls <- mas5calls(data) # get PMA calls
calls <- exprs(calls)
absent <- rowSums(calls == 'A') # how may samples are each gene 'absent' in all samples
absent <- which (absent == ncol(calls)) # which genes are 'absent' in all samples
rmaFiltered <- eset[-absent,] # filters out the genes 'absent' in all samples
54675 features 经过过滤后,剩下 42482 features
基因芯片的原始数据是一个 .cel 文件,当然在我们的 estrogen 包中自带了一小部分 .cel 数据,可以用来学习。
参考
http://treeh.cn/?id=22
https://www.jianshu.com/p/ca908850bd84
Affy包 estrogen包的更多相关文章
- 关于war包 jar包 ear包 及打包方法
关于war包 jar包 ear包 及打包方法 war包:是做好一个web应用后,通常是网站打成包部署到容器中 jar包:通常是开发的时候要引用的通用类,打成包便于存放管理. ear包:企业级应用 通常 ...
- 记录一个UDP收包丢包的问题
这几天写GB28181平台接入层代码,对收到的PS包进行解包时,总是出现误码,最终导致rtsp点播服务中画面花屏. 分析了码流抓包数据之后,发现网络上没有丢包,遂认为PS流解包代码有bug,于是埋头分 ...
- linux包之包管理命令rpm-yum
背景 YUM(Yellow dog Updater, Modified)为多个Linux发行版的前端软件包管理器,例如 Redhat RHEL, CentOS & Fedora. YUM通过调 ...
- Python标准库03 路径与文件 (os.path包, glob包)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 路径与文件的简介请参看Linux文件系统 os.path包 os.path包主要是 ...
- 【MINA】粘包断包处理
1.先解释下什么叫粘包和断包 粘包 就是数据以字节的形式在网络中传输,一个数据包的字节可能经过多次的读取粘合才能形成一个完整的数据包 断包 一次读取的内容可能包含了两个或多个数据包的内容,那么我们必须 ...
- c#有关udp可靠传输(包传输数据包) 升级
在c#有关udp可靠传输(包传输数据包)我们讨论,UDP包的发送,可是上一个程序有一个问题.就是数据比較大.一个Message类序列化后都有2048B,而实际的数据量也就只是 50B罢了,这就说明当中 ...
- PL/SQL 编程(三 )程序包和包体,触发器,视图,索引
一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...
- UNIX网络编程——Socket/TCP粘包、多包和少包, 断包
为什么TCP 会粘包 前几天,调试mina的TCP通信, 第一个协议包解析正常,第二个数据包不完整.为什么会这样吗,我们用mina这样通信框架,还会出现这种问题? TCP(transport cont ...
- 【TCP协议】(3)---TCP粘包黏包
[TCP协议](3)---TCP粘包黏包 有关TCP协议之前写过两篇博客: 1.[TCP协议](1)---TCP协议详解 2.[TCP协议](2)---TCP三次握手和四次挥手 一.TCP粘包.拆包图 ...
随机推荐
- Teradata 数据库介绍
Teradata在整体上是按Shared Nothing 架构体系进行组织的,他的定位就是大型数据仓库系统,定位比较高,他的软硬件都是NCR自己的,其他的都不识别:所以一般的企业用不起,价格很贵.由于 ...
- postgresql NUMERIC(precision, scale)
- C#异步的世界【上】(转)
新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...
- 【spring】【spring boot】获取系统根路径,根目录,用于存储临时生成的文件在服务器上
今日份代码: private static final String UPLOAD_TEMP_FILE_NAME = "测试商品数据.xlsx"; /** * 获取临时文件路径 * ...
- 安卓访问https错误,访问http可以,可能是nginx ssl证书配置有问题
开发中遇到react-native生成的android访问UAT和开发环境的http api都可以,但是访问生产环境的https就报错,还有就是第三方webhook调用你https网站的api也可能会 ...
- 解决Web部署 svg/woff/woff2字体 404
1.打开服务器IIS管理器,找到MIME类型 2.添加类型 文件扩展名 MIME类型 .svg image/svg+xml.woff appli ...
- mysql删除重复数据(通过多个字段分组,删除某一字段为空的数据)
DELETE FROM t_questions WHERE Id in ( SELECT Id FROM ( SELECT Id FROM `t_questions` WHERE (Name,Ques ...
- windows 2012 IIS 部署 .net core HTTP Error 502.5 - Process Failure 错误解决办法
安装系统补丁: 2012 R2对应>Windows8.1-KB2999226-x64.msu 下载地址: https://www.microsoft.com/zh-CN/download/det ...
- FreeBSD虚拟机 VMware Tools 安装教程
对于 FreeBSD 虚拟机,您可以使用命令行工具手动安装或升级 VMware Tools 前提条件 开启虚拟机. 确认客户机操作系统正在运行. 因为 VMware Tools 安装程序是使用 Per ...
- ElasticSearch(九)e代驾使用Elasticsearch流程设计(Yii1版本)
一.控制器层的更新.添加.删除 class AddKnowledgeAction extends CAction { //add and update public function actionPo ...