본문 바로가기
생물정보학/Tools

[samtools] sam, bam 파일간 변환 방법, sam to bam , bam to sam

by HanJoohyun 2017. 12. 12.
반응형

 

 

 

안녕하세요 한주현입니다.

 

오늘은 samtools로 sam, bam 파일간 변환 방법


에 대하여 알아보겠습니다.

 


 

 samtools

 

samtools 로 SAM, BAM 간 파일 변환 - 준비물


준비물

1) samtools

samtools 설치가 되어 있지 않다면 다음 링크들을 참고해 주세요


  - samtools 공식 다운로드 페이지

http://www.htslib.org/download/


  - samtools 설치 방법

http://korbillgates.tistory.com/57



2) 실습 bam 파일

http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam

Size: 92MB


http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam.bai

Size: 4.9MB

 

 

저는 리눅스 wget 명령어를 사용하여 다운로드

 

1
2
3
4
5
6
7
8
9
10
11
$ wget http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam
--2017-12-12 09:18:04--  http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam
Resolving hgdownload.cse.ucsc.edu (hgdownload.cse.ucsc.edu)... 128.114.119.163
Connecting to hgdownload.cse.ucsc.edu (hgdownload.cse.ucsc.edu)|128.114.119.163|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 96089078 (92M) [text/plain]
Saving to: ‘wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam’
 
100%[=========================================================================>96,089,078  2.50MB/s   in 37s
 
2017-12-12 09:18:42 (2.45 MB/s) - ‘wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam’ saved [96089078/96089078]
cs

 

잘 받아졌네요 ㅎㅎ;

 

1
2
3
4
5
$ ll
total 93848
drwxrwxr-2 jhan jhan     4096 Dec 12 09:18 ./
drwxrwxr-4 jhan jhan     4096 Dec 12 09:17 ../
-rw-rw-r-- 1 jhan jhan 96089078 Feb 18  2011 wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam
cs

 

 

 

 

samtools 로 SAM, BAM 간 파일 변환 - 실행


samtools 커맨드에서 view 를 사용합니다.

아래의 예시는 std out으로 출력되는 결과 중 일부를 보여드립니다. ㅎㅎ


1) BAM 파일을 SAM 파일형식으로 변환하기

 

samtools view [in.bam] > [out.sam]

standard out으로 나오므로 > 로 받아줍니다

 

1
$ samtools view wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam > wgEncodeUwRepliSeqBg02esG1bAlnRep1.sam
cs

 

head 명령어로 보니 잘 변환되었습니다 ㅎㅎ;

 

1
2
3
4
5
6
7
8
9
10
11
$ head wgEncodeUwRepliSeqBg02esG1bAlnRep1.sam
SOLEXA-1GA-2_2_FC20EMB:5:251:979:328    0       chr1    10145   25      36M     *       0       0       AACCCCTAACCCTAACCCTAACCCTAACCCTAAACT       hhhhHcWhhHTghcKA_ONhAAEEBZE?H?CBC?DA    NM:i:1  X1:i:1  MD:Z:33A2
SOLEXA-1GA-2_2_FC20EMB:5:102:214:278    0       chr1    10148   25      36M     *       0       0       CCCTAACCCTAACCCTAACCCTAACCCTAACCTAAC       hbfhhhXUYhT_ULZdLRTKNIMIKGLJCHFFJQJN    NM:i:0  X0:i:1  MD:Z:36
SOLEXA-1GA-2_2_FC20EMB:5:195:284:685    16      chr1    10149   25      36M     *       0       0       CCAAACACTAACCCTAACCCTAACCCTAACCTAACC       ><>B@>?>?D>>?B?D>DBC?E@BDHAKCEKERLOO    NM:i:1  X1:i:1  MD:Z:29A3A2
SOLEXA-1GA-2_2_FC20EMB:5:35:583:827     0       chr1    10150   25      36M     *       0       0       CTAACCCTAAACCTAACCCTAACCCTAACCTAACCA       hhW_X]MXNOHQQWMILHGIFMJGJLCFGGJAKIEH    NM:i:1  X1:i:1  MD:Z:10A24A0
SOLEXA-1GA-2_2_FC20EMB:5:248:130:724    0       chr1    10152   25      36M     *       0       0       AACCCTAACCCTAACCCCAACCCTAACCTAACCCTA       hchPhc___cWS[VRObRXDTOUSJLXOA@LGFMC@    NM:i:1  X1:i:1  MD:Z:17C18
SOLEXA-1GA-2_2_FC20EMB:5:236:644:107    16      chr1    10154   25      36M     *       0       0       CCCTAACCCTAACCCTAACCCTAACCTAACCCTAAC       ICF=A@BHGEGGDFLIKKYYGD^CahMaShfhNhhh    NM:i:0  X0:i:1  MD:Z:36
SOLEXA-1GA-2_2_FC20EMB:5:165:628:70     16      chr1    10155   25      36M     *       0       0       CCTAACCCTAACCCTAACCTTTACATAACCCTAACC       >D?BAEAA?E=JGGBK>FKDGFJPVHSFTT\QQMch    NM:i:1  X1:i:1  MD:Z:11A2T1T19
SOLEXA-1GA-2_2_FC20EMB:5:108:485:455    16      chr1    10156   25      36M     *       0       0       CTAACCCTAACCCTAACCCTAACATAACCCTAACCC       CFVIUIIIbGPROGhRhhhIhhhhhhhhhhhhfhhh    NM:i:1  X1:i:1  MD:Z:12A23
SOLEXA-1GA-2_2_FC20EMB:5:240:501:237    0       chr1    10158   25      36M     *       0       0       AACCCTAACCCTAACCCTAACCTAACCCTAACCATA       hhhchg_ORNbX]RMZLREQMNTNFLDPMDDDEDKL    NM:i:1  X1:i:1  MD:Z:33A2
SOLEXA-1GA-2_2_FC20EMB:5:258:882:389    16      chr1    10215   25      36M     *       0       0       CTAACCCTAAACCTAACCCCTAACCCTAACCCTAAA       IMZO>?EGDRRhhdXKVNRZKhhhhhhhNhhhhhhh    NM:i:1  X1:i:1  MD:Z:25A10
cs

 

크기도 3배 정도 늘어났군요 ㄷㄷ

 

1
2
3
4
5
6
$ ll -h
total 372M
drwxrwxr-2 jhan jhan 4.0K Dec 12 09:19 ./
drwxrwxr-4 jhan jhan 4.0K Dec 12 09:17 ../
-rw-rw-r-- 1 jhan jhan  92M Feb 18  2011 wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam
-rw-rw-r-- 1 jhan jhan 281M Dec 12 09:23 wgEncodeUwRepliSeqBg02esG1bAlnRep1.sam
cs

 

 

2) SAM 파일을 BAM 파일형식으로 변환하기

 

samtools view -Sb [in.sam] > [out.bam]

standard out으로 나오므로 > 로 받아줍니다

 

1
$ samtools view -Sb wgEncodeUwRepliSeqBg02esG1bAlnRep1.sam > wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam
cs

 

 


 


오늘은 samtools를 사용하여 SAM, BAM 파일간 파일형식을 변환하는


방법에 대하여 알아봤습니다.


부디 여러분들께 도움이 되셨음 좋겠습니다 ㅎㅎ.


그럼 다음 시간에 만나요!


참고자료 : http://www.htslib.org/doc/samtools.html

 

 

 


반응형

댓글