Учебный сайт студента ФББ МГУ

Киселёв Матвей Олегович

Обзор генома Shewanella baltica OS678

Актуальность

Изучение данных полногеномного секвенирования проливает свет на особенности жизнедеятельности организма и его взаимоотношений с окружающей средой. В настоящее время, когда познание биоразнообразия играет несравненно важную роль в науке, необходимым становится адекватный анализ фактических данных, связанных с геномом каждого организма.

Работа выполнена в рамках курса “Практическая информатика” 1 семестра 1 курса ФББ МГУ им. М. В. Ломоносова.

1. Введение

Shewanella baltica - грам-отрицательная бактерия из семейства Shewanellaceae отряда Alteromonadales (Vogel et al., 2005). Морфологически представляет короткую прямую палочку с полярно расположенными жгутиками. Вид факультативно анаэробен, не способен к брожению. Shewanella baltica способна восстанавливать NO3-, Fe3+ и разные по химической природе соединения серы, окисляя органические вещества (Ziemke et al., 1998). Shewanella baltica - психротроф, обитающий в морских экосистемах. Исследования показали, что этот вид - главный образователь сероводорода на замороженной для длительного хранения рыбе, выловленной в Балтийском море (Vogel et al., 2005), а также основной нитратредуктор в микробиоме границы кислородной и бескислородной зон (хемоклина) (Brettar et al., 2001). При этом в микрофлоре поверхности тела живых рыб (трески и камбалы) рассматриваемый вид играет минорную роль (Vogel et al., 2005). При длительном хранении рыбы Shewanella baltica имеет важное значение в появлении неприятного запаха, восстанавливая триметиламиноксид до триметиламина (Vogel et al., 2005).

2. Материалы и методы

2.1 Файлы и программное обеспечение

Для проведения работы были использованы следующие файлы из открытого доступа:

1. GCF_000178875.2_ASM17887v2_genomic.fna, содержащий полный геном исследуемой бактерии в формате FASTA (сопроводительный материал 2);

2. GCF_000178875.2_ASM17887v2_feature_table.txt, содержащий таблицу особенностей данного генома (сопроводительный материал 3);

3. GCF_000178875.2_ASM17887v2_assembly_stats.txt, содержащий статистические данные, характеризующие полногеномную сборку (сопроводительный материал 3).

Все файлы взяты из открытой базы данных NCBI Genome. Для анализа таблиц, а также для статистической обработки данных было использовано программное обеспечение “Google-Docs” (https://docs.google.com/document/u/0/). Для подсчёта количества нуклеотидов использована программа wordcount из биоинформатического пакета EMBOSS (https://emboss.sourceforge.net/). Для сравнения соотношений нуклеотидов в одной цепи ДНК использован критерий Пирсона (p = 0,05).

Для подсчёта кумулятивного параметра GC-skew был написан протокол на языке Python 3.10.1 (см. прил.). Для построения графика зависимости кумулятивного GC-skew от положения участка прочтения в геноме в этом протоколе использованы команды библиотеки ‘matplotlib’.

2.2 Сопроводительные материалы

3. Результаты

Все результаты анализа генома представлены в виде Google-таблицы в сопроводительном материале:

3.1 Состав и размер генома

Геном исследуемой бактерии состоит из кольцевой хромосомы и плазмиды. Кольцевая хромосома имеет длину 5288069 пар нуклеотидов, GC-состав 46,3%. Плазмида pSBAL67801 имеет длину 80698 пар нуклеотидов и GC-состав 44,6%. Покрытие секвенирования полного генома: 30x (см. материал 5: “General”). Показано, что гипотеза о том, что на одной цепи ДНК количество адениновых нуклеотидов примерно равно количеству тиминовых, а гуаниновых - цитозиновым, не отвергается (см. материал 5: “Chi-square”).

3.2 Данные о белок-кодирующих генах

Данные о белок-кодирующих генах Shewanella baltica OS678 представлены в таблице 1 (также см. материал 5: “Protein data”).

Таблица 1. Данные о белок-кодирующих генах Shewanella baltica OS678
Количество % от общего числа
Всего белок-кодирующих генов 4461 100
Белков на "+ цепи" 2288 51,3
Белков на "- цепи" 2173 48,7
Белков на хромосоме 4398 98,6
Белков на плазмиде 63 1,4
Рибосомальных белков 62 1,4
Гипотетических белков 614 13,8
Транспортных белков 309 6,9

В результате анализа показано, что белок-кодирующих генов на “+ цепи” ДНК на 115 больше, чем на “- цепи”. По Случайное распределение генов на 2 цепях статистически достоверно.

Как в хромосоме, так и в плазмиде бактерии наблюдаются множественные рибосомные сдвиги (ribosomal slippage) в рамках считывания транспозаз, связанных с IS-последовательностями (см. материал 3). Вероятно, в составе этих мобильных элементов присутствует сигнал сдвига рамки считывания. Может быть, роль такого сигнала играют инвертированные повторы на концах IS.

Простите, изображение не загрузилось :( Проверьте подключение к сети
Рис. 1. Гистограмма распределения длин продуктов белок-кодирующих генов Shewanella baltica OS678. По оси Х - интервалы длин продуктов в аминокислотных остатках. По оси Y - число белков заданного интервала длин.

3.3 Данные об РНК-кодирующих генах

Построена гистограмма распределения продуктов белок-кодирующих генов Shewanella baltica OS678 по их длинам в аминокислотных остатках (рис. 1). Наиболее часто встречающаяся длина белкового продукта гена у исследуемой бактерии - от 200 до 250 аминокислотных остатков (см. также материал 5: “Protein histogram”).

3.2 Данные об РНК-кодирующих генах

Данные представлены в таблице 2 (также см. материал 5: “RNA data”).

Таблица 2. Данные о РНК-кодирующих генах Shewanella baltica OS678
Количество % от общего числа
Всего РНК-кодирующих генов 141 100
рРНК-кодирующих 31 21,9
тРНК-кодирующих 105 74,5
Генов на "+ цепи" 69 49
Генов на "- цепи" 71 51

На “- цепи” ДНК находится на 3 РНК-кодирующего гена меньше, чем на “+ цепи”. Случайное распределение генов на 2 цепях статистически достоверно.

3.3 Параметр GC-skew

Простите, изображение не загрузилось :( Проверьте подключение к сети
Рис. 2. График изменения кумулятивного параметра GC-skew в зависимости от координат в геноме Shewanella baltica OS678. По оси х: координата нуклеотида в геноме (в миллионах пар нуклеотидов). По оси у: величина параметра GC-skew (в ед.).

Для генома исследуемой бактерии посчитан кумулятивный параметр GC-skew c окном прочтения 100 000 п. н. и шагом 1000 п. н. (см. материал 5: “General”). Построен график изменения этого параметра в зависимости от положения окна прочтения в геноме (см. рис. 2).

Минимум значения параметра наблюдается в 1, а максимум - в 2 678 633 паре нуклеотидов. Таким образом, именно в этих точках находятся ориджин (oriC) и терминаторный участок (ter) репликации соответственно.

Литература

1. Brettar I., Moore E. R. B., Höfle M. G. Phylogeny and Abundance of Novel Denitrifying Bacteria Isolated from the Water Column of the Central Baltic Sea Microbial Ecology, 2001. Vol. 42, N 3, P. 295-305.

2. Vogel B. F., Venkateswaran K., Satomi M., Gram L. Identification of Shewanella baltica as the Most Important H2S-Producing Species during Iced Storage of Danish Marine Fish. Applied and Environmental Microbiology, 2005. Vol. 71, N 11, P. 6689-6697.

3. Ziemke F., Hofle M. G., Lalucat J., Rossello-Mora R. Reclassification of Shewanella putrefaciens Owen's genomic group II as Shewanella baltica sp. nov. International Journal of Systematic Bacteriology, 1998. N 48, P. 179-186.

Приложение

Протокол Python 3.10.1 для подсчёта кумулятивного GC-skew и построения графика зависимости его от координаты первого нуклеотида окна прочтения в геноме

В качестве входных данных программе даётся адрес файла, содержащего геном бактерии в FASTA-формате, на следующей строчке - величина окна прочтения, на третьей строке - шаг прочтения.

    
import matplotlib.pyplot as plt
file = open(input(), 'r').readlines()
out = open('out.txt', 'w')
win = int(input())
step = int(input())
x = ''
for i in range(len(file)):
    if file[i].startswith('>') == False:
        x = x + file[i][0:-1]       
seq = x
cumulative = 0
plot_absc = []
plot_ord = []
for n in range(0, len(seq), step):
    interval = seq[n:n+win] 
    if n+win > len(seq):
        break
    else:
        cnt = n
        G_cnt = interval.count('G')
        C_cnt = interval.count('C')
        if G_cnt + C_cnt == 0:
            GCskew = '0.000'
        else:
            GCskew = (G_cnt - C_cnt) / (G_cnt + C_cnt)
        cumulative += float(GCskew)
        plot_ord.append(cumulative)
        plot_absc.append(cnt)
plt.plot(plot_absc,plot_ord)
plt.show()