На главную


Bedtools: пакет программ для анализа ридов

На этой странице представлены примеры работы команд программы bedtools [1]. Перед началом работы был прописан путь до программы PATH=${PATH}/P/y14/term3/block4/SNP/bedtools2/bin. Все файлы лежат в директории /nfs/srv/databases/ngs/azbukinanadezda/pr13
1.Получите из файла в выравниванием файл с чтениями в формате fastq.
Исходные файлы: chr2.1sorted.bam
Команда: bedtools bamtofastq -i chr2.1sorted.bam -fq chr2.1sorted.fastq
Результат: chr2.1sorted.fastq. Стандартный .fastq-файл.
2.Получите файл с нуклеотидной последовательностью (.fasta) для одного из покрытых Вашими чтениями генов.
Исходный файл: chr2.fasta. Содержание файла ncl.bed.

chr2    232319459       232329205       NCL     1       -


Команда: bedtools getfasta -fi chr2.fasta -bed pr12/ncl.bed -fo ncl.fasta -name -s
Флаг -fi указывает, из какого файла необходимо вырезать нуклеотидную последовательность, -bed файл в формате .bed, с указанием координат. Если в этом файле есть 4-ая колонка, описывающая название данного участка, можно поставить флаг -name, который окажется в описании фаста последовательности. Также если указана ориентация участка, можно поставить флаг -s. если цепь прямая (+), то будет вырезаться непосредственно эта последовательность, если обратная (-) - то комплементарная и обращенная.
Результат: ncl.fasta. Стандартный фаста-файл (первая строчка -описание, далеее по 60 символов в стркое -нуклеотидная последовательность).
3.Разбейте свою хромосому на фрагменты по 1 млн нуклеотидов. Какова длина хромосомы в нуклеотидах? Сколько в результате получилось интервалов?
Исходные файлы: chr2.txt. (содержание: chr2 243199373 )
Команда: bedtools makewindows -g chr2.txt -w 1000000 > win.bed
Флаг -g - файл с указанием размера участков генома, w- размер промежутка. Длина хромосомы 243 199 373 п.н.. Получилось 244 промежутка.
Результат: win.bed. Табулированный файл. первая колонка- хромосома, вторая -координата начала интервала, 3-я - его конец.
4.Объедините Ваши чтения в кластеры.
Исходный файл: chr2.1.bed
Команда : bedtools cluster -i chr2.1.bed -s >cluster.bed
-i -исходный .bed файл. -s-объединение только на одноименных цепочках. При желании можно допускать "гэпы" при объединении флагом -d @число формата integer, указывающее максимально допустимый промежуток между ридами, для объединения их в кластер.
Результат: cluster.bed . Файл аналогичен исходному, только напротив каждого промежутка указан порядковый номер кластера, к которому он относится. Всего было получено 30 кластеров
5.Наберите из Вашей хромосомы 1000 случайных фрагментов по 200 нуклеотидов.
Исходный файл: chr2.txt
Команда: bedtools random -g chr2.txt -n 1000 -l 200 > random.bed
-g -исходный файл, содержащий размер хромосомы. -n количество генерируемых промежутков, - l -их длина.
Результат: random.bed. Файл в табулированном формате. Первая колонка - название хромосомы (первая колонка из исходного файла), начало и конец интервала, порядковый номер, его длина и ориентация на цепи.
6. Получите координаты 3`-области одного из покрытых Вашими чтениями генов длиной в 1000 нуклеотидов.
Исходный файл: ncl.bed <
Команда ( костыль, лучше не придумалось): bedtools flank -i ncl.bed -g chr2.txt -b 1000 > flank.bed . Здесь я извлекаю последовательности в 1000 нуклеотидов выше и ниже по течению от гена.
head -n 1 flank.bed >flank2.bed. Записываю первый интервал (тк ген на обратной цепочке, то 3'конец будет в начале)
bedtools shift -i flank2.bed -g chr2.txt -s 1000 >ncl3.bed. Сдвигается промежуток интервала на 1000. Почему-то сдвинулся не на равное количество нуклеотидов правый и левый конец промежутка, хотя за пределы хромосомы это не выходит :(
Результат: ncl3.bed.
7.Получите координаты одного из покрытых Вашими чтениями генов, расширенные на 1000 нуклеотидов в обе стороны.
Исходный файл: ncl.bed
Команда: bedtools slop -i ncl.bed -g chr2.txt -b 1000 > slop.bed -i-указаный файл, -g-файл с размером хромосомы, чтобы не выйти за ее пределы. -b -на сколько удлинять ген.
Результат: slop.bed. стандартный фал .bed.
8.Получите координаты одного из покрытых Вашими чтениями генов, сдвинутые на 500 нуклеотидов ближе к началу хромосомы.
Исходный файл: ncl.bed
Команда: bedtools shift -i ncl.bed -g chr2.txt -s -500 >shift.bed
Флаг -s - сдвигает на указанное количество нуклеоидов (+ или -) независимо от цепочки. Если мы хотим двигать на разное количество нуклеотидов в зависимости от цепочки, нужно указывать флаги -p (+) и -m(-), причем эти два флага всегда идут вместе.
Результат: shift.bed
9. Получите непересекающиеся фрагменты, соответствующие области, покрытой Вашими чтениями.
Исходный файл: chr2.1.bed
Команда: bedtools genomecov -i chr2.1.bed -g chr2.txt -bg >chr2.1cov.bed
флаг -bg объединяет интервал с одинаковым покрытием. grep -w 1 chr2.1cov.bed >task9.bed - извлечь все интервалы с покрытием 1.
Результат: task9.bed
10. Получите файл с координатами интервалов, покрытых Вашими чтениями, с информацией о покрытии в любом формате.
Исходный файл: chr2.1.bed
Команда: bedtools genomecov -i chr2.1.bed -g chr2.txt -bg >chr2.1cov.bed
флаг -bg объединяет интервал с одинаковым покрытием. Команда, требующаяся в предыдущем задании.
Результат: chr2.1cov.bed

Список литературы

[1] https://media.readthedocs.org/pdf/bedtools/latest/bedtools.pdf