An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110127/d5507441/attachment.pl>
Help with ape - read.GenBank()
3 messages · Ben Bolker, James Meadow
James Meadow <jfmeadow <at> gmail.com> writes:
Hi,
I am trying to work with the ape package, and there is one thing I am
struggling with. When calling the *read.GenBank()* function, I can get it
to work with an object created like this:
*>x <- c("AY395554","AY611035", ...)*
*>read.GenBank(x)*
However, I am trying to use the function to fetch several hundred sequences
at once. So I have been testing with small files, but cannot get the right
format. I tried to enter accession numbers with or without headers as a
.csv and just as a text file, and I have tried *as.vector*, but I always get
this error:
*x <- read.csv("numbers.csv",head=T)*
*>attach(x)* *>x.vect <- as.vector(t(x)**)* *>x.seqs <- read.GenBank(x.vect)* Error in FI[i]:LA[i] : NA/NaN argument I have been trying this with an identical set of accession numbers, and it always works with the c() vector but not with the table, so the content is not the problem. I assume I am just missing a simple data structure detail, but I am at a loss. I have even tried a c() vector of more than a hundred accession numbers, and it worked quite well, so the length is not a problem.
It's not entirely clear how your CSV file is structured, but I'm supposing that you have all your accession numbers in a single row (with appropriately matching headers). (It would be a little bit more "R-ish" if you had them all in a column, and would make life a little easier, but let's work with what you have.) After you use read.csv(), try str(x) This should tell you that you have a data frame with a lot of columns, each of which is a factor with a single element and a single level.
From there try
m <- as.matrix(x) str(m) should tell you you have a 1-row matrix of type 'character' then v <- c(m) should drop the dimensions and leave you with a character vector (try str(v) again to be sure) then read.GenBank(v) should work For future phylogenetic/comparative-methods type questions, it's probably better to write to the r-sig-phylo mailing list ...
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20110128/ea44f5b1/attachment.pl>