1. ########################################
  2. ############### Mapping ################
  3. ########################################
  4. ################
  5. #(1) build index
  6. ################
  7. bwa index -a bwtsw -p <reference> <reference.fa>
  8. ################
  9. #(2) Sort reference
  10. ################
  11. samtools faidx reference.fasta
  12. ################
  13. #(3) Create sequence dictionary
  14. ################
  15. java -jar CreateSequenceDictionary.jar REFERENCE=reference.fa OUTPUT=reference.dict
  16. ################
  17. #(4) Align samples to reference genome with bwa mem
  18. ################
  19. bwa mem -M -t 12 -R '@RG\tID:uniq_ID\tSM:Sample_name\tLB:Sample_name_lib_num\tPL:ILLUMINA' \
  20. reference left.fq right.fq | \
  21. samtools view -bS - > Sample_name_lib_num.bam
  22. ################
  23. #(5) Fix Mate Information
  24. ################
  25. samtools fixmate -O bam Sample_name_lib_num.bam Sample_name_lib_num.fixmate.bam
  26. ################
  27. #(6) Sort BAM file
  28. ################
  29. samtools sort -T /tmp/Sample_name_lib_num.sorted -o Sample_name_lib_num.sorted.bam Sample_name_lib_num.fixmate.bam
  30. ########################################
  31. ############# Improvement ##############
  32. ########################################
  33. ###############
  34. #(7)Splits reads with Ns in CIGAR
  35. ###############
  36. java jar GenomeAnalysisTK.jar \
  37. T SplitNCigarReads \
  38. R reference.fa \
  39. I Sample_name_lib_num.sorted.bam \
  40. o Sample_name_lib_num.sorted.SplitNCigar.bam \
  41. U ALLOW_N_CIGAR_READS \
  42. rf ReassignOneMappingQuality \
  43. RMQF 255 \
  44. RMQT 60
  45. ################
  46. #(8)Identify target regions for realignment
  47. ################
  48. java -Xmx2g -jar GenomeAnalysisTK.jar -T RealignerTargetCreator \
  49. -R reference.fa \
  50. -I Sample_name_lib_num.sorted.SplitNCigar.bam \
  51. -ip 50 \
  52. -o Sample_name_lib_num.sorted.SplitNCigar.intervals
  53. ################
  54. #(9) Perform realignment
  55. ################
  56. java -Xmx4g -jar GenomeAnalysisTK.jar -T IndelRealigner \
  57. -R reference.fa \
  58. -I Sample_name_lib_num.sorted.SplitNCigar.bam \
  59. -targetIntervals Sample_name_lib_num.sorted.SplitNCigar.intervals \
  60. -output Sample_name_lib_num.realigned.bam
  61. ################
  62. #(10) fixes mate information that may be changed during the realignment process
  63. ################
  64. java -Djava.io.tmpdir=/tmp/ \
  65. -jar picard.jar FixMateInformation \
  66. INPUT=Sample_name_lib_num.realigned.bam \
  67. OUTPUT=Sample_name_lib_num.realigned.fixed.bam \
  68. SO=coordinate \
  69. VALIDATION_STRINGENCY=LENIENT \
  70. CREATE_INDEX=true
  71. ################
  72. #(11) Build the recalibration model
  73. ################
  74. java -Xmx4g -jar GenomeAnalysisTK.jar -T BaseRecalibrator \
  75. -R reference.fa \
  76. -I Sample_name_lib_num.realigned.fixed.bam \
  77. -ip 50 \
  78. -o Sample_name_lib_num_recalibration.table
  79. ################
  80. #(12) Apply the recalibration model
  81. ################
  82. java -Xmx4g -jar GenomeAnalysisTK.jar -T PrintReads \
  83. -R reference.fa \
  84. -I Sample_name_lib_num.realigned.bam \
  85. -BQSR Sample_name_lib_num_recalibration.table \
  86. -o Sample_name_lib_num.realigned.recal.bam
  87. ################
  88. #(13) Mark Duplicates
  89. ################
  90. java -jar $PICARD MarkDuplicates \
  91. I=Sample_name_lib_num.realigned.recal.bam \
  92. O=Sample_name_lib_num.improvement.bam \
  93. M=Sample_name_lib_num_dedup_metrics.txt \
  94. CREATE_INDEX=true
  95. ################
  96. #(14) index BAM using samtools
  97. ################
  98. samtools index Sample_name_lib_num.improvement.bam
  99. ########################################
  100. ########## Variant Calling #############
  101. ########################################
  102. ###################
  103. ## (15) Call variants using HaplotypeCaller in GVCF mode.
  104. ###################
  105. java -jar GenomeAnalysisTK.jar \
  106. -T HaplotypeCaller \
  107. -R reference.fa \
  108. -I Sample_name_lib_num.improvement.bam \
  109. -o Sample_name_lib_num.HaplotypeCaller.vcf \
  110. -ERC GVCF
  111. ###################
  112. #(16) Run GenotypeGVCFs in GVCF mode.
  113. ###################
  114. java -jar GenomeAnalysisTK.jar \
  115. -T GenotypeGVCFs \
  116. -R reference.fa \
  117. -V Sample_name_lib_num.HaplotypeCaller.vcf \
  118. -o Sample_name_lib_num.HaplotypeCaller.gg.vcf
  119. ###################
  120. # (17) Call variants with Samtools
  121. ###################
  122. samtools mpileup -C 50 -uf reference.fa Sample_name_lib_num.improvement.bam | \
  123. bcftools view -bvcg - > Sample_name_lib_num.samtools_var.bcf
  124. bcftools view Sample_name_lib_num.samtools_var.bcf | vcfutils.pl varFilter -D 100 > Sample_name_lib_num.samtools_var.vcf
  125. ###################
  126. # (18) Merge two separate callsets
  127. ###################
  128. java -jar GenomeAnalysisTK.jar \
  129. -T CombineVariants \
  130. -R reference.fa \
  131. --variant input1.vcf \
  132. --variant input2.vcf \
  133. -o output.vcf \
  134. -genotypeMergeOptions UNIQUIFY

the pipeline of call SNP的更多相关文章

  1. circos pipeline

    # /usr/bin/env python# coding=utf-8#################################### Author : yunkeli# Version : ...

  2. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作

    前段时间在做用户画像的时候,遇到了这样的一个问题,记录某一个商品的用户购买群,刚好这种需求就可以用到Redis中的Set,key作为productID,value 就是具体的customerid集合, ...

  3. Building the Testing Pipeline

    This essay is a part of my knowledge sharing session slides which are shared for development and qua ...

  4. Scrapy:为spider指定pipeline

    当一个Scrapy项目中有多个spider去爬取多个网站时,往往需要多个pipeline,这时就需要为每个spider指定其对应的pipeline. [通过程序来运行spider],可以通过修改配置s ...

  5. 图解Netty之Pipeline、channel、Context之间的数据流向。

    声明:本文为原创博文,禁止转载.       以下所绘制图形均基于Netty4.0.28版本. 一.connect(outbound类型事件)  当用户调用channel的connect时,会发起一个 ...

  6. 初识pipeline

    1.pipeline的产生 从一个现象说起,有一家咖啡吧生意特别好,每天来的客人络绎不绝,客人A来到柜台,客人B紧随其后,客人C排在客人B后面,客人D排在客人C后面,客人E排在客人D后面,一直排到店面 ...

  7. MongoDB 聚合管道(Aggregation Pipeline)

    管道概念 POSIX多线程的使用方式中, 有一种很重要的方式-----流水线(亦称为"管道")方式,"数据元素"流串行地被一组线程按顺序执行.它的使用架构可参考 ...

  8. SSIS Data Flow 的 Execution Tree 和 Data Pipeline

    一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...

  9. Kafka到Hdfs的数据Pipeline整理

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 找时间总结整理了下数据从Kafka到Hdfs的一些pipeline,如下 1> Kafka ...

随机推荐

  1. # iOS 10 适配 # 适配刷新控件 以MJRefresh 为例

    在iOS10中ScrollView 添加了一个refreshControl的东西 - - 不知道水果公司做了什么  导致原有的刷新控件类刷新后frame.y 向下偏移了20 起初以为是水果调整了sta ...

  2. iOS---A valid provisioning profile for this executable was not found

    把Target中的Code Signing Identity也设置成iPhone Develop就ok了,这样一切都说的通了,唯一不合理的就是在Project切换Code Signing Identi ...

  3. shell

    查看本机的shell有哪些 cat /etc/shells切换shell(zsh) chsh -s /bin/zsh 切换默认shell(bash) chsh -s /bin/bash  

  4. C语言递归,非递归实现翻转链表

    翻转链表作为,链表的常用操作,也是面试常遇到的. 分析非递归分析: 非递归用的小技巧比较多,很容易出错. 递归分析比较简单,在代码里面 代码: #include<stdio.h> #inc ...

  5. JS/JQuery针对不同类型元素的操作(radio、select、checkbox)

    一.select下拉框 I:javascript方法 1:获取选中的值 F1:   var  myselect=document.getElementById("test");或者 ...

  6. 【Python】用户登录三次锁定

    这是从另外一个博客考过了的,借鉴一下,怕下次找不到1 # -*- coding:utf-8 -*- 2 3 #登录三次锁定用户 4 5 #用于计数(循环三次的判断) 6 count = 0 7 8 # ...

  7. 笔记整理之BCP

    很多时候,需要批量的导数据,可能大家想到的第一反应就是右键数据库->任务->导入导出数据.但是其实微软自身提供的大容量导入导出工具,有bcp, bulkinsert 之类的也是很好用.今天 ...

  8. 使用Docker快速部署Storm环境

    Storm的部署虽然不是特别麻烦,但是在生产环境中,为了提高部署效率,方便管理维护,使用Docker来统一管理部署是一个不错的选择.下面是我开源的一个新的项目,一个配置好了storm与mono环境的D ...

  9. 基于Zabbix IPMI监控服务器硬件状况

    基于Zabbix IPMI监控服务器硬件状况 zabbix ipmi 公司有多个分部,且机房没有专业值班,机房等级不够.在这种情况下,又想实时监控机房环境,于是使用IPMI方式来达到目的.由于之前已经 ...

  10. Python 数据类型及其用法

    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁. 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串.整型.浮点型以及布尔类型.这些基本数据类型组 ...