Masking 을 하는 목적은 여러가지가 있을 수 있습니다.
mapping 단계에서 제한을 주거나(예를들어 pseudogene region),
low-complexity sequence 부분에 대해서 masking을 해서
위양성률(false positive) 을 줄일 수 있습니다.
이를 실습하기 위해 두가지 파일을 준비 하였습니다.
1. hg19 fasta 파일(masking 하고자 하는 대상)
2. 영역이 지정된 bed (masking 영역 하고자 하는 영역)
그럼 이제,
hg19 참조서열의 chr20:10000000-10001000 영역을 masking 해보겠습니다.
우선 hg19 chr20:10000000-10001000 영역 sequence 정보를 확인하겠습니다.
samtools faidx ./hg19.fasta chr20:10000000-10001000
[skkwon1048@server Test]$ samtools faidx ./hg19.fasta chr20:10000000-10001000
>chr20:10000000-10001000
Ttgtttactacagctttgtagtaaattttgaactctaaagtgttagttctctaactttgt
ttgtttttcaagagtgttttgactcttcttactgcatcccttgcatttccatatggactt
tataatcagccatgtcaacttctgcaagaaagacagctaggattttgataaggattgtgt
tgaatctgtagtccaattttgggaatactaccatgttaacatcgtcttcccatccatgca
cgtgcaatagcttaccatttatttggtcttcctcaatttctgtcaacaatgatttgtagt
tttcagttgcaagtcttgcacttcttttgttaaactttttccaaatatttattcttctta
attacataattctcataattaataaaattctgaaattttcttaatttcatttttgTGGCC
ATGCACTttaaaacttgccttttaacaagacttccagatgattcttgtgaacattaagtt
tgtgaagtgctTCTCTATTGACAAACTGAACTCACGTGACATTCCACACAGCACTGGCAA
ATTCTGTCCCGTAACTCCGCTAGCTCTCCAACAAGAAGTGACTTGACGCAGCCCAAGGTT
ACTACTTAACACAATGAATTAAATGTTTTTAAATAAGAGGAAGCAATAAGATTCTAAAGG
CTTTTCTGTTTTAATTTTCATGCAATGGAAAACTGGTATTAAATATCTATTTAATTAGGA
GGAAACTACAATGCTGACTTTTGTCTGAATTATGTAGATAAGTGATTCATTTGAAACAAT
TATTTTGATAATTGTCAATTATCCATTTCATTTTAATGCATTTTTTATTCTTTTTTCAAA
AATAGCAACAATTACAACAGTTAAACCTTATAATGAATATGTTTCCTAAACCCTGTTCTA
CTttctggttccagatctgacaccaattacctttctgattttggacaaaccacttaatat
ttgtaacttacaattacttcaactgaataataaaagaattg
bedtools 를 이용하여 해당 영역에 N 처리 (masking) 하겠습니다.
output파일을 samtools로 다시 인덱스 지정 해주고 masking 되었는지 확인하였습니다.
command
bedtools maskfasta -fi hg19.fasta -bed chr20_masking.bed -fo hg19_chr20_masking.fa.out
[skkwon1048@server Test]$ bedtools maskfasta -fi hg19.fasta -bed chr20_masking.bed -fo hg19_chr20_masking.fa.out
[skkwon1048@server Test]$ samtools faidx hg19_chr20_masking.fa.out
[skkwon1048@server Test]$ samtools faidx ./hg19_chr20_masking.fa.out chr20:10000000-10001000
>chr20:10000000-10001000
TNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
옵션 설명:
-soft : fasta sequence soft masking (소문자 염기 추가) (default : hard masking )
-mc : N 말고 다른 알파벳으로 masking
reference
https://bedtools.readthedocs.io/en/latest/content/tools/maskfasta.html
maskfasta — bedtools 2.30.0 documentation
maskfasta bedtools maskfasta masks sequences in a FASTA file based on intervals defined in a feature file. The headers in the input FASTA file must exactly match the chromosome column in the feature file. This may be useful for creating your own masked gen
bedtools.readthedocs.io