小麦BSgenome构建

安装R包BSgenome

#R
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("BSgenome")

输入文件1:2bit格式的基因组序列文件

#shell
#从UCSC中下载faToTwoBit
wget http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faToTwoBit
chmod 755 faToTwoBit

#下载小麦基因组序列文件
wget https://ftp.ensemblgenomes.ebi.ac.uk/pub/plants/release-56/fasta/triticum_aestivum/dna/Triticum_aestivum.IWGSC.dna.toplevel.fa.gz

#将fasta格式转为2bit格式
faToTwoBit Triticum_aestivum.IWGSC.dna.toplevel.fa.gz Triticum_aestivum.IWGSC.dna.toplevel.2bit

输入文件2:seed文件

BSgenome包内置了某些基因组的seed文件,存在~/anaconda3/envs/python3.8/lib/R/library/BSgenome/extdata/GentlemanLab/路径下,我们将其中拟南芥的seed文件复制一份,修改成小麦的

小麦seed文件展示

#shell
#cat Triticum_aestivum.IWGSC-seed
Package: BSgenome.Triticum.aestivum.IWGSC
Title: Full genome sequences for Triticum aestivum
Description: Full genome sequences for Triticum aestivum as provided by IWGSC and stored in Biostrings objects.
Version: 1.0.0
organism: Triticum aestivum
common_name: bread wheat
genome: TAIR10.1#这里要求的genome名是UCSC或者NCBI中的,但小麦的基因组是从EnsemblPlants下载的,因此用拟南芥的代替,不会影响后续使用
provider: EnsemblPlants
release_date: 2018/03/15#直接用拟南芥的,未做改动
source_url: https://ftp.ensemblgenomes.ebi.ac.uk/pub/plants/release-56/fasta/triticum_aestivum/dna/
organism_biocview: Triticum.aestivum
BSgenomeObjname: Triticum.aestivum.IWGSC
SrcDataFiles: Triticum_aestivum.IWGSC.dna.toplevel.fa.gz from https://ftp.ensemblgenomes.ebi.ac.uk/pub/plants/release-56/fasta/triticum_aestivum/dna/
PkgExamples: genome[["1A"]]#从EnsemblPlants下载的小麦基因组的染色体号为1A、1B、1D...,因此这里将原本拟南芥的genome[["1"]]改为genome[["1A"]]
seqs_srcdir: ~/genome/ChineseSpring/BSgenome#指定2bit文件路径
seqfile_name: Triticum_aestivum.IWGSC.dna.toplevel.2bit#指定2bit文件名

在R中构建小麦BSgenome

#R
library(BSgenome)
forgeBSgenomeDataPkg("./Triticum_aestivum.IWGSC-seed",seqs_srcdir=getwd(),destdir=getwd(),verbose=T)
#seqs_srcdir指定2bit文件路径,destdir指定输出文件路径,空值则代表当前路径

结束后会在当前路径中生成BSgenome.Triticum.aestivum.IWGSC目录,目录结构如下

#shell
BSgenome.Triticum.aestivum.IWGSC
├── DESCRIPTION
├── inst
│   └── extdata
│       └── single_sequences.2bit
├── man
│   └── package.Rd
├── NAMESPACE
└── R
    └── zzz.R

5 directories, 5 files

将BSgenome.Triticum.aestivum.IWGSC下的文件打包成R包

#shell
R CMD build BSgenome.Triticum.aestivum.IWGSC
R CMD check BSgenome.Triticum.aestivum.IWGSC_1.0.0.tar.gz
R CMD INSTALL BSgenome.Triticum.aestivum.IWGSC_1.0.0.tar.gz

打包完后就可以直接在R中调用了

#R
library("BSgenome.Triticum.aestivum.IWGSC")
#显示染色体号
seqnames(BSgenome.Triticum.aestivum.IWGSC)
#获取染色体长度信息
seqlengths(BSgenome.Triticum.aestivum.IWGSC)
#获取指定染色体的序列,因为R不识别数字开头的变量,所以$1A要写成$"1A",而$Un则可以直接写成$Un
A1=BSgenome.Triticum.aestivum.IWGSC$"1A"
Un=BSgenome.Triticum.aestivum.IWGSC$Un


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容