介绍wiggleplotr

Kaur Alasoo

2022-04-26

wiggleplotr是一个工具想象RNA-seq读超龄跨带注释的外显子。的一个关键特性wiggleplotr是可以重新调节基因的内含子固定长度,使其更容易看到读覆盖相邻的外显子之间的差异,否则可以太远。自wiggleplotr以标准大佬文件作为输入,它也可以用来想象从其他sequencing-based读取超龄ATAC-seq和ChIP-seq等化验。

# #开始安装wiggleplotr,开始R和输入:

如果(!requireNamespace(“BiocManager”,静静地=真正的))install.packages(“BiocManager”)BiocManager::安装(“wiggleplotr”)

要运行这个描述中所示的代码示例,我们需要加载以下方案:

图书馆(“wiggleplotr”)图书馆(“dplyr”)图书馆(“GenomicRanges”)图书馆(“GenomicFeatures”)图书馆(“biomaRt”)

# #可视化文本注释第一,plotTranscripts函数允许您想象的structucte成绩单的基因(或多基因)。需要以下三个输入,但只有第一个是要求:

在你开始之前,wiggleplotr包附带的例子注释的9个蛋白质编码转录NCOA7基因预装。请见下文,学习如何从自己运用或下载这些注释如何自动提取它们的EnsDbTxDb对象。这是注释是什么样子:

ncoa7_metadata
# # #一个宠物猫:9×4 # # transcript_id gene_id gene_name链# # <空空的> <空空的> <空空的> < int > # # 1 ENST00000368357 ENSG00000111912 NCOA7 1 # # 2 ENST00000453302 ENSG00000111912 NCOA7 1 # # 3 ENST00000417494 ENSG00000111912 NCOA7 1 # # 4 ENST00000229634 ENSG00000111912 NCOA7 1 # # 5 ENST00000428318 ENSG00000111912 NCOA7 1 # # 6 ENST00000419660 ENSG00000111912 NCOA7 1 # # 7 ENST00000438495 ENSG00000111912 NCOA7 1 # # 8 ENST00000444128 ENSG00000111912 NCOA7 1 # # 9 ENST00000392477 ENSG00000111912 NCOA7 1
的名字(ncoa7_exons)
# # [1]“ENST00000368357”“ENST00000453302”“ENST00000417494”“ENST00000229634”# # [5]“ENST00000428318”“ENST00000419660”“ENST00000438495”“ENST00000444128”# # [9]“ENST00000392477”
的名字(ncoa7_cdss)
# # [1]“ENST00000368357”“ENST00000453302”“ENST00000417494”“ENST00000229634”# # [5]“ENST00000428318”“ENST00000419660”“ENST00000438495”“ENST00000444128”# # [9]“ENST00000392477”

绘制这九成绩单,我们简单地使用plotTranscripts功能:

plotTranscripts(ncoa7_cdss ncoa7_exons ncoa7_metadata,rescale_introns =)
# #警告:“select_()”被弃用dplyr 0.7.0。# #请使用“select ()”。# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。
# #警告:“arrange_()”被弃用dplyr 0.7.0。# #请使用“安排()”。# #看到装饰图案(“编程”)更多的帮助# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。
# #警告:“filter_()”被弃用dplyr 0.7.0。# #请用“过滤()”。# #看到装饰图案(“编程”)更多的帮助# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。
# #警告:“group_by_()”被弃用dplyr 0.7.0。# #请使用“group_by ()”。# #看到装饰图案(“编程”)更多的帮助# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。

您可能已经注意到,自从NCOA7基因内含子相对较长,它可以很难看到所有的外显子的位置。关注外显子,我们可以重新调节所有内含子固定长度(50个基点默认情况下):

plotTranscripts(ncoa7_cdss ncoa7_exons ncoa7_metadata,rescale_introns =真正的)

现在更容易看到,可以另外的外显子拼接和共享的所有记录。

如果你构建你自己的文本注释,您只需要指定外显子农庄组织列表的代码工作。在这种情况下,列表的名称将被用作记录标签上的阴谋。

plotTranscripts(ncoa7_exonsrescale_introns =真正的)

# #想象RNA-seq读报道我们使用上面的NCOA7示例,因为我们最近发现这个基因经历替代促进剂使用在人类巨噬细胞在脂多糖(LPS)刺激1。我们现在展示plotCoverage函数可以用来想象RNA-seq读一个基因外显子川流不息的报道。另外的外显子,信用违约互换transcript_annotationsparamteres所需的plotTranscripts,plotCoverage还需要一个track_data数据帧包含RNA-seq样本读元数据以及路径覆盖率数据位格式。

首先,您需要创建一个数据帧包含示例的元数据。在我们的例子中我们有四个样品,两个天真的条件和两个LPS刺激后:

sample_data =dplyr::data_frame(sample_id =c(“aipt_A”,“aipt_C”,“bima_A”,“bima_C”),条件=因素(c(“幼稚”,“有限合伙人”,“幼稚”,“有限合伙人”),水平=c(“幼稚”,“有限合伙人”)),scaling_factor =1)
# #警告:“data_frame()”是宠物猫1.1.0弃用。# #请使用“宠物猫()”。# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。
sample_data =sample_data% > %dplyr::变异(位=执行(“extdata”,paste0(sample_id“.str2.bw”),包=“wiggleplotr”))as.data.frame(sample_data)
# # 1 # # sample_id条件scaling_factor aipt_A天真的1 # # 2 aipt_C有限合伙人1 # # 3 bima_A天真的1 # # 4 bima_C有限合伙人1 # #大佬# # 1 / tmp / RtmpRWvw0K / Rinst11991a179aa2de wiggleplotr / extdata / aipt_A.str2。bw # # 2 / tmp / RtmpRWvw0K / Rinst11991a179aa2de wiggleplotr / extdata / aipt_C.str2。bw # # 3 / tmp / RtmpRWvw0K / Rinst11991a179aa2de wiggleplotr / extdata / bima_A.str2。bw # # 4 / tmp / RtmpRWvw0K / Rinst11991a179aa2de wiggleplotr / extdata / bima_C.str2.bw

最后,我们需要添加track_idcolour_group列定义样本所属的跟踪和他们的颜色应该是什么。为简单起见,我们首先设置这两个值等于实验条件:

track_data =dplyr::变异(sample_datatrack_id =条件下,colour_group =条件)

现在,我们可以使我们第一次读到报道阴谋

selected_transcripts =c(“ENST00000438495”,“ENST00000392477”)#地块只有两个成绩单的一族plotCoverage(ncoa7_exons [selected_transcripts], ncoa7_cdss [selected_transcripts],ncoa7_metadata track_data,身高=c(2,1),fill_palette =getGenotypePalette())
# #警告:“mutate_()”被弃用dplyr 0.7.0。# #请使用“变异()”。# #看到装饰图案(“编程”)更多的帮助# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。
# #警告:“summarise_()”被弃用dplyr 0.7.0。# #请使用“总结()”。# #显示这个警告每8小时一次。# #称之为“生命周期::last_lifecycle_warnings()”来看看生成此警告。

默认情况下,plotCoverage情节的平均阅读覆盖所有样品在同一颜色组。然而,也可以通过设置覆盖所有的个人样本mean_only = FALSEα< 1

plotCoverage(ncoa7_exons [selected_transcripts], ncoa7_cdss [selected_transcripts],ncoa7_metadata track_data,身高=c(2,1),fill_palette =getGenotypePalette(),mean_only =,α=0.5)

很明显从两块短记录跳过前11基因的外显子只是LPS刺激后表示。

覆盖多个条件

最后,我们可以在不同的颜色覆盖这两个条件通过将所有的样本分配给一个轨道。这种方法我们可以想象eQTLs和拼接法非常有用。设置coverage_type = "线"让我们看到这两个信号即使彼此重叠:

track_data =dplyr::变异(sample_datatrack_id =“RNA-seq”,colour_group =条件)plotCoverage(ncoa7_exons [selected_transcripts], ncoa7_cdss [selected_transcripts],ncoa7_metadata track_data,身高=c(2,1),fill_palette =getGenotypePalette(),coverage_type =“行”)
# #警告:删除2行(s)含有缺失值(geom_path)。

不幸的是,目前不可能自动添加传说读报道情节。这是因为plotTranscripts使用cowplot: plot_grid函数一致读覆盖率和情节和文本注释plot_grid不支持的传说。

策划其他类型的数据

虽然wiggleplotr最初用RNA-seq数据,它同样可以想象任何其他测序数据,可以概括为已读覆盖率大佬格式(ATAC-seq, DNAse-seq ChIP-seq)。所有您需要做的就是指定您自己的外显子,信用违约互换,transcript_annotationstrack_data参数。此外,设置connect_exons = FALSEtranscript_label = FALSE使它容易阴谋其他类型的基因组注释。

track_data =dplyr::变异(sample_datatrack_id =“RNA-seq”,colour_group =条件)plotCoverage(ncoa7_exons [selected_transcripts], ncoa7_cdss [selected_transcripts],ncoa7_metadata track_data,身高=c(2,1),fill_palette =getGenotypePalette(),coverage_type =“行”,connect_exons =,transcript_label =,rescale_introns =)

从运用自动提取文本注释和UCSC的注释对象

除了指定您自己的文本注释,wiggleplotr还提供了四个额外的包装器函数,可以直接提取文本注释ensembldbTxDb(加州大学)对象。为ensembldb,你可以使用plotTranscriptsFromEnsembldbplotCoverageFromEnsembldb功能:

图书馆(“ensembldb”)图书馆(“EnsDb.Hsapiens.v86”)plotTranscriptsFromEnsembldb(EnsDb.Hsapiens.v86gene_names =“NCOA7”,transcript_ids =c(“ENST00000438495”,“ENST00000392477”))

TxDb UCSC的注释文字记录的对象,您可以使用相应的plotTranscriptsFromUCSCplotCoverageFromUCSC功能:

#负载OrgDb UCSC的基因注释和TxDb对象需要(“org.Hs.eg.db”)需要(“TxDb.Hsapiens.UCSC.hg38.knownGene”)plotTranscriptsFromUCSC(orgdb =org.Hs.eg.db,txdb =TxDb.Hsapiens.UCSC.hg38.knownGene,gene_names =“NCOA7”,transcript_ids =c(“ENST00000438495.6”,“ENST00000368357.7”))
# #的选择()返回1:许多钥匙和列之间的映射

下载文本注释的运用

最简单的方法来访问参考文本注释R是直接从运用下载使用biomaRtR包。

下载记录元数据

首先,我们想下载记录元数据,比如记录所属的基因,他们的名字是什么。我们可以使用biomaRt包。首先,让我们定义哪些集市和我们想要使用数据集。

# #警告:运用将很快执行使用https。# #确保主机的参数包括“https://”
# #对象的类“集市”:# #使用ENSEMBL_MART_ENSEMBL BioMart数据库使用hsapiens_gene_ensembl数据集# #

主机有助于确保我们从特定的运用版本得到注释。例如,运用78年correseponds主机= " dec2014.archive.ensembl.org "。您可以使用运用档案网站检查主机名对应于所需运用的版本。用具体的运用版本的更多信息biomaRt可以找到的吗biomaRt装饰图案

我们可以看到的所有可用属性listAttributes命令。

页# # 1 # #名称描述ensembl_gene_id基因稳定的ID feature_page # # 2 ensembl_gene_id_version稳定稳定版本feature_page # # 3 ensembl_transcript_id记录ID feature_page # # 4 ensembl_transcript_id_version记录ID稳定版本feature_page # # 5 ensembl_peptide_id蛋白质稳定的ID feature_page # # 6 ensembl_peptide_id_version feature_page ID稳定版本

现在,让我们选择基因id、名称、记录的id和链biomart并下载相应的列。

# # 1 # # ensembl_transcript_id ensembl_gene_id external_gene_name链ENST00000387314 ENSG00000210049 MT-TF 1 # # 2 ENST00000389680 ENSG00000211459 MT-RNR1 1 # # 3 ENST00000387342 ENSG00000210077 MT-TV 1 # # 4 ENST00000387347 ENSG00000210082 MT-RNR2 1 # # 5 ENST00000386347 ENSG00000209082 MT-TL1 1 # # 6 ENST00000361390 ENSG00000198888 MT-ND1 1 # # gene_biotype transcript_biotype # # 1 Mt_tRNA Mt_tRNA # # 2 Mt_rRNA Mt_rRNA # # 3 Mt_tRNA Mt_tRNA # # 4 Mt_rRNA Mt_rRNA # # 5 Mt_tRNA Mt_tRNA # # 6 protein_coding protein_coding

最后,我们需要重命名列

# # 1 # # transcript_id gene_id gene_name链gene_biotype ENST00000387314 ENSG00000210049 MT-TF 1 Mt_tRNA # # 2 ENST00000389680 ENSG00000211459 MT-RNR1 1 Mt_rRNA # # 3 ENST00000387342 ENSG00000210077 MT-TV 1 Mt_tRNA # # 4 ENST00000387347 ENSG00000210082 MT-RNR2 1 Mt_rRNA # # 5 ENST00000386347 ENSG00000209082 MT-TL1 1 Mt_tRNA # # 6 ENST00000361390 ENSG00000198888 MT-ND1 1 protein_coding # # Mt_tRNA transcript_biotype # # 1 # # 2 Mt_rRNA # # 3 Mt_tRNA # # 4 Mt_rRNA # # 5 Mt_tRNA # # 6 protein_coding

现在我们可以将元数据保存到一个文件,以避免下载每次我们需要使用它。

下次我们需要访问元数据,我们可以直接从磁盘加载它。

# # 1 # # transcript_id gene_id gene_name链gene_biotype ENST00000387314 ENSG00000210049 MT-TF 1 Mt_tRNA # # 2 ENST00000389680 ENSG00000211459 MT-RNR1 1 Mt_rRNA # # 3 ENST00000387342 ENSG00000210077 MT-TV 1 Mt_tRNA # # 4 ENST00000387347 ENSG00000210082 MT-RNR2 1 Mt_rRNA # # 5 ENST00000386347 ENSG00000209082 MT-TL1 1 Mt_tRNA # # 6 ENST00000361390 ENSG00000198888 MT-ND1 1 protein_coding # # Mt_tRNA transcript_biotype # # 1 # # 2 Mt_rRNA # # 3 Mt_tRNA # # 4 Mt_rRNA # # 5 Mt_tRNA # # 6 protein_coding

下载完整的记录数据库的运用

然而,仅仅记录元数据并不足够使用wiggleplotr,我们还需要所有外显子的坐标。我们可以使用GenomicFeatures包。首先,我们使用makeTxDbFromBiomart函数对应的完整的记录数据库下载到sepcifc运用版本,在78年这种情况下运用。请注意,由于数据库是相当大的,这可能至少需要几分钟。

我们可以将数据库保存到磁盘,以避免下载一遍每次我们想使用它。

我们可以从磁盘加载使用loadDb函数。

我们可以提取外显子和编码序列(CDS)坐标带注释的记录从数据库中。以下命令将生成的列表农庄对象,每个元素包含一个外显子和编码序列的成绩单。

最后,我们使用新下载的注释来想象所有蛋白质的结构编码NCOA7的成绩单。


  1. Alasoo考尔,等。“转录分析巨噬细胞来源于单核细胞和iPS细胞识别守恒的有限合伙人和小说另类转录反应。”科学报告5 (2015):12524。