我们的基因体时代-AI, Data和生物资讯 Day26-取用基因序列资讯

上一篇[我们的基因体时代-AI, Data和生物资讯 Day25- 再深一点:AnnotationHub,从注释到序列]https://ithelp.ithome.com.tw/articles/10271911/)持续往下分享怎麽用Bioconductor系统的library来调用基因相关的资料,来做近一步的分析使用。

取用基因序列资讯:TwoBit

library(AnnotationHub)
ah <- AnnotationHub()

上一篇我们从AnnotationHub的使用,可以调用世界知名机构所产出的资料如美国国家生物资讯中心、博德研究中心、英国生物资讯中心等等,我们也在上一篇中看到其中所含的各式各样资料类型:
https://ithelp.ithome.com.tw/upload/images/20210926/20103989piYvZkkXc0.png
这边我们主要来分享一下TwoBit这个档案格式,之前有介绍过传统的基因序列资讯会使用fasta这种格式来储存,但为了档案大小和资料分析方便,而有了压缩过的基因序列格式,即为twobit,否则动辄好几Gb的档案,很容易造成资料传输和下载的时候一些问题,这个格式也是由UCSC Genome Broswer里面所提出的。

我们使用昨天教学的方式来下载一个twobit的档案,看如何使用
https://ithelp.ithome.com.tw/upload/images/20210926/20103989qggnhKVpmM.png
来看一下呼叫这个档案,他会显示什麽:

> ahs.GRCh38.cdna.all
TwoBitFile object
resource: /Users/weitinglin66air/Library/Caches/AnnotationHub/fa9efe25aaa_56452 
> 

他会明显地显示这是一个TwoBit档案物件,其实际上是储存在这部电脑的哪个资料夹之中。

> class(ahs.GRCh38.cdna.all)
[1] "TwoBitFile"
attr(,"package")
[1] "rtracklayer"
> seqinfo(ahs.GRCh38.cdna.all)
Seqinfo object with 175372 sequences from an unspecified genome:
  seqnames        seqlengths isCircular genome
  ENST00000415118          8       <NA>   <NA>
  ENST00000448914         13       <NA>   <NA>
  ENST00000631435         12       <NA>   <NA>
  ENST00000434970          9       <NA>   <NA>
  ENST00000632684         12       <NA>   <NA>
  ...                    ...        ...    ...
  ENST00000627692        927       <NA>   <NA>
  ENST00000631343       1490       <NA>   <NA>
  ENST00000633652        508       <NA>   <NA>
  ENST00000634119       1226       <NA>   <NA>
  ENST00000631874        147       <NA>   <NA>

接者,我们可以看一下怎麽来manipulation这个物件,因为这个是一个S4系统的物件,所以行为会跟传统R系统的物件不同,开发者可以定义很多不同的使用模式,所以可以先用class函数看一下这个物件是以什麽函数包为主,再去看那个包的介绍。这边发现他是一个由rtracklayer包所定义的物件,rtracklayer包即为UCSC Genome Browser团队开发用来跟他们track系统所做的一层应用层。
https://ithelp.ithome.com.tw/upload/images/20210926/20103989TUZsU60Wvk.png
这边我们直接使用rtracklayer包中的import函数来将twobit物件转换成序列资讯,这边也可以用GRanges来指定想要import的序列,这样也比较不会占用Ram空间。

阅读参考:

How to forge a BSgenome data packag.2021
Efficient genome searching with Biostrings and the BSgenome data
packages
.2022

Accessing the Genome Browser Programmatically Part 1 – How to get sequence from the UCSC Genome Browser

BSgenome. Bioconductor


这个月的规划贴在这篇文章中我们的基因体时代-AI, Data和生物资讯 Overview,也会持续调整!我们的基因体时代是我经营的部落格,如有对於生物资讯、检验医学、资料视觉化、R语言有兴趣的话,可以来交流交流!


<<:  Day26. Blue Prism取号一把罩–BP自动取得订单编号

>>:  012-忘记打文章

Ubuntu巡航记(3) -- Docker 安装

前言 Docker 是一种虚拟化技术,可以透过容器(Container)建立多个虚拟机,也可以将虚拟...

Day22 - ArgoCD 建立应用程序

前言 前一天我们在 K8s Cluster 建置好了 ArgoCD 服务,今天就来实际操作看看,透过...

Python 列印

我们终於进到写程序的部分了,前几天我们都在教学基本的使用,今天就让我来教大家吧!我们就先开到程序档的...

【Day28】2次收敛除法器实作

接下来探讨一种透过牛顿法来找到相除解的方法 收敛除法 Step1 : 规格化 N 和 D,令 D 趋...

Ubuntu巡航记(5) -- Kaldi 安装

前言 Kaldi 是自动语音辨识(Automatic Speech Recognition, ASR...