Подсчитать вхождение слов в несколько файлов - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть список генов, который выглядит следующим образом, и он называется miRs.txt

miRs
miR-92|LQNS02278089.1_34108
miR-92|LQNS02278089.1_34106
miR-92|LQNS02278089.1_34110
miR-184|LQNS02000211.1_1952
miR-184|LQNS02000211.1_1954
miR-184|LQNS02000211.1_1795
miR-184|LQNS02000211.1_1950
bantam|LQNS02278082.1_33125
miR-1|LQNS02277099.1_24575

, каждая строка - это уникальное имя гена и всего 176 имен. У меня также есть 32 других TXT, где каждый файл имеет свою спецификацию cie, и в каждом ряду я получил гены, которые присутствуют. Это пример для двух файлов с именами daphnia_pulex.txt и daphnia_magna.txt, я получил 30 других файлов, которые я хотел бы обработать таким же образом.

cat daphnia_pulex
qseqid
miR-92|LQNS02278089.1_34108
miR-92|LQNS02278089.1_34106
miR-92|LQNS02278089.1_34110
miR-184|LQNS02000211.1_1952
miR-184|LQNS02000211.1_1954
bantam|LQNS02278082.1_33125

cat daphnia_magna.txt
qseqid
miR-92|LQNS02278089.1_34106
miR-92|LQNS02278089.1_34110
miR-184|LQNS02000211.1_1795
miR-184|LQNS02000211.1_1950
bantam|LQNS02278082.1_33125
miR-1|LQNS02277099.1_24575

В идеале я хочу вывод, который выглядит следующим образом:

enter image description here

Я знаю, что двое делают это, используя grep

grep -wc "miR-92|LQNS02278089.1_34108" *.txt

, но для этого требуется, чтобы я каждый раз вводил имя каждого гена. Пожалуйста, помогите мне! Спасибо.

1 Ответ

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

Готово, в случае, если это может помочь кому-то, я создал CSV-файл со всеми попаданиями на организм, а затем я попробовал это и сработало.

a <- data %>% 
type.convert(as.is = TRUE) %>% 
pivot_longer(cols = -miRs) %>% 
filter(value != "") %>% count(name, value) %>% 
pivot_wider(names_from = name, values_from = n, values_fill = list(n = 0))

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