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:44] – [[2] Pipe를 사용한 간략화] 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
      
Line 31: Line 32:
   $ samtools view –F 0x40 BL21.bam | cut –f1 | sort | uniq | wc –l (uniquely 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의 측정)   $ 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|매뉴얼 페이지]]를 참조하기 바란다.
 +
 +  $ 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 faidx GCA_000017985.1_ASM1798v1_genomic.fna
-  $ samtools sort BL21.bam BL21.sorted +  $ samtools sort -o BL21.sorted.bam BL21.bam 
-  $ samtools sort BL21.bam BL21.sorted+  $ samtools index BL21.sorted.bam
   $ samtools mpileup -u -f GCA_000017985.1_ASM1798v1_genomic.fna BL21.sorted.bam > BL21.bcf   $ samtools mpileup -u -f GCA_000017985.1_ASM1798v1_genomic.fna BL21.sorted.bam > BL21.bcf
   $ bcftools view -v -c -g BL21.bcf > BL21.vcf   $ bcftools view -v -c -g BL21.bcf > BL21.vcf
   $ vcfutils.pl varFilter -D100 BL21.vcf > BL21.vcf.filtered (filter: max read depth 100)   $ 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   $ samtools mpileup -uf GCA_000017985.1_ASM1798v1_genomic.fna BL21.sorted.bam | bcftools view -bvcg - > BL21.bcf
reference_mapping_및_variant_calling.1455587082.txt.gz · Last modified: (external edit)