如何使用R从FASTA文件中提取BED文件中定义的每个间隔的序列?
如何使用R从FASTA文件中提取BED文件中定义的每个间隔的序列? 所使用的参考基因组为“Gallus Gallus”,可通过以下方式获得:如何使用R从FASTA文件中提取BED文件中定义的每个间隔的序列?,r,range,bioconductor,R,Range,Bioconductor,如何使用R从FASTA文件中提取BED文件中定义的每个间隔的序列? 所使用的参考基因组为“Gallus Gallus”,可通过以下方式获得: source("http://bioconductor.org/biocLite.R") biocLite("BSgenome.Ggallus.UCSC.galGal4") library(BSgenome.Ggallus.UCSC.galGal4) 我的数据文件是gRanges软件包的结果 library("GenomicRanges") &
source("http://bioconductor.org/biocLite.R")
biocLite("BSgenome.Ggallus.UCSC.galGal4")
library(BSgenome.Ggallus.UCSC.galGal4)
我的数据文件是gRanges软件包的结果
library("GenomicRanges")
> olaps
GRanges object with 2141 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr14 [ 1665929, 1673673] *
[2] chr14 [ 2587465, 2595209] *
[3] chr14 [ 8143785, 8151529] *
[4] chr14 [ 9779705, 9787449] *
[5] chr14 [10281129, 10288873] *
... ... ... ...
[2137] chr24 [3280553, 3288297] *
[2138] chr24 [3330889, 3338633] *
[2139] chr24 [3005641, 3015321] *
[2140] chr24 [3319273, 3327017] *
[2141] chr24 [5549545, 5557289] *
-------
seqinfo: 31 sequences from an unspecified genome; no seqlengths
到目前为止,我尝试使用此软件包未成功:
source("http://bioconductor.org/biocLite.R")
biocLite("rtracklayer")
这将解决您的难题: 第一:
seq = BSgenome::getSeq(BSgenome.Ggallus.UCSC.galGal4, olaps)
要向序列添加名称,请执行以下操作:
names(seq) = paste0("SEQUENCE_", seq_along(seq))
Biostrings::writeXStringSet(seq, "my.fasta")
要从序列生成“.fasta”:
names(seq) = paste0("SEQUENCE_", seq_along(seq))
Biostrings::writeXStringSet(seq, "my.fasta")
之前提供了更多详细信息:
我从未尝试将R用于fasta文件。。。但是快速的谷歌搜索会返回多个具有功能的网页。您是否尝试过
Biostrings
软件包(来自Bioconductor
)中的readFASTA
?或者从seqinr
包中读取.fasta?seq=BSgenome::getSeq(BSgenome.Ggallus.UCSC.galGal4,olaps);Biostrings::writeXStringSet(seq,…)
但询问Bioconductor。
Biostrings::writeXStringSet(seq, "my.fasta")