Идентификация генов из списка генов

Это выглядит более неудобным, чем необходимый, но лучше, чтобы я мог найти прямо сейчас:

 setxkbmap -print -layout us | xkbcomp -xkm - - | xkbprint - test.ps

поместит изображение хорошего выхода американского расположения в test.ps. (setxkbmap поддержки много других флагов, в особенности -option и -variant может представлять интерес для Вас. Для получения дополнительной информации посмотрите man setxkbmap. (Извините, X настроек клавиатуры являются известно волосатыми.)

6
17.04.2014, 07:54
4 ответа
[115058] Все, что вам нужно, это простой [115453] grep[115454]:

Используются следующие опции:

-w : Поиск целых слов, это гарантирует, что имя гена [115796]ERK1[115797] не будет совпадать с геном [115798]ERK12[115799] ([115800] -w[115801] не является стандартной опцией, но является довольно распространенной)

c---rw---- 1 root lp 6, 0 2011-06-26 22:47 /dev/lp0

-f : Читайте шаблоны для поиска из файла. В этом случае [115802]gene_list.txt[115803].

sudo chmod 666 /dev/lp0

-F : Обращайтесь с шаблонами как со строками, а не как с регулярными выражениями. Это гарантирует, что имя гена, подобное [115804]TOR*[115805] (если бы такое существовало), не будет соответствовать [115806]TORRRR[115807].

echo "Y helo thar" > /dev/lp0

-F : Это предполагает, что вокруг имен генов в вашем списке нет пробелов [115461]-[115462]. Если они есть, вам нужно сначала удалить их (здесь с GNU [115463]sed[115464]):

8
27.01.2020, 20:21
[115073] Из примера на [115471]wiki[115472]:

Explanation скопировано из вики-записи:

enter image description here

FNR == NR[115809]: Этот тест верен, когда количество записей равно количеству записей в файле. Это справедливо только для первого файла, так как второй файл NR будет равен количеству строк file1 + FNR.

enter image description here

arr[$0][115811]: Это классическая техника создания индекса элемента массива по всей строке. При этом создается массив с именами файлов 1.

enter image description here

next[115813]: при этом происходит переход к следующей записи, поэтому обработка в файле 1.

$6 в arr[115815] больше не производится: Это произойдёт только на записях файла2 из-за следующей. Если в arr присутствует $1, т.е. в file1, то будет выполнено действие по умолчанию и напечатана строка.

enter image description here

7
27.01.2020, 20:21
[115067]Для большей робастности вы можете изменить список генов на регулярные выражения, чтобы они совпадали в конце строки. Это должно сработать (и быть совместимо с POSIX):


или с лидирующим пробелом в [115465]gene_list[115466] (согласно примеру в вопросе):

Конечно, это не сработает, если в имена генов включены символы, которые интерпретируются регулярными выражениями. Атлхоф, если это так, то вам нужно добавить дополнительные замещающие выражения в [115467]sed[115468], чтобы избежать их, например [115469]s:\[:\[:[115470].[115072].

4
27.01.2020, 20:21
[115232]Предположим, что список генов - это [115714]list.txt[115715] и информационный файл - это [115716]info.txt[115717], а также, что имена генов никогда не содержат пробелов:[12172]Выход:[12173]
0
27.01.2020, 20:21

Теги

Похожие вопросы