Учебная страница курса биоинформатики,
год поступления 2017
Практикум 7
Задания
Все задания проверяются по наличию и содержанию указанных файлов. Все файлы должны располагаться в директории ~/term2/linux. Срок выполнения без потери баллов 2 апреля, крайний срок 9 апреля.
Перед выполнением заданий можно ознакомиться с краткими указаниями.
1. Переменные.
Заведите в своей домашней директории файл .bash_profile (название начинается с точки) и в нём строку
pt2="/home/export/samba/public/y17/term2"
Разлогиньтесь и снова залогиньтесь на kodomo. Убедитесь, что команды вида:
echo "$pt2" ls "$pt2/block2"
и т.п. работают как нужно.
Оценка: по наличию файла .bash_profile и нужной строки в нём.
(*) Дополнительно. Посмотрите, что содержится в переменной PS1 (echo $PS1), эта переменная задаёт вид приглашения ввести команду. В man bash долистайте до строки "PROMPTING" и посмотрите, как можно изменить переменную PS1 и какой от этого будет эффект. Если какой-то вариант вам понравится, внесите его в .bash_profile. Не забывайте защищать спецсимволы bash, в частности обратную косую черту \ и пробел.
2. Сценарий bash без циклов
Сценарий должен называться prot_chains.sh.
Напишите сценарий, который выделяет из записи P17763 банка Swiss-Prot последовательности всех минимальных зрелых цепей (то есть таких, которые не делятся на более короткие цепи) в один файл в формате fasta.
Сценарий нужно сначала протестировать! Желательно делать это в какой-нибудь другой директории, рекомендуется тестировать сценарии этого и следующего упражнений в директории ~/term2/linux/pr7.
Указания:
В EMBOSS есть программа descseq, которая аналогична seqret, но позволяет придавать выходной последовательности новые имя и описание.
К сожалению, descseq умеет обрабатывать только одну последовательность за раз (да и как иначе), поэтому сценарий должен состоять из необходимого количества вызовов descseq с правильными аргументами.
- Но выходной fasta файл должен быть один! Придумайте, как заставить descseq записывать все в один файл, не удаляя предыдущие записи.
- Белковые цепи описываются в записи Swiss-Prot в поле FT c ключем "CHAIN". Из таких строк можно получить все необходимое (координаты и описание).
Крайне не рекомендую составлять скрипт вручную. На самом деле, его почти целиком можно создать с помощью всего 3 команд bash: echo (или printf), grep и sed. Останется только вручную (или еще как-то) удалить все цепи, которые не являются минимальными. Ну да, еще понадобится chmod для задание прав на исполнение и entret из EMBOSS для получения нужной записи Swiss-Prot. Редактировать файл в командной строке можно с помощью nano.
3. Сценарий bash с циклом
Сценарий должен называться count_aa.sh.
Напишите сценарий, который принимает в командной строке одно из однобуквенных обозначений аминокислотных остатков и выдаёт количество этого остатка в каждом из файлов текущей директории, имеющих расширение .fasta. Выходной формат произвольный, единственное требование – должно быть понятно, какому файлу соответствует каждое число.
4. *Генератор HTML таблиц (дополнительное)
Сценарий должен называться tsv_to_html.sh.
Создайте скрипт, который получает название TSV файла (текстовая таблица с <Tab> в качестве разделителя столбцов) и выводит соответствующую таблицу в формате HTML (достаточно только того, что должно быть между тегами <table> и </table>). Подсказка: все требуемое можно сделать с помощью 3 команд sed.