Lab.6 IITP RAS logo
05/05/24
05:30:57

Лаборатория математических методов и моделей в биоинформатике
Института проблем передачи информации им. А.А. Харкевича
Российской академии наук

« back

Программа lossgainRSL - предсказание потерь и приобретений генов между несколькими наборами видов

Программа lossgainRSL позволяет для фиксированного базового вида находить его гены, присутствующие и/или отсутствующие у нескольких наборов видов в соответствии с заданной логической функцией (предикатом). Элементарное условие всегда имеет форму "Ген X присутствует в наборе видов S", а предикат представляет собой булеву функцию, составленную из произвольного числа таких условий с помощью операций И, ИЛИ, НЕ. Наборы видов не обязательно являются таксономическими группами, а могут составляться по произвольным признакам; в частности, набор S может состоять из одного вида и любой вид может входить в несколько наборов. Присутствие гена в наборе видов S требует, чтобы он был не менее чем у заданного числа p видов из S (p - параметр набора). Наличие гена X у какого-то вида понимается не только в смысле наличия в геноме этого вида гена X' - ортолога или близкого гомолога X, а с учетом синтении: в окрестности гена X должны присутствовать другие гены ("свидетели"), соответственно ортологичные генам в окрестности X'. Число наборов видов и их состав, проверяемый предикат, число свидетелей и другие требования синтении, размер окрестности и степень близости гомологов являются параметрами программы, что позволяет применять её для широкого круга исследований.

Программа представляет собой написанную на C++ утилиту командной строки Windows/Linux и вызывается следующей командой:

lossgainRSL [-x|--x] [-qN] [-gM] [-n] [%name=value...] [config] [outfile]

Регистр символов безразличен, за исключением имён файлов в Linux. Для получения краткой справки по формату командной строки программу следует запустить с любым из аргументов ? -? -h. Все аргументы командной строки необязательны и реализуют следующие функции:

-x Если указать -x, то в данном запуске программы будут выдаваться только найденные гены основного вида и их ортологи у других видов, даже если в задании выбран режим вывода синтеничных блоков генов, т.е. вместе с генами-свидетелями. И наоборот, чтобы выдавать целые синтеничные блоки, даже если в файле задания выбран режим вывода только искомых генов, эта опция указывается в форме --x
-qN Опция позволяет сократить объем протокола, выдаваемого программой на консоль. По умолчанию N=0 и выдаётся максимально подробный протокол. Если указано -q3, программа выдает только конечный результат, так что объем выдачи минимальный.
-gM Управляет периодичностью вывода информации в процессе поиска генов-кандидатов. Значение M указывает шаг, с которым на консоль выдаются порядковые номера проверяемых генов в каждой геномной последовательности (хромосоме, контиге и т.п.). Значение 0 отменяет эту выдачу. По умолчанию принимается шаг 10.
-n Запрещает работу программы в многопроцессорном режиме (MPI). Если в операционной системе отсутствует поддержка MPI и программа не работает по этой причине, рекомендуется указать данную опцию; если это не помогает, следует пользоваться специальной версией программы, откомпилированной без поддержки MPI, которая доступна для загрузки ниже.
%name=value Программа позволяет указывать в файле конфигурации числовые параметры (в форме %name, где name - произвольное имя), значения которых будут заданы в командной строке с помощью данного аргумента. Необходимо указать столько аргументов с соответствующими именами и значениями, сколько имеется параметров. Порядок аргументов произвольный. Допускаются фиксированные и плавающие числовые значения. В случае использования команды в составе скриптов Windows знак % необходимо дублировать.
config Имя файла конфигурации (может включать путь к каталогу). Если не указано, подразумевается файл config.ini в текущем каталоге
outfile Имя выходного файла (может включать путь к каталогу). Если не указано, подразумевается файл result.txt в текущем каталоге

Протокол работы программы выдается в стандартный поток stdout (т.е. на консоль); при желании его можно перенаправить в файл. Если в конфигурации задан отладочный режим, протокол отладки выводится в стандартный поток stderr (по умолчанию - тоже на консоль); его можно перенаправить в нужный файл с помощью параметра 2>logfile, где вместо logfile указано имя файла для записи.

Если в операционной системе установлена среда MPI, программа допускает выполнение в параллельном режиме. В этом случае для запуска используется команда:

mpirun -np P lossgainRSL [-x|--x] [-qN] [-gM] [%name=value...] [config] [outfile]

где mpirun - имя головной программы, обеспечивающей паралельный запуск в среде MPI (в ОС Windows обычно mpiexec), P - число логических процессоров, на которых будет запущена lossgainRSL, а прочие аргументы те же, что и в однопроцессорном режиме.

Файл конфигурации управляет всей работой программы и необходим для ее запуска. Файл создается в текстовом формате и состоит из 5 секций, каждая из которых содержит в первой строке заголовок - имя секции в квадратных скобках. Строки, начинающиеся символами ";" или "//", игнорируются; как и концевая часть любой строки, начиная с символов "//". Разделитель полей в строке - символ табуляции, переносить строки нельзя. Примеры конфигурации с краткими комментариями имеются в составе контрольного примера, подробное описание дано в руководстве к программе.

Текущая версия программы lossgainRSL ориентирована главным образом на виды и геномные данные, содержащиеся в базе данных Ensembl, однако в руководстве к программе описаны и другие возможности. В частности, для добавления небольшого числа дополнительных видов из числа представленных полными геномами в GenBank может применяться программа addspecies, доступная для загрузки ниже. Программа lossgainRSL использует три типа исходных данных:

  • Таблица генов. Содержит идентификаторы белков и генов, координаты генов, их имена и аннотации. Требуется отдельный текстовый (в формате TSV - поля, разделённые символом табуляции) файл для каждого вида из задачи. Имя файла должно совпадать с именем вида в файле конфигурации, а расширение и путь, одинаковые для всех таблиц, также указываются в конфигурационном файле. Таблицу можно сформировать автоматически, путём непосредственного обращения к БД Ensembl с соответствующим SQL-запросом, либо интерактивно с помощью инструментальной надстройки BioMart, как подробно описано в руководстве к программе. Пример начального фрагмента таблицы генов (результат его импорта в Excel) представлен на листе Rat_genes файла dataformat.xlsx.
  • Таблица ортологов. Требуется отдельный текстовый (TSV) файл для базового вида, а также для каждого вида-заменителя, участвующего в трехвидовом условии (подробнее см. руководство к программе). Содержит в каждой строке два идентификатора ортологичных генов; первый принадлежит базовому виду или заменителю, второй - другому виду из задачи. Пустые или заголовочные строки игнорируются. Имя файла должно совпадать с именем вида в файле конфигурации, а расширение и путь, одинаковые для всех таблиц, также указываются в конфигурационном файле. Таблицу можно сформировать из БД Ensembl вручную путём слияния файлов, построенных для каждой пары "базовый вид - прочий вид", либо с помощью специального SQL-скрипта. Пример начального фрагмента таблицы ортологов после импорта в Excel представлен на листе Mouse_orthologs файла dataformat.xlsx.
  • Таблица паралогов. Эта таблица нужна в тех случаях, когда предикат предписывает поиск ортологичных генов с учётом паралогов. Требуется отдельный текстовый (TSV) файл для каждого вида, в котором нужно учитывать паралоги. Файл аналогичен таблице ортологов, но содержит пары идентификаторов паралогичных генов одного вида. Имя файла должно совпадать с именем вида в файле конфигурации, а расширение и путь, одинаковые для всех таблиц, также указываются в конфигурационном файле. Таблицу можно сформировать из БД Ensembl интерактивно или с помощью специального SQL-скрипта. Пример начального фрагмента таблицы паралогов после импорта в Excel представлен на листе Mouse_paralogs файла dataformat.xlsx.

Вместо набора таблиц ортологов и паралогов Ensembl программа lossgainRSL позволяет использовать три альтернативных источника сведений о гомологичных генах, как описано в руководстве к программе:

  • Матрица сходства белков. Требуется отдельный текстовый (TSV) файл для каждого вида, участвующего в задаче. Имя файла должно совпадать с именем вида в файле конфигурации, а расширение и путь, одинаковые для всех матриц, также указываются в конфигурационном файле. Файл в каждой строке должен содержать: два идентификатора гомологичных белков (первый относится к данному виду, второй - к любому виду из задачи), величину Raw score и E-value для этой пары, соответствующие оптимальному выравниванию. Подобный файл можно сформировать с помощью BLASTP, для чего из базы данных Ensembl или GenBank нужно предварительно получить аминокислотные последовательности для всех идентификаторов белков у каждого вида. Пример начального фрагмента матрицы сходства белков после импорта в Excel представлен на листе Xenopus_scores файла dataformat.xlsx.
  • Таблица кластеров белков. Используется единый текстовый (TSV) файл, сформированный программой кластеризации белков. Эта таблица содержит по одному белку/гену в строке, но строки сгруппированы в виде кластеров ортологичных генов; один кластер от другого отделяется пустой строкой. Ортологичность определяется по тому варианту сплайсинга, который даёт белки с наибольшим сходством, поэтому каждый ген встречается только один раз. Кластеры из одного гена (синглетоны) отбрасываются. Помимо идентификаторов белка и гена, прочие поля строки не используются, а вся необходимая информация о генах берется из вышеописанных таблиц генов. Пример начального фрагмента таблицы кластеров белков после импорта в Excel представлен на листе Gene_clusters файла dataformat.xlsx.
  • Таблица ортогрупп. Используется единый текстовый (TSV) файл, сформированный по информации из базы данных OrthoDB. Эта таблица по содержанию и формату аналогична объединению вышеописанных таблиц генов, т.е. содержит по одному белку/гену в строке, но строки сгруппированы в виде групп ортологичных генов; одна ортогруппа от другой отделяется пустой строкой. В строке обязательно присутствует поле с именем вида, указанным в файле конфигурации (неизвестные виды игнорируются). Отдельные таблицы генов в этом случае не нужны, поскольку вся необходимая информация уже содержится в данном файле. Пример начального фрагмента таблицы ортогрупп после импорта в Excel представлен на листе Orthogroups файла dataformat.xlsx.

Программа lossgainRSL формирует выходной файл в текстовом (TSV) формате, пригодный для непосредственного импорта в электронную таблицу Excel. Файл содержит все отобранные гены основного вида, удовлетворяющие предикату и параметрам в файле конфигурации. Помимо гена, может выдаваться весь его синтеничный блок, включая гены-свидетели, а также ортологичные гены в других видах. Пример выходного файла из контрольного примера (список генов на Y-хромосоме мыши, отсутствующих на Y-хромосоме человека, но имеющихся по крайней мере у половины видов из списка: капуцин, резус, свинья, крыса), импортированный в Excel, представлен на листе Result файла dataformat.xlsx.

Файлы для загрузки

  • Руководство пользователя программы lossgainRSL: Русский v6.31
  • Формат входных и выходных данных (после импорта в Excel): dataformat.xlsx
  • Исполняемые модули lossgainRSL для Windows: v6.31
  • Контрольный пример с шестью видами для Windows: example.zip
  • Исходный код lossgainRSL и контрольный пример для Linux (по лицензии GNU GPL): v6.31
  • Вспомогательные программы и скрипты: gbinput v6.31
« back