繁体   English   中英

在R中的Biostrings包上打开fas格式文件

[英]Opening a fas format file on Biostrings package in R

我正在尝试使用“ Biostrings”软件包处理fas扩展文件。 我尝试了多种不同的方式,用尽了Google搜索的技巧,但在不同的Web /博客/视频教程上却没有取得很大的成功。

请考虑以下文件路径:“ /mydesktop/DNAfile.fas”

我已经成功安装了Biostrings软件包和XVector。

library(Biostrings)
library(Vector)

然后我写了以下几行:

fas1 <- system.file("extdata", "/mydesktop/DNAfile.fas", package="Biostrings")

dna <- readDNAStringSet(fas1)

但是,这会产生如下错误:

Error in .Call2("new_input_filexp", filepath, PACKAGE = "XVector") : cannot open file ''

有人可以指导我吗? 有人在其他博客上建议其他用户他应该考虑将fas更改为FASTA,但是这将如何改变工作流程?

谢谢!

我大概找到了答案。 不确定我是否可以回答自己的问题。 首先,@ Maurits和@Poshi的评论都是正确的。 我再次感谢他们。 这可能是他们上面明智提到的更长的版本,但是下面是我的思考过程。 这是针对其他初学者的,他们可能会陷入与我经历的同样的误解,以节省他们的时间和精力。

首先 ,如果文件创建者不打算故意放一个不同的扩展名来欺骗用户,则fas(或fasta,fa)文件本质上是相同的。 知道它是否真正基于相同格式的一种方法是,只需在任何ASCII文本编辑器或等效环境中打开它们,然后浏览前几行。 但是,请注意,如果文件太大,它将占用您的RAM,并使您的计算机不舒服。

其次 ,我检查了文件是否确实包含定义行以及序列。 我知道这是一种钝器(可能并不完全准确),但是即使在我进入ASCII级别之前,我也使用以下代码在R上打开了它:

g <- gzcon(file("/MyDesktop/Ecoli_Genome.fas", "r")) # set to your path
fas <- readLines(g) # read directly from .gz file
close(g) # close the file connection
head(fas) # lines of the FASTQ formatted file

在这里,您可以亲眼检查所有序列。 但是很显然,这不能使您兼容在此序列上使用Biostrings!

确保正确安装了Biostrings。 无法通过install.packages(“ Biostrings”)安装。 这是来源。

source("https://bioconductor.org/biocLite.R")

该网页是: https : //bioconductor.org/packages/release/bioc/html/Biostrings.html

第三 ,了解fas(或fasta)可以将所有序列存储在一行中。 它基本上是列表的一种复杂形式,并且您的序列可以以不同的方式存储,但是连续的碱基通常不需要分段存储。 所以我的序列全都在一行中!

因此,我的问题的解决方案是:

library(Biostrings)
dna <- readDNAStringSet("/MyDesktop/Ecoli_Genome.fas")

您可以通过以下方式进行确认:

> dna
  A DNAStringSet instance of length 1
      width seq                                                      names               
[1] 4641652 AGCTTTTCATTCTGACTGCAACGGGCA...AAAAAACGCCTTAGTAAGTATTTTTC U00096.3 

让我知道要学习的其他评论。 谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM