Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2014

Линукс, продолжение

План занятия

Таблица основных утилит 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.

Перейти к домашнему заданию