R 包 bug 修复及问题一览

7f3b8f18af38698152c8fcd179acdf0a.gif

1引言

已经陆陆续续有用户使用一些我写的 R 包了,并且也反馈了一些小问题,这里列出最近的修复结果。

2GseaVis 问题

p 值格式:

有位小伙伴在 github 上提了个不错的建议:

56b6cf88ddd5e03eecd4f5000e5b769f.png

建议对于 p 值太小的时候直接写成小于一个阈值就行了,我之前提供了保留位数参数,这里我就采用了这个建议。

library(GseaVis)

# load data
test_data <- system.file("extdata", "gseaRes.RDS", package = "GseaVis")
gseaRes <- readRDS(test_data)

# df <- data.frame(gseaRes)

# plot
gseaNb(object = gseaRes,
       geneSetID = 'GOBP_NUCLEOSIDE_TRIPHOSPHATE_METABOLIC_PROCESS',
       subPlot = 2,
       addPval = T,
       pvalX = 0.85,pvalY = 0.75)
f81ef2214ebf50df09f063a1a3f70f0c.png

如果遇到非常小的 p 值就写成这样:

gseaNb(object = gseaRes,
       geneSetID = 'GOBP_REGULATION_OF_VASCULOGENESIS',
       subPlot = 2,
       addPval = T,
       pvalX = 0.85,pvalY = 0.75)
cbb01f49fb7c4b9692bc42c64c937a74.png

调整曲线粗细

bd5e8a24e66293eee5e2aa8c68eea87f.png

修复了曲线粗细的问题:

gseaNb(object = gseaRes,
       geneSetID = 'GOBP_NUCLEOSIDE_TRIPHOSPHATE_METABOLIC_PROCESS',
       subPlot = 2,
       addPval = T,
       pvalX = 0.85,pvalY = 0.75,
       lineSize = 2)
8e611391938770dc37c5bc5b1ce0d3c8.png

3transplotR 问题

trancriptVis 报错

有小伙伴看了 trancriptVis 可视化 NCBI 的 GTF 文件, 于是拿了自己的 gtf 文件可视化,但是报错了:

f145eabcdc168be649bd1ab401328e50.png

但是做的是 真菌 的物种,可能和人和小鼠还不太一样,仔细检查了一下发现他的 gtf 文件 type 列没有 transcript 的信息,因为真菌大部分是已经基因只有一个转录本,酵母也是这样,所以就没有 transcript 来区分不同的转录本结构了:

f43bf2aa0f10db41aa6331ad136bbeb1.png

所以我加了一些代码来判断这列是不是有 transcript 关键词,没有的话就加一行信息,起始位置和终止位置则选择该基因的最小起始位置和最大终止位置:

ef3650e1b3271a3c13253c01f16cd9b5.png

测试:

library(transPlotR)
library(rtracklayer)

gtf <- import('A_nidulans_FGSC_A4_version_s10-m04-r03_features.gtf',format = "gtf") %>%
  data.frame()

trancriptVis(gtfFile = gtf,
             gene = c('llmE'))
9d859887030c757c317c1743c184dde1.png

4scRNAtoolVis 问题

箭头坐标位置问题

42521d9c6d28804f301f706df93a91e3.png

原因是样本里的因子顺序问题,如果没有因子存在,则默认按字符排序取第一个样本的位置添加坐标轴,如果有因子的话没变过来, 所以需要判断用户提供的样本名是否存在因子的情况来做出选择, 修改代码如下:

d4970e000897f1ff5709f1314648a7c5.png

测试:

library(scRNAtoolVis)

# load test data
test <- system.file("extdata", "seuratTest.RDS", package = "scRNAtoolVis")
tmp <- readRDS(test)

# assign factors
tmp@meta.data$orig.ident <- factor(tmp@meta.data$orig.ident,levels = c('ST3','ST2','ST4','ST1'))
levels(tmp@meta.data$orig.ident)
# [1] "ST3" "ST2" "ST4" "ST1"

# specify corner position
FeatureCornerAxes(object = tmp,reduction = 'umap',
                      groupFacet = 'orig.ident',
                      relLength = 0.5,
                      relDist = 0.2,
                      aspect.ratio = 1,
                      features = c("Actb","Ythdc1", "Ythdf2"),
                      axes = 'one')
9266b65ee901d9161b24b23988c8827f.png

这里我们人为设定顺序为 'ST3','ST2','ST4','ST1', 添加的坐标就自动指定第一个因子的样本名,。

在含有因子的情况下,我们依然可以设定坐标轴位置:

FeatureCornerAxes(object = tmp,reduction = 'umap',
                      groupFacet = 'orig.ident',
                      relLength = 0.5,
                      relDist = 0.2,
                      aspect.ratio = 1,
                      features = c("Actb","Ythdc1", "Ythdf2"),
                      axes = 'one',
                      cornerVariable = 'ST2')
9f0819e8f4cc40c67bb5bcf007d5650b.png

原理则是重新修改了因子的顺序即可。

5结尾

  • 最后感谢大家的支持和肯定,也欢迎留下你的小心心!

  • https://github.com/junjunlab

e45e397720f82adda2496de4b80490b5.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值