User Tools

Site Tools


reference_mapping_및_variant_calling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
reference_mapping_및_variant_calling [2016/02/16 10:21] – [Reference sequence의 다운로드 및 인덱스 생성] hyjeongreference_mapping_및_variant_calling [2021/03/17 13:09] (current) – external edit 127.0.0.1
Line 17: Line 17:
      
 ==== Mapping ==== ==== Mapping ====
-   +만약 paired read의 방향이 일반적인 fr(forward-reverse)가 아니고 rf(from mate-pair library) 혹은 ff라면 어떻게 할 것인가? 또한 library insert size를 mapping 단계에서 지정하려면 어떻게 해야 할 것인지 생각해 보자. SAM 및 BAM 파일에 대한 지식이 필요하면 [[https://github.com/davetang/learning_bam_file|Learning BAM files 사이트]]를 둘러볼 것을 권장한다. 
-  $ bowtie2 -x bowtie2/REL606 -1 BL21-20x_1.fastq -2 BL21-20x_2.fastq -S BL21.sam+ 
 +  $ bowtie2 -p 16 -x bowtie2/REL606 -1 BL21-20x_1.fastq -2 BL21-20x_2.fastq -S BL21.sam
   $ samtools view -b -S -o BL21.bam BL21.sam   $ samtools view -b -S -o BL21.bam BL21.sam
      
 ===== (optional) Read alignment의 시각화 ===== ===== (optional) Read alignment의 시각화 =====
   * [[http://www.broadinstitute.org/igv/|IGV]]나 [[https://ics.hutton.ac.uk/tablet/|tablet]]을 사용하여 assembly 및 alignment의 시각화 가능   * [[http://www.broadinstitute.org/igv/|IGV]]나 [[https://ics.hutton.ac.uk/tablet/|tablet]]을 사용하여 assembly 및 alignment의 시각화 가능
 +  * [IGV] Genomes -> Create .genome File에서 fasta file을 로드한 다음 File -> Load from file에서 sorting 및 indexing이 완료된 bam file을 로드
  
 +===== (optional) Mapping 관련 수치의 출력 =====
 +  $ samtools flagstat BL21.bam
 +  $ samtools view –f 0x04 –c BL21.bam | wc -l (unmapped read의 수)
 +  $ samtools view –F 0x04 –c BL21.bam | wc -l (mapped read의 수)
 +  $ samtools view –F 0x40 BL21.bam | cut –f1 | sort | uniq | wc –l (uniquely mapped read의 수)
 +  $ samtools view BL21.bam | getinsertsize.py – (library insert size의 측정)
  
 +===== (optional) 각 contig의 average read depth 산출 =====
 +bam 파일로 소팅한 다음 samtools depth 명령을 실행하면 reference 서열의 모든 염기 위치에 대한 read depth가 출력된다. 더욱 상세한 정보를 원한다면 samtools mpileup 명령을 쓰면 되나, 이번 작업에서는 그렇게까지는 할 필요가 없다. 다만 reference sequence 단위의 집계를 위해서 간단한 스크립트 [[read_depth.pl]]이 필요하다. samtools 1.4.1에서는 sort와 index에 관련한 명령어 문법이 약간 바뀌었으므로 [[http://www.htslib.org/doc/samtools-1.4.1.html|매뉴얼 페이지]]를 참조하기 바란다.
  
-==== Mapping ==== +  $ samtools sort -o BL21_sorted.bam BL21.bam 
 +  $ samtools depth BL21_sorted.bam (출력물이 어떠한지 관찰해 보기) 
 +  $ samtools depth BL21_sorted.bam | read_depth.pl > depth.csv
  
 ===== 2. Variant calling ===== ===== 2. Variant calling =====
 ==== [1] 일반적인 과정 ==== ==== [1] 일반적인 과정 ====
 +  $ samtools faidx GCA_000017985.1_ASM1798v1_genomic.fna
 +  $ samtools sort -o BL21.sorted.bam BL21.bam
 +  $ samtools index BL21.sorted.bam
 +  $ samtools mpileup -u -f GCA_000017985.1_ASM1798v1_genomic.fna BL21.sorted.bam > BL21.bcf
 +  $ bcftools view -v -c -g BL21.bcf > BL21.vcf
 +  $ vcfutils.pl varFilter -D100 BL21.vcf > BL21.vcf.filtered (filter: max read depth 100)
 ==== [2] Pipe를 사용한 간략화 ==== ==== [2] Pipe를 사용한 간략화 ====
 +  $ samtools mpileup -uf GCA_000017985.1_ASM1798v1_genomic.fna BL21.sorted.bam | bcftools view -bvcg - > BL21.bcf
 +  $ bcftools view BL21.bcf | vcfutils.pl varFilter -D100 > BL21.vcf.filtered
 ====== 참고자료 ====== ====== 참고자료 ======
-  [SAMtools 공식 문서] [[http://samtools.sourceforge.net/mpileup.shtml|Calling SNPs/InDels with SAMtools/BCFtools]]+  * SAM/BAM 파일의 이해와 sorting/indexing에 관해서는 [[http://homer.salk.edu/homer/basicTutorial/samfiles.html|Understanding and manipulating SAM/BAM files]]을 참조할 것 
 +  * [SAMtools 공식 문서] [[http://samtools.sourceforge.net/mpileup.shtml|Calling SNPs/InDels with SAMtools/BCFtools]] 
 +  * [[https://gist.github.com/davfre/8596159|SAM and BAM filtering onliners]]  
 +  * getinsertsize.py [[https://gist.github.com/davidliwei/2323462|다운로드 링크]] [[http://allaboutbioinfo.blogspot.kr/2012/04/estimating-paired-end-read-insert.html|Estimating paired-end read insert size from BAM/SAM files]]
reference_mapping_및_variant_calling.1455585670.txt.gz · Last modified: (external edit)