ФББ 2013-2014

Однонуклеотидные полиморфизмы, индели и сборка de novo

Поиск однонуклеотидных полиморфизмов и инделей

Однонуклеотидные полиморфизмы - это единичные отличия в ДНК, возникающие в результате точечных мутаций. Именно они отличают геном двух представителей одного вида. Индель - это инсерция (т.е. вставка) или делеция ("выпадение" или удаление) участка в геноме. В данном практикуме индели и SNP будем искать в ридах, картированных на геномы хлоропласта и митохондрии Arabidopsis thaliana. Для этого используют команды из пакетов samtools и bcftools.

samtools mpileup -u -g -f sequence.fasta map.bam > map.bcf - создание .bcf файла. Здесь sequence.fasta - файл с геномами хлоропласта и митохондрии (референсные), а map.bam - бинарный файл с картированием ридов на геномы.

После создания файла .bcf можем работать с пакетом программ bcftools. Индели и SNP ищутся командой: bcftools view -v -c -g map.bcf > indel.vcf. Получим файл формата .vcf, где в каждой строчке будет стоять информация об инделе или SNP. Теперь посчитаем отдельно количество инделей и SNP, с помощью команд grep и wc -l. Результаты подсчёта: инделей - 287, SNP - 649.

Сборка хлоропласта и митохондрии

Для того, чтобы собрать геном, нужно сначала собрать риды в контиги. Для этого используем программы velveth и velvetg. Velveth - вспомогательная программа для velvetg, на вход ей подаются риды и длина желаемого k-мера, по этим данным она строит базу данных k-меров. Velvetg строит граф де Брёйна и соединяет риды в контиги. Выполним команду для нескольких длин k-меров. При попытке поставить значение выше 31 программа говорит, что ей слишком сложно, и ставит длину 31 (видимо, максимально возможная?). При попытке выполнить команду для k-мера чётной длины, берётся ближайшее нечётное значение. Начнём с максимальной длины k-мера: для него получается N50 = 280. Далее будем уменьшать значение (возьмём 25, 19, 11 и 29). Стоит отметить, что N50 во всех случаях оставалось одинаковым, что странно. Остановимся на длине k-мера в 29 нуклеотидов. Команды для этого значения запишутся так:

		velveth velveth_dir 31 -fastq  trim.fastq
		velveth_dir -cov_cutoff auto
	

Программа создаёт директорию velveth_dir, в которой лежат файлы с графами, контигами, референсной последовательностью, а также файл stats.txt, в котором хранится информация о полученных контигах. Теперь построим выравнивание контигов на последовательность хлоропласта и митохондрии. Сделаем это при помощь локального бласта. Сначала создадим базу данны с помощью команды makeblastdb -in sequence.fasta -dbtype nucl , затем проведём выравнивание командой blastn -task blastn -query contigs.fa -db sequence.fasta -outfmt 7 -num_alignments 1 -out alignment.fa .

Файл с выравниванием находится в директории /ngs/partyhard/pr11 и не приводится здесь из-за слишком большого объёма. Теперь отберём 10 самых длинных контигов с помощью файла со статистикой и Excel. Импортируем stats.txt в Excel, сортируем по столбику с длиной. Данные о самых длинных контигах приведены в таблице:

Номер контига Длина контига Геном
55164 7244 Митохондрия
70134 5648 Митохондрия
3922 4838 Митохондрия
3147 4696 Митохондрия
46091 4478 Митохондрия
23821 4277 Митохондрия
27054 3999 Митохондрия
31665 3731 Митохондрия
25628 3583 Митохондрия
237911 3484 Митохондрия