bedtools
Швейцарский нож для задач генетического анализа. Используется для пересечений, группировки, преобразования и подсчета данных в форматах BAM, BED, GFF/GTF, VCF.
- Находит пересечение двух файлов в отношении цепочки последовательностей и сохраняет результат в {{путь/к/выходному файлу}}:
bedtools intersect -a {{путь/к/файлу_1}} -b {{путь/к/файлу_2}} -s > {{путь/к/выходному файлу}}
- Пересечение двух файлов с левым внешним вхождением (left outer join), т.е. выводит каждую особенность из {{файла_1}} и NULL если нет перекрытия с {{файлом_2}}:
bedtools intersect -a {{путь/к/файлу_1}} -b {{путь/к/файлу_2}} -lof > {{путь/к/выходному файлу}}
- Использует более эффективный алгоритм для пересечения двух отсортированных файлов:
bedtools intersect -a {{путь/к/файлу_1}} -b {{путь/к/файлу_2}} -sorted > {{путь/к/выходному файлу}}
- Группирует файл {{путь/к/файлу}}, основываясь на первых трех и пятой колонках, при этом обобщает и суммирует элементы в шестой колонке:
bedtools groupby -i {{path/to/file}} -c 1-3,5 -g 6 -o sum
- Преобразует файл в формате bam в формат bed:
bedtools bamtobed -i {{путь/к/файлу}}.bam > {{путь/к/файлу}}.bed
- Для каждой особенности из {{файла_1}}.bed ищет ближайщую из {{файла_2}}.bed и записывает расстояние между ними в дополнительную колонку (входные файлы должны быть отсортированы):
bedtools closest -a {{path/to/file_1}}.bed -b {{path/to/file_2}}.bed -d