Проиндексируем референсный геном: hisat2-build chr8.fna chr8 2> hisat2.log.
a. Проанализируем качество чтений с помощью fastqc SRR2015720_1.fastq.gz, результат можно посмотреть в файле SRR2015720_1_fastqc.html.
b. Всего получилось 30271388 чтений.
c. Per base sequence quality
d. Как видно из Изображения 1, чтения лежат в зелёной зоне, их качество достаточно хорошее. Ближе к концам происходит типичное уменьшение качества, но оно всё ещё лежит в приемлемом диапазоне.
Важно! В разделе Overrepresented sequences есть сообщение о часто повторяюще йся последовательности, похожей на адаптер "TruSeq Adapter, Index 2". Набор реактивов совпадает с указанным на странице записи. К сожалению, у меня так и не получилось привести файл с адаптерами к нужному виду для проверки с опциейй -c (файл не читался во время исполнения команды почему-то). Команда fastqc -c contaminant.txt --threads 10 SRR2015720_1.fastq.gz успехом не увенчалась. Но я всё же попробовал ужалить адаптеры командой java -jar /usr/share/java/trimmomatic.jar SE -phred33 -threads 10 SRR2015720_1.fastq.gz output.fastq.gz ILLUMINACLIP:adapt.txt:2:30:10, где adapt.txt — созданный мной fasta-файл с адаптером, который необходимо удалить (нашёл здесь). В итоге отпало 101662 (0.34%) ридов.
Далее я попробовал повторить анализ командой fastqc -t 10 output.fastq.gz, получил на выходе output_fastqc.html.
e. Sequence Length Distribution
f. Как видно, после триммирования что-то пошло не так. До триммирования график прекрасен и понятен: длины ридов распределены между 100 и 102 с пиком в 101. Разбираться в причинах я не стал, продолжил работать с файлом до триммирования.
a. Чтобы картировать NGS риды на наш геном, воспольщуемся командой hisat2 -p 10 -x ../chr8 -k 3 -U SRR2015720_1.fastq.gz > 14.sam 2> 14.log.
b. В файле 14.log найдём информацию о выравнивании чтений: всего из 30271388 наспаренных чтений 29215707 (96.51%) ни с чем не выровнялись (высокий процент объясняется картированием только на одну хромосому), 1034331 (3.42%) выровнялись 1 раз, 21350 (0.07%) больше одного раза.
c. Переведём 14.sam в bam формат:samtools sort -o 14.bam -O bam -@ 10 14.sam. Теперь проииндексируем: samtools index -@ 10 14.bam 14.bai.
d. Отберём чтения, что легли только на 8 хромосому: view -h 14.bam NC_000008.11 > chr8_14.sam. Конвертируем в .bam: samtools view -bS chr8_14.sam > chr8_14.bam.
a. Рассмотрим файл с разметкой генов для 8 хромосомы. Он также состоит из шапки и тела. В шапке находится краткое описание, источник аннотации (проект GENCODE), контактный электронный адрес, формат и дата публикации. Тело содержит следующие стобцы:
b. Можно попробовать получить количество "генов" по тегу с помощью команды awk '$3 == "gene"' gencode.chr8.gtf | wc -l (на выходе 2484), но, если просмотреть результат awk '$3 == "gene"' gencode.chr8.gtf | less, там окажутся элементы не только с пометкой "protein_coding", но и элементы с "processed_pseudogene", то есть псевдогены. Таким образом, выданное число превышает настоящее число генов.
c. htseq-count -f bam -s no -t exon 14.bam gencode.chr8.gtf > count.txt 2> count.log
d. Файл count.txt был экспортирован в гугл-таблицы, чтобы легко посчитать количество чтений, попавших в границы генов. Так как значение опции -m я не указывал, оно по значению union, т.е, как видно на изображении 4 (взято из документации htseq-count), попавшие в границы генов чтения будут либо соответствовать одному конкретному гену, лиюо будут иметь значение __ambiguous, т.е. будут на пересечении генов.
В итоге в сумме получилось 797044 таких чтений. Вне границ генов (__no_feature) оказалось 237287 чтений.
e.
f.