Как определить столбцы таблицы с несколькими вхождениями в R - PullRequest
0 голосов
/ 27 февраля 2020

Если у меня есть таблица, содержащая столбец последовательностей (например, «GGGAAAGGGAAT»), как я могу выбрать строки, в которых «GGG» встречается несколько раз в одной последовательности. У меня есть таблица с сотнями последовательностей. У меня есть использовал фильтр в RStudio для идентификации последовательностей с единичными вхождениями слова (например, «GGG»), однако у меня возникают трудности при идентификации последовательностей с множественными вхождениями слова. Есть ли способ выполнить sh это?

1 Ответ

0 голосов
/ 28 февраля 2020

Здесь вы go. Я рад, что вы не используете Excel для этого анализа;)

# function to generate gene sequences
gene_gen <- function() return(paste0(sample(x = c('A','G','T'), size  = 12, replace = T),collapse=''))
# lets create a data table with a thousand of those  
df = data.table(replicate(1000,gene_gen()))
# select lines using a regular expression looking for two instances of GGG in the same sequence
df[regexpr('GGG.*GGG',V1)==1]
#Result is 
             V1
1: GGGGGAGGGGAG
2: GGGTATTGGGGT
3: GGGGAGAAGGGT
4: GGGTATGGGGTA
5: GGGTGTGGGAGG
6: GGGAGGGTGTTG

Ключом здесь является использование регулярных выражений. regexpr('GGG.*GGG', sequence_string) ищет 3 GGG символов, затем все (.) ноль или более раз (*), а затем 3 следующих GGG символа. Есть много веб-сайтов с тестерами regex, которые помогут вам тренироваться с ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...