2009-09-28 1 views
3

У меня есть последовательность ДНК, как: cgtcgctgtttgtcaaagtcg....Попытка вернуть указанное число символов из последовательности гена в R

, которое, возможно, долго 1000+ писем.

Однако я хочу посмотреть, например, буквы с 5 по 200 и определить это подмножество строки как новый объект.

Я пробовал смотреть на функцию nchar, но не нашел что-то, что сделало бы это.

+0

Спасибо всем за помощь. Я очень благодарен. Функция substr очень полезна для меня. – 2009-09-30 13:17:08

+0

Не могли бы вы сначала создать временную строку, которая была отрезана от длинной? – lod3n

+0

Как это сделать? ... извините за наивный вопрос (я новый пользователь) – 2009-09-28 23:06:26

ответ

9

Попробуйте

substr("cgtcgctgtttgtcaa[...]", 5, 200) 

См substr().

+0

Чрезвычайно много! Chris – 2009-09-30 13:22:08

+0

Эта ссылка для документации substr оказалась мертвой. Как насчет этого: http://stat.ethz.ch/R-manual/R-patched/library/base/html/substr.html – Argalatyr

6

Используйте функцию подстроки:

> tmp.string <- paste(LETTERS, collapse="") 
> tmp.string <- substr(tmp.string, 4, 10) 
> tmp.string 
[1] "DEFGHIJ" 
3

Смотрите также пакет Bioconductor Biostrings, который является хорошим выбором, если вам нужно обрабатывать большие биологические последовательности или набор последовательностей.

#source("http://bioconductor.org/biocLite.R");biocLite("Biostrings") 
library(Biostrings) 
s <-paste(rep("gtcgctgtttgtcaac",20),collapse="") 
d <- DNAString(s) 
d[5:200] 
as.character(d[5:200])