首先,这可能是这个问题的错误论坛,因为R + Bioconductor具体相当.这就是我所拥有的:
library('GEOquery')
GDS = getGEO('GDS785')
cd4T = GDS2eSet(GDS)
cd4T <- cd4T[!fData(cd4T)$symbol == "",]
Run Code Online (Sandbox Code Playgroud)
现在cd4T是一个ExpressionSet对象,它包含一个包含19794行(probesets)和15列(样本)的大矩阵.最后一行消除了所有没有相应基因符号的探针组.现在麻烦的是,该组中的大多数基因被分配到多个探针组.你可以这样看
gene_symbols = factor(fData(cd4T)$Gene.symbol)
length(gene_symbols)-length(levels(gene_symbols))
[1] 6897
Run Code Online (Sandbox Code Playgroud)
因此,我的19794探针组中只有6897个具有独特的探针组 - >基因映射.我想以某种方式结合与每个基因相关的每个探针组的表达水平.我不太关心每个探针的实际探测ID.我非常希望最终得到一个包含合并信息的ExpressionSet,因为我的所有下游分析都是为了使用这个类而设计的.
我想我可以编写一些手工编写的代码,并从头开始创建一个新的表达式.但是,我假设这不是一个新问题,并且存在使用统计学上合理的方法来组合基因表达水平的代码.我猜这里也有一个合适的名字,但我的谷歌没有显示出太大的用处.有人可以帮忙吗?
我想试试ggplot2.特别是,我试图找出是否有更好(更优雅,更简单)的方法来创建Bioconductor IRanges包装插图中找到的绘图(在此处,第12页上的图,第11页上的代码).

在插图中,使用以下代码生成绘图:
plotRanges <- function(x, xlim = x, main = deparse(substitute(x)),
+ col = "black", sep = 0.5, ...) +{
+ height <- 1
+ if (is(xlim, "Ranges"))
+ xlim <- c(min(start(xlim)), max(end(xlim)))
+ bins <- disjointBins(IRanges(start(x), end(x) + 1))
+ plot.new()
+ plot.window(xlim, c(0, max(bins)*(height + sep)))
+ ybottom <- bins * (sep + height) - height
+ rect(start(x)-0.5, ybottom, end(x)+0.5, ybottom + height, col = col, ...)
+ title(main)
+ axis(1) …Run Code Online (Sandbox Code Playgroud) 我想使用的当前版本的包在 bioconductor 上失败了。然而,旧版本曾经可以工作。
我想知道如何安装特定版本的 bioconductor 包?
提前致谢。
在我的例子中,这个包叫做 biomaRt,失败的版本是 2.34.2,而 2.34.0 是成功的。
我很想知道是否有任何生物信息学工具能够处理multiFASTA文件,给我信息序列,长度,核苷酸/氨基酸含量等信息,并可能自动绘制描述性图.也可以使用R BIoconductor解决方案或BioPerl模块,但我找不到任何东西.
你能帮助我吗?非常感谢 :-)
我在R中有一个data.frame.它包含很多数据:来自许多(125)数组的基因表达水平.我想要Python中的数据,主要是因为我在R中的无能,以及这应该是一个30分钟的工作.
我想以下代码工作.要理解这段代码,请知道变量path包含数据集的完整路径,在加载时,它会给我一个名为的变量immgen.知道这immgen是一个对象(Bioconductor ExpressionSet对象)并exprs(immgen)返回一个包含125列(实验)和数万行(命名基因)的数据框.(以防万一它不清楚,这是Python代码,使用robjects.r来调用R代码)
import numpy as np
import rpy2.robjects as robjects
# ... some code to build path
robjects.r("load('%s')"%path) # loads immgen
e = robjects.r['data.frame']("exprs(immgen)")
expression_data = np.array(e)
Run Code Online (Sandbox Code Playgroud)
这段代码运行,但expression_data很简单array([[1]]).
我很确定这e不代表exprs()由于以下内容而生成的数据框:
In [40]: e._get_ncol()
Out[40]: 1
In [41]: e._get_nrow()
Out[41]: 1
Run Code Online (Sandbox Code Playgroud)
但那又有谁知道呢?即使它e确实代表我的data.frame,它不直接转换为数组也足够公平 - 数据框中的数据框比数组(rownames和colnames)更多,所以也许生活不应该那么容易.但是我仍然无法弄清楚如何执行转换.文档对我来说有点过于简洁,尽管我对文档标题的有限理解意味着这应该是可能的.
有人有什么想法?
我正在尝试使用来自Brainarray的定制基因水平注释CDF(芯片定义文件)文件,使关于弥漫性大B细胞淋巴瘤的特定基因表达数据集正常化.
不幸的是,RMA归一化表达式矩阵是所有NaNs,我不明白为什么.
数据集(GSE31312)可在GEO网站免费获取,并使用Affymetrix HG-U133 Plus 2.0阵列平台.我正在使用该affy包来执行RMA规范化.
由于问题是特定于数据集的,因此遗憾的是,以下用于重现问题的R代码非常麻烦(2 GB下载,8.8 GB解压缩).
设置工作目录.
setwd("~/Desktop/GEO")
Run Code Online (Sandbox Code Playgroud)
加载所需的包.取消注释以安装软件包.
#source("http://bioconductor.org/biocLite.R")
#biocLite(pkgs = c("GEOquery", "affy", "AnnotationDbi", "R.utils"))
library("GEOquery") # To automatically download the data
library("affy")
library("R.utils") # For file handling
Run Code Online (Sandbox Code Playgroud)
将阵列数据下载到工作目录.
files <- getGEOSuppFiles("GSE31312")
Run Code Online (Sandbox Code Playgroud)
解压缩名为CEL的目录中的数据
#Sys.setenv(TAR = '/usr/bin/tar') # For (some) OS X uncommment this line
untar(tarfile = "GSE31312/GSE31312_RAW.tar", exdir = "CEL")
Run Code Online (Sandbox Code Playgroud)
解压缩所有.gz文件
gz.files <- list.files("CEL", pattern = "\\.gz$",
ignore.case = TRUE, full.names = TRUE)
for (file in …Run Code Online (Sandbox Code Playgroud) 我有一个运行长度编码的向量,按顺序表示基因组上每个位置的一些值.作为一个玩具示例,假设我只有一条长度为10的染色体,那么我会看到一个矢量
library(GenomicRanges)
set.seed(1)
toyData = Rle(sample(1:3,10,replace=TRUE))
Run Code Online (Sandbox Code Playgroud)
我想将其强制转换为GRanges对象.我能想到的最好的是
gr = GRanges('toyChr',IRanges(cumsum(c(0,runLength(toyData)[-nrun(toyData)])),
width=runLength(toyData)),
toyData = runValue(toyData))
Run Code Online (Sandbox Code Playgroud)
哪个有效,但速度很慢.有没有更快的方法来构建同一个对象?
很抱歉这么快就回来了一个简单的安装问题,但我自己无法自行解决这个问题严重影响了我的工作效率.无论如何,我尝试按照BC网站的建议安装GenomicFeatures.
> source("http://bioconductor.org/biocLite.R")
> biocLite("GenomicFeatures")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息(除了几条警告消息)
ERROR: configuration failed for package ‘RCurl’
* removing ‘/home/tim/R/i686-pc-linux-gnu-library/2.15/RCurl’
ERROR: dependencies ‘XML’, ‘RCurl’ are not available for package ‘rtracklayer’
* removing ‘/home/tim/R/i686-pc-linux-gnu-library/2.15/rtracklayer’
ERROR: dependencies ‘XML’, ‘RCurl’ are not available for package ‘biomaRt’
* removing ‘/home/tim/R/i686-pc-linux-gnu-library/2.15/biomaRt’
ERROR: dependencies ‘rtracklayer’, ‘biomaRt’, ‘RCurl’ are not available for package ‘GenomicFeatures’
* removing ‘/home/tim/R/i686-pc-linux-gnu-library/2.15/GenomicFeatures’
Run Code Online (Sandbox Code Playgroud)
所以我猜想依赖项存在一些问题,但奇怪的是它们会在GF之前自动安装.我使用的是2.15.0版.关于问题可能是什么的任何线索?我很乐意根据需要提供更多信息.谢谢.
我正在使用GenomicRange R包.我有一个像这样的输入文件:
dvex108056 + 87 206
dvex108056 + 87 226
dvex108056 - 101 240
dvex108056 - 104 240
dvex108056 - 59 188
dvex108056 - 68 197
dvex108056 - 70 208
dvex108056 - 75 211
dvex108056 - 78 217
dvex108056 - 79 218
dvex108056 - 84 223
dvex108056 - 85 220
dvex108056 - 87 226
dvex108056 - 88 226
dvex108056 - 88 227
dvex108056 - 91 210
dvex108056 - 91 230
dvex114041 - 6255 6383
dvex144086 + 2557 2678
dvex144086 + …Run Code Online (Sandbox Code Playgroud) 我正在研究R软件包(https://github.com/bgbrink/dropClust),我正在测试它是否可以安装,因为它取决于CRAN和Bioconductor的许多软件包.我在描述中指定了Bioconductor中的三个依赖项:
Remotes:
bioc::flowDensity,
bioc::SamSPECTRAL,
bioc::flowPeaks
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试安装软件包时,flowPeaks的安装失败,因为脚本下载了软件包的源版本,这需要GSL存在才能进行编译.
* installing *source* package ‘flowPeaks’ ...
** libs
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/usr/local/include `gsl-config --cflags` -fPIC -Wall -g -O2 -c Rpack.cpp -o Rpack.o
/bin/sh: gsl-config: command not found
In file included from Rpack.cpp:16:
./gvector_gmatrix.h:24:10: fatal error: 'gsl/gsl_math.h' file not found
#include <gsl/gsl_math.h>
^
1 error generated.
make: *** [Rpack.o] Error 1
ERROR: compilation failed for package ‘flowPeaks’
Run Code Online (Sandbox Code Playgroud)
当我从Bioconductor手动下载软件包时,一切正常,因为脚本下载了软件包的二进制版本.我可以在某处指定这是默认行为吗?我尝试了选项(pkgType ="binary")但没有成功.
编辑:没有新的想法,所以我碰到了一次.