{"id":302,"date":"2024-10-21T14:22:54","date_gmt":"2024-10-21T06:22:54","guid":{"rendered":"https:\/\/www.kz-hub.tech\/?p=302"},"modified":"2026-02-09T09:59:35","modified_gmt":"2026-02-09T01:59:35","slug":"mutect2-tumor-only-mode","status":"publish","type":"post","link":"https:\/\/www.kz-hub.tech\/index.php\/2024\/10\/21\/mutect2-tumor-only-mode\/","title":{"rendered":"\u57fa\u56e0\u7ec4 Tumor-only mode &#8211; Mutect2\/CNVkit"},"content":{"rendered":"<h2>Mutect2<\/h2>\n<p>\u5b98\u65b9\u811a\u672c\u6a21\u677f\uff1a<\/p>\n<pre><code class=\"language-bash\">  gatk Mutect2 \\\n  -R reference.fa \\\n  -I sample.bam \\\n  --germline-resource af-only-gnomad.vcf.gz \\\n  --panel-of-normals pon.vcf.gz \\\n  -O single_sample.vcf.gz<\/code><\/pre>\n<h4>\u6784\u5efa\u6279\u91cf\u4ee3\u7801<\/h4>\n<pre><code class=\"language-bash\">ls ..\/align\/*_bqsr.bam | perl -ne &#039;chomp; if($_ =~ \/([^\\\/]+)_bqsr\\.bam\/) { print &quot;gatk --java-options \\&quot;-Xmx20G -Djava.io.tmpdir=.\/\\&quot; Mutect2 -R \/data02\/zhangmengmeng\/database\/hg38\/hg38.fa -I ..\/align\/$1_bqsr.bam -L \/data02\/zhangmengmeng\/database\/gatk_resource_bundle\/hg38\/AgilentV6_GRCh38_ex_region.sort.bed --germline-resource \/data02\/zhangmengmeng\/database\/gatk_resource_bundle\/hg38\/somatic-hg38_af-only-gnomad.hg38.vcf.gz --panel-of-normals \/data02\/zhangmengmeng\/database\/gatk_resource_bundle\/hg38\/somatic-hg38_1000g_pon.hg38.vcf.gz --f1r2-tar-gz $1.f1r2.tar.gz --O $1.raw.vcf &amp;&amp; gatk LearnReadOrientationModel -I $1.f1r2.tar.gz -O $1.read-orientation-model.tar.gz &amp;&amp; gatk GetPileupSummaries -I ..\/align\/$1_bqsr.bam -L \/data02\/zhangmengmeng\/database\/gatk_resource_bundle\/hg38\/AgilentV6_GRCh38_ex_region.sort.bed -V \/data02\/zhangmengmeng\/database\/gatk_resource_bundle\/hg38\/somatic-hg38_af-only-gnomad.hg38.vcf.gz -O $1.pileups.table &amp;&amp; gatk CalculateContamination -I $1.pileups.table -O $1.CalculateContamination.table &amp;&amp; gatk FilterMutectCalls -R \/data02\/zhangmengmeng\/database\/hg38\/hg38.fa -V $1.raw.vcf --contamination-table $1.CalculateContamination.table --ob-priors $1.read-orientation-model.tar.gz -O $1.somatic.vcf &amp;&amp; gatk FilterAlignmentArtifacts -R \/data02\/zhangmengmeng\/database\/hg38\/hg38.fa --bwa-mem-index-image \/data02\/zhangmengmeng\/database\/hg38\/hg38.fa.img -V $1.somatic.vcf -O $1.somatic.FAA.vcf -I ..\/align\/$1_bqsr.bam &amp;&amp; awk \\x27\/^#\/ {print \\$0; next} \\$7==\\x22PASS\\x22  {print \\$0}\\x27 $1.somatic.FAA.vcf &gt; .\/$1.somatic.passed.vcf  &amp;&amp; echo $1 ok\\n&quot; }&#039; &gt; mutect2_TumorOnly.sh<\/code><\/pre>\n<h4>annovar \u6ce8\u91ca<\/h4>\n<pre><code>ls *.somatic.passed.vcf | perl -ne &#039;chomp; my $name = $1 if ($_ =~ \/([^\\\/]+)\\.somatic\\.passed\\.vcf\/); print &quot;table_annovar.pl $name.somatic.passed.vcf \/home\/zhoukaiwen\/database\/Annovar\/humandb_hg38 -buildver hg38 -out $name.somatic.passed -remove -protocol refGene,cytoBand,avsnp151,exac03,gnomad41_exome,EAS.sites.2015_08,cosmic102_unique -operation g,r,f,f,f,f,f -nastring . -vcfinput \\n&quot;&#039;&gt;annovar.sh<\/code><\/pre>\n<h2>CNVkit<\/h2>\n<h4>\u6784\u5efa\u6b63\u5e38\u5bf9\u7167<\/h4>\n<pre><code># \u521d\u6b65\u5212\u5206bin\uff0c\u7ed9\u6bcf\u4e2abin\u589e\u52a0\u57fa\u56e0\u540d\u79f0\u6ce8\u91ca\uff0c\u6709\u5229\u4e8e\u7ed3\u679c\u5c55\u793a\ncnvkit.py target ..\/GRCh38\/genecode_GRCh38.p14.genome.interval.bed --annotate refFlat_hg38.txt --split -o genecode_GRCh38.p14.genome.interval_cnvkit_target.bed\n\n# \u6839\u636e\u6837\u672c\u6d4b\u5e8f\u6df1\u5ea6\u81ea\u52a8\u5212\u5206bin(\u53ef\u9009)\ncnvkit.py autobin Tumor.bam -t \/home\/zhoukaiwen\/database\/cnvkit\/genecode_GRCh38.p14.genome.interval_cnvkit_target.bed # \u4f1a\u751f\u6210my_targets.target.bed\u548cmy_targets.antitarget.bed\ncnvkit.py reference -o Tumor_FlatReference.cnn -f hg38.fa -t Tumor_targets.target.bed\n\n# \u76f4\u63a5\u751f\u6210FlatReference.cnn\ncnvkit.py reference -o FlatReference.cnn -f ..\/GRCh38\/genecode_GRCh38.p14.genome.fa -t genecode_GRCh38.p14.genome_cnvkit.target.bed<\/code><\/pre>\n<h4>\u8fd0\u884cCNVkit Tumor-only mode<\/h4>\n<pre><code>cnvkit.py batch Tumor.bam -r FlatReference.cnn<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Mutect2 \u5b98\u65b9\u811a\u672c\u6a21\u677f\uff1a gatk Mutect2 \\ -R reference.fa \\ -I sam&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-302","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/posts\/302","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/comments?post=302"}],"version-history":[{"count":15,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/posts\/302\/revisions"}],"predecessor-version":[{"id":684,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/posts\/302\/revisions\/684"}],"wp:attachment":[{"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/media?parent=302"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/categories?post=302"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kz-hub.tech\/index.php\/wp-json\/wp\/v2\/tags?post=302"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}