본문 바로가기
Bioinformatics

[Bedtools] BAM to BED 파일 전환

by 코딩하는 미토콘드리아 bioinformatics 2023. 1. 16.
반응형

인간 유전체는 30억 개의 DNA 염기로 이루어져 있기 때문에 이를 데이터화 하면 용량이 매우 커지게 됩니다.
따라서 이진수(binary) 형태의 Bam 파일로 저장하여 사용합니다.
Bam 파일은 FASTQ 라는 원시 염기서얼 정보 데이터로 부터 만들어 지고
이는 IGV(Integratve Genomics Viewer) 라는 시각화 툴을 통해서 read 정보를 확인하게 됩니다.
(FASTQ 에 대해서는 다음에 좀더 자세히 설명 드리겠습니다.)

BAM 파일은 FASTQ 파일의 read 정보가 이진수로 랜덤하게 저장 되어 있기 때문에
시각화 툴 없이는 정보를 확인하기에 어려움이 있습니다.
따라서, 이번 시간에는 Bedtools 의 간단한 옵션으로,
Bam to Bed 로 전환하여 정보를 확인하는 방법을 알아보겠습니다.

준비물
bedtools
sample_sorted.bam
(염색체와 위치 순(coordinate)으로 정렬된 bam 파일)

-rw-r--r-- 1 skkwon1048 labge  489220420 2023-01-04 10:39 sample_sorted.bam

방법은 아주 간단합니다.

bedtools bamtobed [OPTIONS] -i <file.BAM>

skkwon1048@server:/data/skkwon1048/Test/test_analysis_blog_221217$ bedtools bamtobed -i sample_sorted.bam | head -10
chr1    15103   15179   NB501509:828:H5K2WAFX3:1:11312:9382:17313/1     0       +
chr1    15221   15297   NB501509:828:H5K2WAFX3:1:11312:9382:17313/2     0       -
chr1    15502   15578   NB501509:828:H5K2WAFX3:2:21208:24330:15062/1    28      +
chr1    15564   15640   NB501509:828:H5K2WAFX3:2:21208:24330:15062/2    28      -
chr1    16446   16522   NB501509:828:H5K2WAFX3:2:21309:21194:10596/2    21      +
chr1    16539   16615   NB501509:828:H5K2WAFX3:2:21309:21194:10596/1    21      -
chr1    16861   16937   NB501509:828:H5K2WAFX3:4:21407:11215:12914/2    0       +
chr1    16903   16978   NB501509:828:H5K2WAFX3:1:11107:6039:13365/1     0       +
chr1    16932   17008   NB501509:828:H5K2WAFX3:3:11603:24393:7491/2     0       +
chr1    16940   17016   NB501509:828:H5K2WAFX3:3:11608:18137:4000/2     0       +

이 처럼 bam 파일의 read 정보를 bed 파일 format 으로 확인할 수 있습니다.
염색체, start, end 정보가 포함되어 있고
말씀 드렸듯이, Bam 파일은 FASTQ 파일로 만들어 지게 되는데
이때
가운데
NB501509:828:H5K2WAFX3:2:21309:21194:10596/1 이 부분이 FASTQ 파일에서 그대로 가지고 온 정보 입니다.

결과 정보 첫줄 기준 :
NB501509: 기기 이름
828 : run id
H5K2WAFX3 : Flow cell id
1/2/3/4 : Flow cell lane
11312 : tile number
23630 : x축 값
1039 : y축 값
/1 or /2 : pair 정보 (paired-end or mate-pair reads only)

그 뒤에 숫자와 +- 는
BAM MAPQ (0 ~ 60) 정보와
strand + (forward) 또는 - (reverse)로 정의 됩니다.

skkwon1048@server:/data/skkwon1048/Test/test_analysis_blog_221217$ bedtools bamtobed -i sample_sorted.bam | tail -10
chrM    16498   16571   NB501509:828:H5K2WAFX3:1:11108:13306:13354/2    60      +
chrM    16502   16571   NB501509:828:H5K2WAFX3:2:11105:16792:12677/1    60      +
chrM    16515   16571   NB501509:828:H5K2WAFX3:1:11110:22853:9872/1     60      -
chrM    16518   16571   NB501509:828:H5K2WAFX3:1:21307:8726:12962/1     10      +
chrM    16518   16571   NB501509:828:H5K2WAFX3:3:11605:21622:8603/2     10      +
chrM    16521   16571   NB501509:828:H5K2WAFX3:3:11602:15309:15242/1    44      -
chrM    16523   16571   NB501509:828:H5K2WAFX3:2:21303:10188:13138/1    0       +
chrM    16526   16571   NB501509:828:H5K2WAFX3:4:21608:13582:13663/2    40      -
chrM    16527   16571   NB501509:828:H5K2WAFX3:1:11111:11004:14780/2    40      -
chrM    16531   16571   NB501509:828:H5K2WAFX3:2:21205:13012:13118/2    40      -

reference:
https://bedtools.readthedocs.io/en/latest/content/tools/bamtobed.html

bamtobed — bedtools 2.30.0 documentation

bamtobed bedtools bamtobed is a conversion utility that converts sequence alignments in BAM format into BED, BED12, and/or BEDPE records. Usage and option summary Usage: bedtools bamtobed [OPTIONS] -i (or): bamToBed [OPTIONS] -i Option Description -bedpe W

bedtools.readthedocs.io

반응형