length of a DNAString
1
0
Entering edit mode
6.5 years ago
c.chakraborty ▴ 180

I am doing something extremely basic and stupid. I can call a fasta seq using this

x <- readDNAStringSet(file.choose())

file gets opened, and then I type this

length(x)

[1] 1 But when I use view, I can see nicely that it has 11405 bp. I can use seqinr to get the length, like

length(x[[1]])

But, I can't do anything more, how do I extract the sequence only? And how do I convert it to a DNAString?

using readDNAStringset- R biostrings • 4.7k views
ADD COMMENT
1
Entering edit mode

type width(x). This would print the lengths of all sequences in DNAstringset object.

ADD REPLY
2
Entering edit mode
6.5 years ago
h.mon 35k

The readDNAStringSet() reads a set of sequences from a file into an XStringSet object. To see the help page of the XStringSet-class, use:

?XStringSet

There you will find why length(x) returned 1:

length(x): The number of sequences in x.

For an DNAStringSet object, the function you want is width(). If you want a DNAString, you may extract just one element of the DNAStringSet and assign it to a new variable:

xString <- x[[1]]

Now, length(xString) will show the sequence length.

ADD COMMENT
0
Entering edit mode

This is great, thanks a bunch! I also found a crude solution. If I load the files by ape and then unlist it, and then ask for length, it works!

ADD REPLY

Login before adding your answer.

Traffic: 863 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6