Учебная страница курса биоинформатики,
год поступления 2020
Инструкции пр. 10
1 Используйте базу данных Genome на NCBI, Browse by organism и свои знания о прокариотах :)
2 NPG-explorer установлен на kodomo. Можно построить нуклеотидный пангеном на kodomo. Однако визуализировать его удаленно командой qnpge не удастся, так как нужны специальные настройки для передачи графики с сервера на свой компьютер. Поэтому нужно установить NPG-explorer на свой компьютер. Либо построить НПГ на своем компьютере, либо скачать директорию с нуклеотидном пангеномом на свой компьютер, зайти в эту директорию и выполнить команду qnpge.
Если у вас Mac, то придется установить эмулятор linux, так как варианта под Mac у NPG-explorer нет. Узнайте как это делать, т.к. я не знаю.
Инструкция по установке NPG-explorer и построению НПГ здесь
Выдержки из инструкции
- Для построения НПГ надо создать новую директорию
- В этой директории надо создать nтекстовый файл с именем genomes.tsv, описывающий входные данные (см. в инструкции)
- Все поддиректории и файлы, создаваемые и используемые NPG-explorer имеют фиксированные имена. Поэтому все команды NPG-explorer
должны быть запущены в директории, содержащей файл genomes.tsv и имена входных и выходных файлов, как правило, не указываются.
План действий коротко
# |
Действие/команда |
Результат |
1 |
Выбрать геномы, запомнить AC записей с аннотациями и последовательностями ДНК |
— |
2 |
Создать новую директорию |
Для примера, ricketssii_npg |
3 |
Создать файл genomes.tsv в директории ricketssii_npg |
Файл с информацией откуда брать последовательности геномных ДНК и аннотации генов |
4 |
npge -g npge.conf |
Создает файл npge.conf с параметрами; в нем можно изменять значения параметров |
5 |
npge Prepare |
Скачать и переименовать геномные ДНК |
6 |
npge Examine |
Создает файл examine/identity_recommended.txt с оценкой сходства геномов |
7 |
Коррекция параметров WORKERS, MIN_IDENTITY (возможно, и MIN_LENGTH) |
WORKERS указывает сколько процессоров занять, по умолчанию, WORKERS = -1, это значит все. WORKERS = 1 для kodomo; по умолчанию, MIN_IDENTITY = Decimal('0.9'), что значит не менее 90% абсолютно консервативных колонок в каждом мажорном блоке; можно ориентироваться на рекомендацию п.6 |
8 |
npge MakePangenome |
Нуклеотидный пангеном - мнножество выравниваний блоков - создается в файле pangenome/pangenome.bs Выполняет итерации, пока отличие нового пре-пангенома от предыдущего будет незначительным, менее 0.1% Регулируется параметром MIN_REL_DISTANCE = Decimal('0.001') |
9 |
npge PostProcessing |
Создается множество файлов с аналитической информацией о пангеноме |
10 |
qnpge |
Визуализация пангенома |
Как подготовить единственный входной файл genomes.tsv
Формат genomes.tsv
all:embl:CP003309 Hino chr1 c Rickettsia rickettsii str. Hino all:refseqn:CP003318.1 Hauke chr1 c Rickettsia rickettsii str. Hauke all:embl:CP003311 Hlp2 chr1 c Rickettsia rickettsii str. Hlp2 all:file:Rrickettsii_genomes/CP000766 Iowa chr1 c Rickettsia rickettsii str. Iowa
- пять полей, разделители - табуляторы (а не пробелы)
- all - значит, что и последовательности, и аннотации генов берутся из одной и той же записи (формат допускает скачивание из разных файлов)
embl - значит, что идентификатор INSDC - БД GeneBank или ENA; указывайте универсальные идентификаторы INSDC (не те, которые NC_...)
- refseqn - значит, что идентификатор БД Refseq (nucl)
- file - значит, что использовать уже скачанный файл
Hino и т.п. - короткое название генома без пробелов и подчеркиваний, выдуманное составителем файла
- chr1 - название хромосомы; предполагается одинаковым у гомологичных хромосом/плазмид из разных геномов
- c - кольцевая; l - для линейных
- Далее - полное название штамма
Параметры, которые можно менять в файле npge.config
- MIN_IDENTITY = Decimal('0.9') значит, что во всех мажорных блоках пангенома доля консервативных позиций превышает 0.9.
- Examine вычисляет долю консервативных позиций в малом числе блоков и предлагает значение параметра MIN_IDENTITY
- Не обязательно следовать рекомендации буквально, но уменьшить вычисленное значение, по крайней мере, на 0.05 стоит
- MIN_LENGTH = 100 значит, что все блоки пангенома, кроме m-блоков (т.е. минорных блоков), имеют не менее 100 позиций
- WORKERS = 1 значит, что задействовать один процессор. Это значение рекомендуется использовать на kodomo, чтобы не заблокировать задания других студентов
- WORKERS = -1 значит, что использовать все процессоры компьютера
Не выставляйте значение параметра WORKERS больше, чем 2 (значение по умолчанию). Процессы, занимающие более двух ядер процессора буду убивать без предупреждений!
— ИР
Все команды npge выдают на stdout и/или stderr протоколы выполнения. Следует сохранять протоколы, например: npge MakePangenome &> log_make
Аналитические файлы с полезной информацией
- pangenome/pangenome.info содержит сводную информацию про все типы блоков:
- s-блоки - стабильные (коровые) блоки, по одному фрагменту из каждого генома
- h-блоки - "полустабильные" блоки - по одному фрагменту из части геномов
- u-блоки - и не блоки вовсе, а уникальные последовательности из одного генома, у них нет гомологов среди всех геномов, кроме самой себя
- r-блоки - блоки с повторами, по крайней мере, в одном геноме
m-блоки - минорные блоки - короткие (<MIN_LENGTH) блоки, которые не удается включить в другие блоки
- g-блоки - синтеничные участки из всех геномов, т.е. такие что в каждом из них s-блоки идут в том же порядке и в той же ориентации; максимальны по блине с этим свойством; начинаются с s-блока, заканчиваются s-блоком; включают блоки других типов, разделяющие s-блоки
- идентификатор блока r34x1201 устроен так: r - тип блока (от repeat); 34 фрагмента в блоке; 1201 позиций в выравнивании блока; иногда приходится добавлять "n1", "n2" и т.п. на конце чтобы сохранить уникальность имён
- pangenome/pangenome.bi содержит информацию по каждому блоку, включая информацию о том, фрагменты каких геномов входят в блок; удобен для
- поиска крупных делеций/вставок (h-блоки и u-блоки)
- анализа блоков с повторами
- Список глобальных блоков - синтений - см. в global-blocks/blocks.gbi
- g-блоки (глобальные блоки) состоят из последовательно идущих во всех геномах s-блоков, перемежающихся блоками других типов (r-, h-, u- и m-)
- Последовательность глобальных блоков в каждом геноме см. в файле global-blocks/blocks.blocks. Для ответов на вопросы его удобно взять в Excel, транспонировать и выкинуть строчки, не содержащие g-блоков.
Визуализатор qnpge запускается в рабочей директории (ricketssii_npg в примере) БЕЗ ПАРАМЕТРОВ.
- Версия NPG-explorer'а под Win запаздывает по сравнению с версией под linux. Если дома Win то можно поступить так.
- Запустить все программы, кроме qnpge, на kodomo
- Скопировать директорию целиком на свой компьютер
- Скачать на свой компьютер NPG-explorer под Win, версию - как рекомендуется на сайте
- Возможно, получится скачать только файл qnpge.exe с диска /P.../pr10 и положить в директорию с пангеномом
- Запустить qnpge
- Описывать графический интерфейс - неблагодарное занятие; и не буду это делать. qnpge позволяет:
- искать по названию блока, гена или по последовательности (требуется точное совпадение)
- сортировать таблицу блоков по любой колонке
- копировать последовательности из нижнего окна: целые группы блоков из правого верхнего
- показывать имена генов; сами гены выделены белым шрифтом в нижнем окне с выравниванием блока; разберитесь, как указывается их ориентация
- быстро перемешаться в блоке с выравниванием; home, end, ctrl или shift + стрелочки
- переключать выравнивание имен блоков с глобальных блоков вдоль хромосомы к выравниванию обычных блоков внутри глобального или промежуточного i-блока
1c Ядро нуклеотидного пангенома состоит из совокупности s-блоков. Это наиболее стабильная часть панегенома. По объединенному выравниванию s-блоков NPG-explorer вычисляет филогенетическое дерево геномов.
Информация про s-блоки и блоки других типов содержится в файле pangenome/pangenome.info . Приведены две оценки размер ядра: (1) The percentage of input length: 73.67% Это процент числа нуклеотидов в ядре от числа нуклеотидов во входных последовательностях (2) The percentage of total blocks' length: 61.65% Это процент числа колонок в объединенном выравнивании s-блоков от суммарного числа колонок во всех блоках НПГ
Для последнего вопроса воспользуйтесь визуализатором qnpge нуклеотидного пангенома. Посмотрите в презентации что такое g-блок. В g-блоке, по определению, все s-блоки идут в одном и том же порядке во всех геномах. Чтобы сравнить последовательности g-блоков во всех хромосомах, в верхнем меню выберите Global blocks.
Формат файла pangenom/pangenom.bi
block fragments | | cols ident-nogap | | | | ident-gap | | | | | noident-nogap | | | | | | noident-gap | | | | | | | pure-gap | | | | | | | | ident GC JJA NT11058 Taiwan19F-14 r6x302 6 302 290 0 12 0 0 0.9602 0.3084 2 2 2 s3x703 3 703 693 0 10 0 0 0.9857 0.3086 1 1 1 h2x2385 2 2385 2155 6 224 0 0 0.9048 0.3089 1 1 0 r2x110n1 2 110 105 0 5 0 0 0.9545 0.309 0 2 0 s3x1238 3 1238 1178 25 33 2 0 0.9616 0.3091 1 1 1 u1x126n2 1 126 126 0 0 0 0 1 0.3095 0 1 0 m1x84n1 1 84 84 0 0 0 0 1 0.3095 0 0 1
- block - имя блока: s3x1238 = s - тип блока, 3 - число фрагментов в блоке, x - разделитель,1238 - число колонок в выравнивании блока; m1x84n1 - n1 добавлено потому, что уже был блок с именем m1x84
- ident-nogap - число абсолютно консервативных позиций
- ident-gap - число позиций, в которых есть гэпы, а остальные буквы совпадают
- noident- .... аналогично для позиций с двумя или более буквами
- pure-gap - полностью гэповые колонки. Полагаю всегда будет 0, могут появиться только в подблоках
- ident - доля консервативных позиций в выравнивании блока. Кажется считаются ident-nogap и ident-gap с коэффициентом 0.5
- JJA, NT11058 и Taiwan19F-14 - короткие имена трех геномов. В ячейке указано число фрагментов в указанном блоке из указанного генома. Подумайте, какие числа могут быть в зависимости от типа блока.
Известный bug npge Prepare. Случается, если в записи ген начинается в конце записи и заканчивается РОВНО ОДНИМ нуклеотидом - первым - в начале записи. Такое не исключено для кольцевых хромосом. Пример (был, но этот придумал): FT gene join(4670170..46700769,1) Или наоборот начинается последним нуклеотидом и продолжается начиная с первого нуклеотида последовательности. Пример: FT gene join(5466652,1..263) Сообщение об ошибке выглядит примерно так: std::logic_error: 'algo/AddGenes.cpp:240: virtual void npge::AddGenes::run_impl() const: Assertation `(boundaries.size() % 2) == (0)' failed. Error message `1 == 0'.' Лечится так. Скачать запись Найти такую ситуацию grep ',1)' в первом случае или grep ',1..' во втором. Исправить вручную на join(4670170..46700769,1..1) в первом случае и на join(5466652..5466652,1..263) во втором Указать считывание этого генома из локального файла Не поверите, но обе ситуации у меня встречались и портили настроение. На сотни пангеномов по одному разу. Исправлю, все руки не доходили :(