Учебная страница курса биоинформатики,
год поступления 2014
Линукс, продолжение
План занятия
- контрольная по выравниваниям, 5 минут
- повторение материала предыдущей лекции по линуксу. wc --bytes
grep (опции -i, -l, -f, -o, -w, -x, -e, -B, -A, -C, -c, -v) (внимание: паттерны грепа отличаются от масок имён файлов)
циклы, условия, [функции]
sort (опции -u, -h, -r), uniq (опция -c), shuf (случайное перемешивание)
- $RANDOM
включение подкоманд (пример, удалим все файлы, в которых содержится bad-word: rm `grep -l bad-word -r`)
- простые упражнения по вышеизложенному
- напутствие по домашнему заданию
- переписывание контрольной 6 (тема: линукс)
Таблица основных утилит GNU/Linux
Упражнения
Рекомендуем выполнить эти упражнения в классе после лекции, чтобы упростить себе выполнение домашнего задания. Выполнение уражнений не контролируется.
В папке /home/export/samba/public/y14/term2/linux/cw6a лежат аннотации статей про рак. Мы какое-то время поживём с этими файлами.
Упражнение 1. grep
В каждом файле с аннотацией содержится номер статьи в PubMed. Он представляет собой число и находится в строке, начинающейся с "PMID:". Надо распечатать список всех строк, содержащих PMID.
Упражнение 1.1. grep -e -o
Составьте скрипт, выдающий список PMID (чисел). В каждой строки выдачи должно быть только число! Подсказка: добавьте в конвеер ещё один grep с флагом -o, фильтрующий только числа.
Упражнение 1.2. циклы, wget/curl
Зная PMID, можно получить о статье довольно много информации в машиночитаемом формате. Для этого надо скачать страницу "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&retmode=json&rettype=abstract&id=PMID". В этой строке "PMID" надо заменить на само значение PMID. Для этого используйте запись $PMID, где PMID - переменная, которой мы идём по строкам в цикле.
Напишите скрипт, который проходится по списку PMID (из упр. 1.1) и для каждого скачивает информацию о статье.
Упражнение 1.3. Снова grep
В выдаче скрипта из упр. 1.2 есть интересное поле "pmcrefcount", которое отвечает за число цитирований данной статьи. Отфильтруйт только такие строки в выдаче wget.
Упражнение 1.4. sort -h
распечатайте таблицу с колонками "PMID", "число цитирований", отсортировать по убыванию числа цитирований. Для этого надо внутри цикла сделать echo, а снаружи от цикла сделать sort -h.