\name{basecontent} \alias{basecontent} \alias{countbases} \title{Obtain the ATCG content of a gene} \description{ WARNING: Both \code{basecontent} and \code{countbases} have been deprecated in favor of \code{\link{alphabetFrequency}}. These functions accept a character vector representing the nucleotide sequences and compute the frequencies of each base (A, C, G, T). } \usage{ basecontent(seq) countbases(seq, dna = TRUE) } \arguments{ \item{seq}{Character vector.} \item{dna}{Logical value indicating whether the sequence is DNA (\code{TRUE}) or RNA (\code{FALSE})} } \details{ The base frequencies are calculated separately for each element of \code{x}. The elements of \code{x} can be in upper case, lower case or mixed. } \value{ A matrix with 4 columns and \code{length(x)} rows. The columns are named \code{A}, \code{C}, \code{T}, \code{G}, and the values in each column are the counts of the corresponding bases in the elements of \code{x}. When \code{dna=FALSE}, the \code{T} column is replaced with a \code{U} column. } \author{R. Gentleman, W. Huber, S. Falcon} \seealso{\code{\link{alphabetFrequency}}, \code{\link{reverseComplement}}} \examples{ v<-c("AAACT", "GGGTT", "ggAtT") ## Do not use these functions anymore: if (interactive()) { basecontent(v) countbases(v) } ## But use more efficient alphabetFrequency() instead: v <- DNAStringSet(v) alphabetFrequency(v, baseOnly=TRUE) ## Comparing efficiencies: if (interactive()) { library(hgu95av2probe) system.time(y1 <- countbases(hgu95av2probe$sequence)) x <- DNAStringSet(hgu95av2probe) system.time(y2 <- alphabetFrequency(x, baseOnly=TRUE)) } } \keyword{manip}