Программа 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