【发布时间】:2020-02-20 05:45:02
【问题描述】:
我要为我的所有样本编写两个代码。
cr1 = MEDIPS.seqCoverage(file = "1.bam", pattern = "CG", BSgenome = BSgenome, extend = extend, shift = shift, uniq = uniq)
MEDIPS.plotSeqCoverage(seqCoverageObj=cr1, type="pie", cov.level = c(0, 5, 10, 20, 30), main="cr1")
那么,
cr2 = MEDIPS.seqCoverage(file = "2.bam", pattern = "CG", BSgenome = BSgenome, extend = extend, shift = shift, uniq = uniq)
MEDIPS.plotSeqCoverage(seqCoverageObj=cr2, type="pie", cov.level = c(0, 5, 10, 20, 30), main="cr2")
我不想一次又一次地重复代码 100 次。我尝试了一些 for 循环,但它们无法正常工作,因为“文件 i.bam 未在...中找到”。好吧,我一点也不擅长。有人可以帮帮我吗?
所以我的代码如下所示:
for(i in 1:100){
cr[i] = MEDIPS.seqCoverage(file = paste0(as.character(i),".bam"),
pattern = "CG", BSgenome = BSgenome, extend = extend,
shift = shift, uniq = uniq)
MEDIPS.plotSeqCoverage(seqCoverageObj=cr[i], type="pie",
cov.level = c(0, 5, 10, 20, 30), main="cr",paste0(as.character(i)))
}
读bam对齐1.bam
导入的短读总数:17254741
扩展读取...
正在创建 GRange 对象...
最多保留一个 1 读取映射到相同的基因组位置。
剩余读取数:11148075
正在加载 BSgenome.Hsapiens.UCSC.hg19 的染色体长度...
获取基因组序列模式位置...
识别出的CG图案数量:26752702
计算序列模式覆盖率...
错误:找不到对象“cr”
【问题讨论】:
-
你的循环到底是什么样的?如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。
-
对于示例 #1,我需要 cr1 作为向量,“1.bam”作为 bam 文件,“cr1”作为绘图的主标题。对于示例 #2,我需要 cr2、“2.bam”、“cr2”等
-
@JinyongHuang ...如果您向我们展示您运行的文字代码,那就容易多了。不要只是描述它。 确切地向我们展示您尝试了什么。
-
您需要循环后的所有
cr1、cr2对象吗?或者您只是使用用于绘图然后不再需要它们。如果您打算保留它们,那么将它们存储在一个列表中比在全局环境中存储 100 个单独的变量更容易。 -
@MrFlick ThomasIsCoding 的回答解决了我的问题。还是谢谢你。
标签: r