A question when using Biostrings
0
0
Entering edit mode
@herve-pages-1542
Last seen 1 day ago
Seattle, WA, United States
Hi Xiaoyun, On 10/21/2013 06:50 AM, Xiaoyun Shang wrote: > Dear Pages, > > Biostrings is a great package in R. Thank you all! > > I had a question when I used this package to deal with a fasta file. > Here is my code: > > library("Biostrings") > human_protein <- readAAStringSet("HUMAN.fasta","fasta",use.names=TRUE) > names(human_peotein[[1]]) > > When I use the function 'names' to extract the name of first name, it > returns 'NULL', but it do have a name (description). How can I get this > name included in the fasta file? You need to understand the subtle but fundamental difference between [[ and [ on a list-like object: x <- list(A=1:3, B=c(x=1, y=2), C=NULL, D=2:-1) 'x' is a named list: > names(x) [1] "A" "B" "C" "D" Those names are the "outter names" (aka "top-level names") of the list. The 1st list element is an integer vector of length 3: > x[[1]] [1] 1 2 3 > length(x[[1]]) [1] 3 It has no names: > names(x[[1]]) NULL The 2nd list element is an integer vector of length 2: > x[[2]] x y 1 2 It has names: > names(x[[2]]) [1] "x" "y" Those names are the "inner names" of the 2nd list element. To extract the 1st *outter* name of the list, do: > names(x)[1] [1] "A" You could get the same result with (note the use of the single bracket here): > names(x[1]) [1] "A" This works because: x[1] is still a list like 'x' but only the 1st element of the list was kept (so it's a list of length 1). And also because [ subsets the *outter* list names: > length(x[1]) [1] 1 > x[1] $A [1] 1 2 3 Note that, even if semantically equivalent, 'names(x)[i]' is preferred over 'names(x[i])'. The 'human_protein' object you got with readAAStringSet() is an AAStringSet object, which is a list-like object. So the same apply. Hope this helps, H. > > Many thanks! > > Xiaoyun > > -- > Xiaoyun Shang MD, PhD > Institute of Immunology, PLA > Third Military Medical University > 30# Gaotanyan, Shapingba,Chongqing > 400038 P.R.China > phone: +86 23 6877 1920 <tel:%2b86%2023%206877%201920> > mobile?+86-135 2748 0908 <tel:%2b86-135%202748%200908> > Email: shangxiaoyun at gmail.com <mailto:shangxiaoyun at="" gmail.com=""> ; > shangxiaoyun at tmmu.edu.cn <mailto:shangxiaoyun at="" tmmu.edu.cn=""> -- Hervé Pagès Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fhcrc.org Phone: (206) 667-5791 Fax: (206) 667-1319
Cancer Biostrings Cancer Biostrings • 1.0k views
ADD COMMENT

Login before adding your answer.

Traffic: 945 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