유전체에 연관된 데이터는 매우 많고 타입도 다양합니다. 그 중에 실수형 데이터가 쫙 깔린 것도 몇가지 있는데, 대표적으로 보존도(conservation score), ChIP이나 RNA-seq, DNase-seq 등에서 나온 시퀀싱 데이터의 리드 수, 짧은 리드의 매핑 가능 정도, 예측된 유전자에 관련된 점수, GC 비율, RNA의 2차구조 안정성 같은 것들이 있겠죠.
예를 들어서, CLIP-seq로 얻은 단백질에 붙을 걸로 예측되는 부분의 리드 주변 보존도가 다른 부분에 비해서 진화 속도가 더 빠른지 보존이 잘 되는지, 구조적으로 안정한지, 크로마틴이 풀려있다거나, RNAPol II가 멈춰있는 근처에서 막 붙는지 그런 것들을 정량적으로 보려면, 이런 것들을 미리 정리해 놓은 데이터를 쉽게 가져오면 좋지요.
다행히도 UCSC느님께서 정리를 정말 잘 해두셔서 긁어오기만 하면 바로 짠 하고 쓸 수 있는데!
주로 bigWig 포맷으로 되어 있어서 파이썬에서 접근하려면 좀 번거롭죠. 다행히도 요새 전세계 실험생물학자들의 구세주로 떠오른 Galaxy가 파이썬으로 개발되면서 이런 대용량 포맷에 접근하는 모듈을 아주 깨끗하게 잘 만들어두었습니다~ 소스도 잘 공개되어 있어서 쉽게 깔 수 있구요. 다만 매뉴얼이 전혀 없다는 문제가 있는데.. 그래도 직접 다 만드는 것 보단..;
그래서 쓰는 방법은.. 이렇게 대충 할 수 있습니다. (Lin28의 3’UTR 일부에서 36nt short read의 매핑 가능 점수를 가져오는 코드)
1 2 3 4 5 6 7 8 9 10 |
from bx.bbi.bigwig_file import BigWigFile crg36 = BigWigFile(open('crgMapabilityAlign36mer.bw')) summarized = crg36.summarize('chr4', 133561496, 133561599, 133561599-133561496) print summarized.size print summarized.sum_squares qresult = crg36.query('chr4', 133561496, 133561599, 10) print qresult |