[R] "ACCTGMX" to "1223400" in R?

jim holtman jholtman at gmail.com
Tue Jul 20 04:44:37 CEST 2010


Here is another way of doing it with 'chartr'; I only assume that you
have the upper characters, but you can add to the strings to cover any
others:

> tst <- rep( "ACCTGMX", 5)
> chartr("ACTGBDEFHIJKLMNOPQRSUVWXYZ", "12340000000000000000000000", tst)
[1] "1223400" "1223400" "1223400" "1223400" "1223400"


On Mon, Jul 19, 2010 at 5:31 PM, John1983 <sandhya_prabhakaran at yahoo.com> wrote:
>
> Hi,
>
> I am a newbie in R and was working on some DNA data represented as strings
> of A,C,T and G (also wild-character like M and X). I use the Bioconductor
> package in R. Currently I need to convert a string of the form "ACCTGMX" to
> "1223400" i.e. A is replaced by 1, C with 2, T with 3, G with 4 and any
> other character with a 0. I checked with 'replace' and also with a function
> called 'copySubstitute' found in the Biobase package but this is only for
> files.
> The data here is a string ("ACCTGMX" ) and we need to convert it to yet
> another string ("1223400"). Now I use the strsplit function to split
> "ACCTGM" into "A" "C" "C" "T" "G" "M" and then use 'which' to assign the
> corresponding numbers.
> Is there a faster way to do this or some function I can make use of?
>
> Please advice.
>
> Thank you.
> --
> View this message in context: http://r.789695.n4.nabble.com/ACCTGMX-to-1223400-in-R-tp2294636p2294636.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list