Reading files

Visbam 프로그램에서 제일 처음에 진행되는 작업입니다. 본격적인 visualize system을 시작하기 전, 파일을 불러와 초기화 시켜줍니다. 불러오는 파일은 Bam 파일, Genetic variants 데이터, RefSeq 파일이 있습니다.

Bam files

먼저 pysam 라이브러리를 이용하여 Bam 파일들을 불러와줍니다. Normal Bam 파일부터 불러온 뒤, visualize 할 Bam 들을 불러와줍니다.

Normal Bam

normal_dir_path 내에 있는 Bam 파일들을 모두 불러와줍니다. Bam 파일들을 하나씩 불러 온 뒤 해당 파일과 구간의 cache 파일이 있는지 없는지 확인합니다. cache 파일이 존재하면 cache 파일을 불러옵니다. 없으면 각 파일의 coverage를 Pysam 라이브러리를 이용하여 구해 줍니다. 그리고 coverage를 caching하여 저장합니다.

Cache file은 현재 작업환경에서 cache/ 디렉토리를 새로 만든 뒤 그 안에 파일들이 저장됩니다.

구해진 Normal bam file들의 평균을 최종 결과값으로 저장합니다.

Cancer Bam

Coverage 계산까지 Normal Bam 과 동일하게 진행됩니다. 그리고 구해진 Cancer Bam 에 position별로 각각 해당 positon의 Normal Bam 의 평균으로 나누어 줍니다. 이 결과를 최종적으로 전부 저장하여 visualize합니다.

Genetic variants

variants_dir_path 폴더에 있는 모든 .txt 파일들을 불러옵니다. 이때 txt 파일명은 Bam file의 파일명 중 온점 앞까지의 값과 같아야 합니다.

예 :

MS180000237_S10.bwamem.sorted.dedup.realn.recal.dedup.bam

-> MS180000237_S10.txt

그 뒤 nmid_to_draw 의 nmid와 일치하는 값이며, visualize 하는 sample에 해당되는 값만 불러옵니다.

RefSeq

refseq_path 에 있는 RefSeq 파일을 불러옵니다. 이 후 nmid_to_draw 와 일치하는 RefSeq 중 첫번째 값을 불러옵니다. 이 값이 그래프의 처음과 끝, exon을 결정하는 RefSeq 이 됩니다.

그리고 RefSeqnmid_to_draw 의 범위에 들어오는 모든 RefSeq 을 불러옵니다.

--curated_genes 파일이 지정되어 있으면 --curated_genes 파일에 있는 RefSeq 만 걸러냅니다.