Команда |
Эффект от выполнения |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools bamtobed -i sorted_reads_1.bam > sorted_reads_1.bed |
Программа принимает картированные сортированные риды в формате bam и записывает информацию о ридах в формате bed (хромосому, координаты на которые рид картировался, качество картирования, цепь и др.) |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools intersect -u -a gencode.genes.bed -b sorted_reads_1.bed > matching_genes.bed |
Программа intersect запущенная с параметром -u где первой (-a) на вход подается разметка генома по версии gencode в формате bed позволяет выделить только те записи из разметки генома, которые хоть как-то пересекаются с ридами, чтобы сразу отсеять необходимые гены. Программа записывает данные о генах, имеющих пересечение с ридами (подаются на вход программе вторыми с параметром -b) в файл matching_genes.bed |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools intersect -c -a matching_genes.bed -b sorted_reads_1.bed > covcount.bed |
Запущенная с параметром -c программа intersect посчитает количество пересечений для каждого вхождения из набора -a с набором -b так как в нашем случае -a это гены как-то покрытые ридами, а -b сами риды, то программа выдаст в файл covcount.bed запись о координатах участка генома и гена, к которому он принадлежит и покрытие этого участка ридами. |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools sort -i matching_genes.bed > matgen_sorted.bed |
Так как в разметке gencode существует некоторое разбиение генома на зачастую пересекающиеся участки приписанные к одному гену и для каждого их этих участков покрытие считается отдельно, я должна объединить участки принадлежащие к одному гену и зачем посчитать покрытие для получившегося объединенного кусочка. Однако функция merge работает только с отсортированными по координате записями, поэтому я сортирую гены имеющие хоть какое то пересечение с ридами в геноме по координате при помощи функции sort (по умолчанию сортирует по хромосоме, а потом по координате) и записываю результат в файл matgen_sorted.bed |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools merge -c 5 -o distinct -i matgen_sorted.bed > matgen_merged.bed |
Программа merge объединяет пересекающиеся или граничащие кусочки генома отсортированные по координате (файл matgen_sorted.bed) записывет начальную и конечную координату объединенных кусочков, и объединяет значения взятые из 5 столбцов (-с 5 - это столбец из которого берется значение, в данном случае - это имя гена; -o distinct означает что берутся только уникальные значения для объединенных записей и записываются через запятую в отдельный столбец) для каждого из объединенных кусочков. Таким образом становится понятно какие гены в какой объединенный кусок входят. Результат - matgen_merged.bed |
Команда |
Эффект от выполнения |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools intersect -c -a matgen_merged.bed -b sorted_reads_1.bed > merg_cov.bed |
Программа примет на вход bed файл с объединенными в гены кусками и посчитает для них покрытие ридами, записав результат в файл merg_cov.bed. Из результата работы программы мы сразу узнаем покрытие гена USP16 и CCT8 (при условии что считаем его объединенным вторым куском). |
cat matgen_sorted.bed | grep AF129075.5 > only_ncrna.bed |
Выделяем из файла с генами которые имеют пересечение с ридами и являются отсортированными по координате участки, принадлежащие некодирующей РНК (результат - файл only_ncrna.bed) |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools merge -c 5 -o distinct -i only_ncrna.bed > ncrna_merged.bed |
Объединяем участки принадлежащие некодирующей РНК (файл only_ncrna.bed) в один при помощи merge (параметры и их значение уже были описаны выше, в данном случае я ожидаю что в дополнительном столбце с именем гена будет только имя нкРНК, также я ожидаю получить координаты объединенного куска генома, проаннотированного как эта нкРНК чтобы на следующем шаге посчитать покрытие) результат - файл ncrna_merged.bed |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools intersect -c -a ncrna_merged.bed -b sorted_reads_1.bed > ncrna_cov.bed |
Программа аналогичная уже использовавшейся посчитает покрытие ридами для объединенного на предыдущих шагах куска генома проаннотированного как нкРНК и запишет результат в файл ncrna_cov.bed. |
Часть 2 : Характеристика покрытых ридами генов
Характеристика |
CCT8 |
USP16 |
AF129075.5 |
ID транскрипта гена, который будем характеризовать |
ENST00000286788.4 |
ENST00000334352.4 |
ENST00000457162.2 |
Координаты |
29,055,805-29,073,797 |
30,396,950-30,426,809 |
30,430,394-30,432,416 |
Размер b.p. (гена) |
17993 |
29860 |
2023 |
Размер b.p. транскрипта |
2,005 |
3,004 |
794 |
Функция |
Компонент шаперонина -крупного бочкообразного белкового комплекса участвующего в сворачивании новосинтезированных белков с затратой ATP на изменение структуры комплекса. |
Деубиквитинилирующий фермент, активность которого может регулироваться фосфорилированием. Участвует в деубиквитинилировании гистона Н2А влияя на структуру хроматина. |
Некодирующая РНК с неизвестной функцией (транскрибируемый локус у транскрипта которого не нашли продукт) |
Направление в геноме |
обратная цепь |
прямая цепь |
обратная цепь |
Количество экзонов |
15 все кодирующие |
19 17-кодирующие |
2 |
Количество интронов |
14 |
18 |
1 |
Наличие белкового продукта и его длина |
548 |
823 |
- |
Часть 3 : Задачи на выбор
Команда |
Эффект от выполнения |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools bamtofastq -i mapped_reads_1.bam -fq out.fastq |
Программа принимает на вход откартированные на геном риды в формате bam и переводит их в fastq формат, сохраняя при этом в файл out.fastq. |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools makewindows -g chrom_length.txt -w 1000000 > chr21_intervals.txt |
Программа принимает на вход полученную при помощи скрипта(скрипт считает длины всех хромосом, которые есть в папке, но у меня в папке была только 21 хромосома; результат записывается при помощи pipe в файл chrom_length.txt) из fasta файла с последовательностью хромосомы длину хромосомы, (файл подается с параметром -g файл - chrom_length.txt), также программа использует параметр -w, задающий длину окна (по сути интервала) интервалы генерируются по умолчанию с шагом в днилу интервала (то есть непересекающиеся интервалы, однако параметром -s можно задать длину шага и генерировать наборы пересеающихся интервалов). Результат работы программы записывается в файл chr21_intervals.txt и содержит в себе название хромосомы и координаты неперекрывающихся интервалов длины 1000000. Длина хромомомы, посчитанная при помощи скрипта 48129895 п.о. количество получившихся геномных интервалов - 49. |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools cluster -s -i sorted_reads_1.bed > clustered_reads.bed |
Программа принимает на вход откартированные на геном и отсортированные риды в формате bed и записывает в файл те же риды (в файл clustered_reads.bed) но с дополнительным столбцом, где объединенные в один кластер риды имеют один и тот же номер. Кластеризация происходит с параметром -d по умолчанию (кластеризуются только пересекающиеся риды или риды расстояние между которыми 0, то есть картировавшиеся по соседству на геном и не имеющие расстояния между собой). Параметр -s означет то, что скластеризованы могут быть только те риды, которые откартировались на ону и ту же цепь в геноме. |
/P/y14/term3/block4/SNP/bedtools2/bin/bedtools random -l 200 -n 1000 -g chrom_length.txt > random.txt |
Программа генерирует 1000 случайных фрагментов (-n) длиной 200 нуклеотидов (-l) из файла с длиной хромосомы chrom_length.txt в файле есть хромосома, координата участка, его длина, номер среди с генерированных и случайно выбранная цепь. Результат записывается в файл random.txt |
|
|
© Кристина Перевощикова, 2018