Обязательные задания
Мягкий дедлайн – 01:00 AM 10 октября, жесткий дедлайн – 01:00 AM 17 октября. При записи на проверку номер практикума – 5. В поле URL нужно поставить прочерк. Проверять будем наличие четырех файлов в папке ~/term1/credits с указанными ниже именами.
Таблица локальных особенностей – файл ~/term1/genome/*_feature_table.txt, который вы получили для выбранной бактерии/археи в практикуме №2. Вам потребуется составить два сценария (в обиходе скрипта) bash, которые будут по таблице локальных особенностей выводить некоторую информацию.
Существует три основных способа передачи информации из файла в программу.
Передача имени файла в аргументе командной строки – пожалуй, наиболее универсальный способ, но вы пока не обладаете достаточными знаниями, чтобы его реализовать.
Программа может всегда обрабатывать файл с каким-то фиксированным именем. Это проще всего реализовать, но такую программу будет очень неудобно использовать, так как перед каждым запуском нужно будет подкладывать файл с правильным именем. Так должен быть устроен первый сценарий ft_info.sh. Он должен предполагать, что таблица локальных особенностей является единственным файлом, подходящим под маску ../genome/*_feature_table.txt . В этом случае вы сможете запустить этот сценарий из папки credits, а для проверки мы сможем скопировать скрипт и подложить в нужное место проверочную таблицу.
Программа может считывать все данные с STDIN, а не из файла. Так должен работать второй сценарий. Это удобнее при использовании, но накладывает некоторые ограничения на саму программу, ведь данные с STDIN можно прочитать только один раз. Второй сценарий будет содержать всего один конвейер, поэтому указанное ограничение не будет проблемой.
В таблице локальных особенностей генома (feature_table) каждая строка (запись) соответствует одной "локальной особенности" (feature) – некоторому участку последовательности, которому приписана функция. Локальные особенности бывают разных типов, например, gene (любой ген, белок-кодирующий, РНК-кодирующий, псевдоген), CDS (белок-кодирующая последовательнось), tRNA (участок ДНК, кодирующий тРНК) и т.д. Тип записи указан в первой колонке. Список типов фиксированный, у каждого типа есть принятое обозначение. Почти любой анализ таблицы локальных особенностей должен начинаться с отбора записей только нужного типа (или типов). Так как колонка первая, а все обозначения типов фиксированные, то это надежно можно делать даже с помощью grep.
grep '^tRNA' feature_table.tsv | ... # отбор записей про тРНК
1. Базовая информация о геноме
Нужно составить сценарий bash с именем ~/term1/credits/ft_info.sh, который будет содержать три следующих конвейера. Созданный сценарий нужно будет запустить в папке ~/term1/credits и сохранить его выдачу в файл ft_info.out.
Конвейер 1
Должен читать файл ../genome/*_feature_table.txt и выводить идентификатор сборки генома, который содержится в третьей колонке файла (assembly). Значение в этой колонке должно быть одинаковым в каждой строке таблицы, поэтому вы можете вывести значение из любой строки, кроме заголовка.
Конвейер 2
Должен читать файл ../genome/*_feature_table.txt и выводить количество репликонов в геноме. У каждого репликона в таблице свое уникальное имя (столбец с путающим названием chromosome) и идентификатор (столбец genomic_accession). Другими словами, вы можете посчитать и вывести, сколько уникальных значений в любом из этих столбцов. Только не забудьте предварительно удалить заголовок!
Конвейер 3
Должен читать файл ../genome/*_feature_table.txt и выводить количество любых генов (gene в первом столбце) на прямой и обратной цепях. В этом конвейере не получится обойтись без grep для отбора строк, соответствующих генам. Формат выдачи не важен, главное, чтобы было понятно, сколько генов на прямой цепи (в сумме на всех прямых цепях репликонов), и сколько на обратной.
Пример запуска и выдачи сценария:
kodomo:~/term1/credits$ bash ft_info.sh
GCF_000008865.2
3
2747 +
2670 -
kodomo:~/term1/credits$
2. Информация о генах рРНК
Нужно составить сценарий bash с именем ~/term1/credits/rRNA_info.sh, который будет выводить координаты (start, end, strand) и названия гена (symbol) для каждой рРНК (rRNA в первом столбце) в формате CSV (запятая в качестве разделителя значений) без заголовка. Исходную таблицу локальных особенностей сценарий должен считывать из потока STDIN. Результат запуска сценария для таблицы локальных особенностей выбранной бактерии/археи нужно записать в файл ~/term1/credits/rRNA_info.csv.
Пример запуска и выдачи сценария:
kodomo:~/term1/credits$ bash rRNA_info.sh < ../genome/feature_table.txt
227106,228643,+,rrsH
229093,231992,+,rrlH
232090,232200,+,rrfH
3446404,3446514,-,rrfG
3446612,3449511,-,rrlG
3449869,3451406,-,rrsG
4158561,4158671,-,rrfF
4158806,4158916,-,rrfD
4159014,4161913,-,rrlD
4162363,4163900,-,rrsD
4735380,4736917,+,rrsC
4737275,4740176,+,rrlC
4740274,4740384,+,rrfC
4831784,4833321,+,rrsA
4833771,4836672,+,rrlA
4836770,4836880,+,rrfA
4976057,4977594,+,rrsB
4977952,4980853,+,rrlB
4980951,4981061,+,rrfB
5017083,5018620,+,rrsE
5018978,5021879,+,rrlE
5021977,5022087,+,rrfE
kodomo:~/term1/credits$

2024
2023
2022
2021
2020
2019
2018
2017