{"id":4507,"date":"2020-07-19T22:18:35","date_gmt":"2020-07-19T20:18:35","guid":{"rendered":"https:\/\/myoceane.fr\/?p=4507"},"modified":"2020-07-21T14:01:12","modified_gmt":"2020-07-21T12:01:12","slug":"vcf-variant-calling-format","status":"publish","type":"post","link":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/","title":{"rendered":"VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p style=\"text-align: justify;\">\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5<a href=\"https:\/\/weitinglin.com\/2017\/05\/29\/vcfvariant-call-format-%e5%9f%ba%e5%9b%a0%e7%aa%81%e8%ae%8a%e8%b3%87%e6%96%99%e5%84%b2%e5%ad%98%e6%a0%bc%e5%bc%8f\/\">\u53c3\u8003\u9023\u7d50<\/a>\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u6210\u4ee5\u4e0b\u7684\u6a23\u5b50\uff1a<\/p>\n<pre class=\"lang:adddarkplain\">##fileformat=VCFv4.3\n##fileDate=20090805\n##source=myImputationProgramV3.1\n##reference=file:\/\/\/seq\/references\/1000GenomesPilot-NCBI36.fasta\n##contig=&lt;ID=20,length=62435964,assembly=B36,md5=f126cdf8a6e0c7f379d618ff66beb2da,species=\"Homo sapiens\",taxonomy=x&gt;\n##phasing=partial\n##INFO=&lt;ID=NS,Number=1,Type=Integer,Description=\"Number of Samples With Data\"&gt;\n##INFO=&lt;ID=DP,Number=1,Type=Integer,Description=\"Total Depth\"&gt;\n##INFO=&lt;ID=AF,Number=A,Type=Float,Description=\"Allele Frequency\"&gt;\n##INFO=&lt;ID=AA,Number=1,Type=String,Description=\"Ancestral Allele\"&gt;\n##INFO=&lt;ID=DB,Number=0,Type=Flag,Description=\"dbSNP membership, build 129\"&gt;\n##INFO=&lt;ID=H2,Number=0,Type=Flag,Description=\"HapMap2 membership\"&gt;\n##FILTER=&lt;ID=q10,Description=\"Quality below 10\"&gt;\n##FILTER=&lt;ID=s50,Description=\"Less than 50% of samples have data\"&gt;\n##FORMAT=&lt;ID=GT,Number=1,Type=String,Description=\"Genotype\"&gt;\n##FORMAT=&lt;ID=GQ,Number=1,Type=Integer,Description=\"Genotype Quality\"&gt;\n##FORMAT=&lt;ID=DP,Number=1,Type=Integer,Description=\"Read Depth\"&gt;\n##FORMAT=&lt;ID=HQ,Number=2,Type=Integer,Description=\"Haplotype Quality\"&gt;\n#CHROM POS      ID         REF   ALT    QUAL  FILTER   INFO                             FORMAT       NA00001         NA00002          NA00003\n20     14370    rs6054257  G     A      29    PASS    NS=3;DP=14;AF=0.5;DB;H2           GT:GQ:DP:HQ  0|0:48:1:51,51  1|0:48:8:51,51   1\/1:43:5:.,.\n20     17330    .          T     A      3     q10     NS=3;DP=11;AF=0.017               GT:GQ:DP:HQ  0|0:49:3:58,50  0|1:3:5:65,3     0\/0:41:3\n20     1110696  rs6040355  A     G,T    67    PASS    NS=2;DP=10;AF=0.333,0.667;AA=T;DB GT:GQ:DP:HQ  1|2:21:6:23,27  2|1:2:0:18,2     2\/2:35:4\n20     1230237  .          T     .      47    PASS    NS=3;DP=13;AA=T                   GT:GQ:DP:HQ  0|0:54:7:56,60  0|0:48:4:51,51   0\/0:61:2\n20     1234567  microsat1  GTC   G,GTCT 50    PASS    NS=3;DP=9;AA=G                    GT:GQ:DP     0\/1:35:4        0\/2:17:2         1\/1:40:3<\/pre>\n<p>REF\b\uff1a\u57fa\u56e0\u516c\u7248 Reference \u4e0a\u9762\u7684\u6838\u82f7\u9178\u5e8f\u5217\u3002<br \/>\nALT\uff1asample \u4e0a\u9762\u5448\u73fe\u7684\u6838\u82f7\u9178\uff0c\u53ef\u80fd\u6703\u6709\u4e00\u500b\u4ee5\u4e0a\uff0c\u6216\u662f\u4e00\u6574\u500b\u5e8f\u5217\u7684\u8b8a\u7570\u3002<br \/>\nCommon Format \u88e1\u9762\u901a\u5e38\u5305\u542b\u4ee5\u4e0b\u7684\u503c\uff08<a href=\"https:\/\/gatkforums.broadinstitute.org\/gatk\/discussion\/1268\/what-is-a-vcf-and-how-should-i-interpret-it\">\u53c3\u8003<\/a>\uff09\uff1a<\/p>\n<ul>\n<li>GT (Genotype) \u9019\u908a\u9700\u8981\u6ce8\u610f\u7531\u65bc\u4eba\u985e\u662f\u5169\u500d\u9ad4\u57fa\u56e0 \uff08\u96d9\u5957\u67d3\u8272\u9ad4\uff09\n<ul>\n<li>0\/0: homozygous reference.<\/li>\n<li>0\/1\b: heterozygous, one from reference, one from alternate.<\/li>\n<li>1\/1: homozygous alternate.<\/li>\n<li>NA: \u6c92\u6709\u8a0a\u606f<\/li>\n<\/ul>\n<\/li>\n<li>AD (Allele Depth), DP (Filtered Depth) \u662f\u5169\u500b\u91cd\u8981\u7684\u6307\u6a19\u6a19\u793a\u9019\u500b\u9ede\u4f4d\u7684\u6df1\u5ea6\uff0c\u4e5f\u5c31\u662f\u5728 Read Mapping \u7684\u6642\u5019\u5be6\u969b\u4e0a Map \u5230\u7684\u6b21\u6578\uff0c\u6709\u4e00\u4e9b Read Mapping \u6703\u6709 Filtered \u7684\u8a2d\u5b9a\u9020\u6210 AD \u8207 DP \u7684\u5dee\u7570\uff01\n<ul>\n<li>AD: [4,0]<\/li>\n<li>DP: 4<\/li>\n<\/ul>\n<\/li>\n<li>PL (Phred-scaled likelihoods of the possible genotypes)<br \/>\n\u5047\u8a2d\u662f\u5c0d ALT \u53ea\u6709\u4e00\u500b\u503c\u7684\u60c5\u6cc1\u4e4b\u4e0b\uff0cPL \u6703\u6709\u4e09\u500b\u503c\u5206\u5225\u70ba 0\/0, 0\/1, 1\/1 \u5982\u679c ALT \u6709\u5169\u500b\u8b80\u503c\uff0c\u5247 PL \u6703\u6709\u4e0d\u540c\u7684\u5448\u73fe\u65b9\u5f0f\uff01<\/li>\n<li>GQ (Quality of the assigned genotype)<br \/>\n\u985e\u4f3c PL \u544a\u77e5 GT \u7684\u53ef\u4fe1\u8cf4\u5ea6\uff01<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">\u5229\u7528\u4ee5\u4e0b\u7684\u8cc7\u6599\u4f5c\u70ba\u4f8b\u5b50\uff0c\u5728 873762 \u7684\u9ede\u4f4d\u4e0a\uff0c\u516c\u7248\u662f T\uff0c\u6a23\u672c\u89c0\u5bdf\u5230\u8b8a\u7570\u70ba G\uff0cGT \u986f\u793a\u7b49\u4f4d\u57fa\u56e0\u5448\u73fe heterogyzous \u4e5f\u5c31\u662f\u8aaa\u4e00\u500b\u662f T \u4e00\u500b\u662f G\uff0c\u4ed6\u5011\u5404\u81ea\u7684 AD \u70ba 173 \u548c 141\uff0c\u5408\u8a08 DP \u70ba 282\uff0c\u61c9\u8a72\u662f 173+141 \u4e4b\u5f8c\u518d\u7be9\u9078\u6389\u4e00\u4e9b\uff0cGQ \u70ba 99 \u4ee3\u8868\u975e\u5e38\u78ba\u5b9a\u5c31\u662f 0\/1 \u7684\u57fa\u56e0\u578b\uff0c0\/0, 0\/1, 1\/1 \u5404\u81ea\u7684\u6b63\u898f\u5316 likelihoods \u503c\uff1f<\/p>\n<pre class=\"lang:bash\">CHROM  POS    ID         REF ALT QUAL FILTER INFO FORMAT         NA12878 \n1      873762 .          T   G   [CLIPPED]        GT:AD:DP:GQ:PL 0\/1:173,141:282:99:255,0,255 \n1      877664 rs3828047  A   G   [CLIPPED]        GT:AD:DP:GQ:PL 1\/1:0,105:94:99:255,255,0 \n1      899282 rs28548431 C   T   [CLIPPED]        GT:AD:DP:GQ:PL 0\/1:1,3:4:26:103,0,26<\/pre>\n<h4>\u5982\u679c\u60f3\u8981\u4fee\u6539 VCF \u5167\u90e8\u7684\u5167\u5bb9\u7684\u8a71\u61c9\u8a72\u8981\u600e\u9ebc\u505a\u5462\uff1f<\/h4>\n<h6>\u65b9\u6cd5\u4e00 (\u89e3\u58d3\u7e2e\u4fee\u6539\u5f8c\u518d\u91cd\u65b0\u58d3\u7e2e)\uff1a<\/h6>\n<pre class=\"lang:bash\">gzip -d example.vcf.gz<\/pre>\n<p>\u6b64\u6642\u6703\u5f97\u5230\u4e00\u500b example.vcf \u6a94\u6848\uff0c\u53ef\u4ee5\u900f\u904e vim \u4fee\u6539\uff0c\u4e0d\u904e\u8981\u7279\u5225\u6ce8\u610f\u8981 Header \u88e1\u9762\u7684 Column Name \u4e4b\u9593\u9700\u8981\u7528 Tab \u9694\u958b\u5728\u4fee\u6539\u7684\u6642\u5019\u8981\u6ce8\u610f\uff0c\u63a5\u4e0b\u4f86\u9700\u8981\u4f7f\u7528\u4ee5\u4e0b\u7684\u6307\u4ee4\u9032\u884c\u58d3\u7e2e(<a href=\"https:\/\/www.biostars.org\/p\/285825\/\">\u53c3\u8003\u9023\u7d50<\/a>)\uff1a<\/p>\n<pre class=\"lang:bash\">bgzip example.vcf<\/pre>\n<p>\u5099\u8a3b\uff1a\u9019\u908a\u4e0d\u80fd\u5920\u4f7f\u7528 gzip \u6216\u662f gunzip \b\u7b49\u7b49\u7684\u58d3\u7e2e\u65b9\u5f0f\uff0c\u5426\u5247\u6703\u5728\u8b80\u53d6\u7684\u6642\u5019\u6703\u51fa\u73fe\u4ee5\u4e0b\u7684\u932f\u8aa4 (java.util.zip.ZipException: File does not conform to block gzip format.)\uff1a<\/p>\n<pre class=\"lang:python\">Traceback (most recent call last):\n  File \"&lt;stdin&gt;\", line 1, in &lt;module&gt;\n  File \"\/usr\/local\/lib\/python3.7\/dist-packages\/hail\/matrixtable.py\", line 2428, in count\n    return Env.backend().execute(ir)\n  File \"\/usr\/local\/lib\/python3.7\/dist-packages\/hail\/backend\/backend.py\", line 208, in execute\n    result = json.loads(self._jhc.backend().executeJSON(jir))\n  File \"\/home\/spark-current\/python\/lib\/py4j-0.10.7-src.zip\/py4j\/java_gateway.py\", line 1257, in __call__\n  File \"\/usr\/local\/lib\/python3.7\/dist-packages\/hail\/utils\/java.py\", line 211, in deco\n    'Error summary: %s' % (deepest, full, hail.__version__, deepest)) from None\nhail.utils.java.FatalError: ZipException: File does not conform to block gzip format.\n\nJava stack trace:\njava.lang.RuntimeException: error while applying lowering 'InterpretNonCompilable'\n\tat is.hail.expr.ir.lowering.LoweringPipeline$anonfun$apply$1.apply(LoweringPipeline.scala:26)\n\tat is.hail.expr.ir.lowering.LoweringPipeline$anonfun$apply$1.apply(LoweringPipeline.scala:18)\n\tat scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)\n\tat scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)\n\tat is.hail.expr.ir.lowering.LoweringPipeline.apply(LoweringPipeline.scala:18)\n\tat is.hail.expr.ir.CompileAndEvaluate$._apply(CompileAndEvaluate.scala:28)\n\tat is.hail.backend.spark.SparkBackend.is$hail$backend$spark$SparkBackend$_execute(SparkBackend.scala:297)\n\tat is.hail.backend.spark.SparkBackend$anonfun$execute$1.apply(SparkBackend.scala:284)\n\tat is.hail.backend.spark.SparkBackend$anonfun$execute$1.apply(SparkBackend.scala:283)\n\tat is.hail.expr.ir.ExecuteContext$anonfun$scoped$1.apply(ExecuteContext.scala:15)\n\tat is.hail.expr.ir.ExecuteContext$anonfun$scoped$1.apply(ExecuteContext.scala:13)\n\tat is.hail.utils.package$.using(package.scala:604)\n\tat is.hail.annotations.Region$.scoped(Region.scala:18)\n\tat is.hail.expr.ir.ExecuteContext$.scoped(ExecuteContext.scala:13)\n\tat is.hail.expr.ir.ExecuteContext$.scoped(ExecuteContext.scala:10)\n\tat is.hail.backend.spark.SparkBackend.execute(SparkBackend.scala:283)\n\tat is.hail.backend.spark.SparkBackend.executeJSON(SparkBackend.scala:303)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\n\tat py4j.Gateway.invoke(Gateway.java:282)\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\n\tat java.lang.Thread.run(Thread.java:748)\n\norg.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 35.0 failed 1 times, most recent failure: Lost task 1.0 in stage 35.0 (TID 1433, localhost, executor driver): java.util.zip.ZipException: File does not conform to block gzip format.\n\tat is.hail.io.compress.BGzipInputStream$BGzipHeader.&lt;init&gt;(BGzipInputStream.java:36)\n\tat is.hail.io.compress.BGzipInputStream.decompressNextBlock(BGzipInputStream.java:150)\n\tat is.hail.io.compress.BGzipInputStream.&lt;init&gt;(BGzipInputStream.java:111)\n\tat is.hail.io.compress.BGzipCodec.createInputStream(BGzipCodec.java:46)\n\tat org.apache.hadoop.mapred.LineRecordReader.&lt;init&gt;(LineRecordReader.java:113)\n\tat org.apache.hadoop.mapred.TextInputFormat.getRecordReader(TextInputFormat.java:67)\n\tat org.apache.spark.rdd.HadoopRDD$anon$1.liftedTree1$1(HadoopRDD.scala:267)\n\tat org.apache.spark.rdd.HadoopRDD$anon$1.&lt;init&gt;(HadoopRDD.scala:266)\n\tat org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:224)\n\tat org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:95)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)\n\tat org.apache.spark.scheduler.Task.run(Task.scala:121)\n\tat org.apache.spark.executor.Executor$TaskRunner$anonfun$10.apply(Executor.scala:408)\n\tat org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)\n\tat org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n\nDriver stacktrace:\n\tat org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$failJobAndIndependentStages(DAGScheduler.scala:1889)\n\tat org.apache.spark.scheduler.DAGScheduler$anonfun$abortStage$1.apply(DAGScheduler.scala:1877)\n\tat org.apache.spark.scheduler.DAGScheduler$anonfun$abortStage$1.apply(DAGScheduler.scala:1876)\n\tat scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)\n\tat scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)\n\tat org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1876)\n\tat org.apache.spark.scheduler.DAGScheduler$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:926)\n\tat org.apache.spark.scheduler.DAGScheduler$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:926)\n\tat scala.Option.foreach(Option.scala:257)\n\tat org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:926)\n\tat org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2110)\n\tat org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2059)\n\tat org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2048)\n\tat org.apache.spark.util.EventLoop$anon$1.run(EventLoop.scala:49)\n\tat org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:737)\n\tat org.apache.spark.SparkContext.runJob(SparkContext.scala:2061)\n\tat org.apache.spark.SparkContext.runJob(SparkContext.scala:2082)\n\tat org.apache.spark.SparkContext.runJob(SparkContext.scala:2114)\n\tat is.hail.sparkextras.ContextRDD.crunJobWithIndex(ContextRDD.scala:228)\n\tat is.hail.rvd.RVD$.getKeyInfo(RVD.scala:1226)\n\tat is.hail.rvd.RVD$.makeCoercer(RVD.scala:1301)\n\tat is.hail.io.vcf.MatrixVCFReader.coercer(LoadVCF.scala:1565)\n\tat is.hail.io.vcf.MatrixVCFReader.apply(LoadVCF.scala:1592)\n\tat is.hail.expr.ir.TableRead.execute(TableIR.scala:312)\n\tat is.hail.expr.ir.Interpret$anonfun$run$1.apply$mcJ$sp(Interpret.scala:598)\n\tat is.hail.expr.ir.Interpret$anonfun$run$1.apply(Interpret.scala:598)\n\tat is.hail.expr.ir.Interpret$anonfun$run$1.apply(Interpret.scala:598)\n\tat scala.Option.getOrElse(Option.scala:121)\n\tat is.hail.expr.ir.Interpret$.run(Interpret.scala:598)\n\tat is.hail.expr.ir.Interpret$.alreadyLowered(Interpret.scala:53)\n\tat is.hail.expr.ir.InterpretNonCompilable$.interpretAndCoerce$1(InterpretNonCompilable.scala:16)\n\tat is.hail.expr.ir.InterpretNonCompilable$.is$hail$expr$ir$InterpretNonCompilable$rewrite$1(InterpretNonCompilable.scala:53)\n\tat is.hail.expr.ir.InterpretNonCompilable$anonfun$1.apply(InterpretNonCompilable.scala:25)\n\tat is.hail.expr.ir.InterpretNonCompilable$anonfun$1.apply(InterpretNonCompilable.scala:25)\n\tat scala.collection.TraversableLike$anonfun$map$1.apply(TraversableLike.scala:234)\n\tat scala.collection.TraversableLike$anonfun$map$1.apply(TraversableLike.scala:234)\n\tat scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)\n\tat scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)\n\tat scala.collection.TraversableLike$class.map(TraversableLike.scala:234)\n\tat scala.collection.AbstractTraversable.map(Traversable.scala:104)\n\tat is.hail.expr.ir.InterpretNonCompilable$.rewriteChildren$1(InterpretNonCompilable.scala:25)\n\tat is.hail.expr.ir.InterpretNonCompilable$.is$hail$expr$ir$InterpretNonCompilable$rewrite$1(InterpretNonCompilable.scala:54)\n\tat is.hail.expr.ir.InterpretNonCompilable$.apply(InterpretNonCompilable.scala:58)\n\tat is.hail.expr.ir.lowering.InterpretNonCompilablePass$.transform(LoweringPass.scala:50)\n\tat is.hail.expr.ir.lowering.LoweringPass$anonfun$apply$3$anonfun$1.apply(LoweringPass.scala:15)\n\tat is.hail.expr.ir.lowering.LoweringPass$anonfun$apply$3$anonfun$1.apply(LoweringPass.scala:15)\n\tat is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:69)\n\tat is.hail.expr.ir.lowering.LoweringPass$anonfun$apply$3.apply(LoweringPass.scala:15)\n\tat is.hail.expr.ir.lowering.LoweringPass$anonfun$apply$3.apply(LoweringPass.scala:13)\n\tat is.hail.utils.ExecutionTimer.time(ExecutionTimer.scala:69)\n\tat is.hail.expr.ir.lowering.LoweringPass$class.apply(LoweringPass.scala:13)\n\tat is.hail.expr.ir.lowering.InterpretNonCompilablePass$.apply(LoweringPass.scala:45)\n\tat is.hail.expr.ir.lowering.LoweringPipeline$anonfun$apply$1.apply(LoweringPipeline.scala:20)\n\tat is.hail.expr.ir.lowering.LoweringPipeline$anonfun$apply$1.apply(LoweringPipeline.scala:18)\n\tat scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)\n\tat scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:35)\n\tat is.hail.expr.ir.lowering.LoweringPipeline.apply(LoweringPipeline.scala:18)\n\tat is.hail.expr.ir.CompileAndEvaluate$._apply(CompileAndEvaluate.scala:28)\n\tat is.hail.backend.spark.SparkBackend.is$hail$backend$spark$SparkBackend$_execute(SparkBackend.scala:297)\n\tat is.hail.backend.spark.SparkBackend$anonfun$execute$1.apply(SparkBackend.scala:284)\n\tat is.hail.backend.spark.SparkBackend$anonfun$execute$1.apply(SparkBackend.scala:283)\n\tat is.hail.expr.ir.ExecuteContext$anonfun$scoped$1.apply(ExecuteContext.scala:15)\n\tat is.hail.expr.ir.ExecuteContext$anonfun$scoped$1.apply(ExecuteContext.scala:13)\n\tat is.hail.utils.package$.using(package.scala:604)\n\tat is.hail.annotations.Region$.scoped(Region.scala:18)\n\tat is.hail.expr.ir.ExecuteContext$.scoped(ExecuteContext.scala:13)\n\tat is.hail.expr.ir.ExecuteContext$.scoped(ExecuteContext.scala:10)\n\tat is.hail.backend.spark.SparkBackend.execute(SparkBackend.scala:283)\n\tat is.hail.backend.spark.SparkBackend.executeJSON(SparkBackend.scala:303)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)\n\tat py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)\n\tat py4j.Gateway.invoke(Gateway.java:282)\n\tat py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)\n\tat py4j.commands.CallCommand.execute(CallCommand.java:79)\n\tat py4j.GatewayConnection.run(GatewayConnection.java:238)\n\tat java.lang.Thread.run(Thread.java:748)\n\njava.util.zip.ZipException: File does not conform to block gzip format.\n\tat is.hail.io.compress.BGzipInputStream$BGzipHeader.&lt;init&gt;(BGzipInputStream.java:36)\n\tat is.hail.io.compress.BGzipInputStream.decompressNextBlock(BGzipInputStream.java:150)\n\tat is.hail.io.compress.BGzipInputStream.&lt;init&gt;(BGzipInputStream.java:111)\n\tat is.hail.io.compress.BGzipCodec.createInputStream(BGzipCodec.java:46)\n\tat org.apache.hadoop.mapred.LineRecordReader.&lt;init&gt;(LineRecordReader.java:113)\n\tat org.apache.hadoop.mapred.TextInputFormat.getRecordReader(TextInputFormat.java:67)\n\tat org.apache.spark.rdd.HadoopRDD$anon$1.liftedTree1$1(HadoopRDD.scala:267)\n\tat org.apache.spark.rdd.HadoopRDD$anon$1.&lt;init&gt;(HadoopRDD.scala:266)\n\tat org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:224)\n\tat org.apache.spark.rdd.HadoopRDD.compute(HadoopRDD.scala:95)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)\n\tat org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324)\n\tat org.apache.spark.rdd.RDD.iterator(RDD.scala:288)\n\tat org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)\n\tat org.apache.spark.scheduler.Task.run(Task.scala:121)\n\tat org.apache.spark.executor.Executor$TaskRunner$anonfun$10.apply(Executor.scala:408)\n\tat org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)\n\tat org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)<\/pre>\n<h6>\u65b9\u6cd5\u4e8c (\u4e00\u6c23\u5475\u6210\u8655\u7406\u5b8c)\uff1a<\/h6>\n<p>\u6982\u5ff5\u8207\u65b9\u6cd5\u4e00\u985e\u4f3c\uff0c\u4f46\u662f\u628a\u6240\u6709\u7684\u6b65\u9a5f\u7528\u4e00\u500b\u6307\u4ee4\u8cab\u7a7f\u5b8c\u6210\uff0c\u4f8b\u5982\u4ee5\u4e0b\u7684\u6307\u4ee4\uff1a<\/p>\n<pre class=\"lang:bash\">zcat $f | sed 's:^chr::g' | sed 's:^M:MT:g' | bgzip &gt; $2$fileName<\/pre>\n<p>\u5982\u679c\u60f3\u8981\u6279\u6b21\u8655\u7406\u4e00\u500b\u76ee\u6a19\u8cc7\u6599\u593e\u88e1\u9762\u7684\u6240\u6709 .vcf.gz \u6a94\u7684\u8a71\u53ef\u4ee5\u53c3\u8003\u4ee5\u4e0b\u7684\u505a\u6cd5\u3002<\/p>\n<pre class=\"lang:bash\">FileFolder=$1\nDestFolder=$2\n\nfor f in $FileFolder;\ndo\n    echo \"Start to proceed: \"$f\n    fileName=$(basename $f suffix)\n    zcat $f | sed 's:^chr::g' | sed 's:^M:MT:g' | bgzip &gt; $2$fileName\ndone<\/pre>\n<h5>gVCF &#8211; Genomic VCF (\u53c3\u8003\u9023\u7d50)<\/h5>\n<p>gVCF \u8207 VCF \u6700\u4e3b\u8981\u7684\u5dee\u7570\u5728\u65bc VCF \u53ea\u8a18\u9304\u6709\u8b8a\u7570\u7684\u57fa\u56e0\u9ede\u4f4d(variant site record)\uff0cgVCF \u5247\u662f\u6703\u53e6\u5916\u8a18\u9304\u6c92\u6709\u8b8a\u7570\u7684\u9ede\u4f4d(non-var block record)\uff0c\u9019\u6a23\u505a\u7684\u597d\u8655\u662f\u5728\u5206\u6790 cohort \u4e5f\u5c31\u662f\u4e00\u7fa4\u6a23\u672c\u7684\u6642\u5019\u6bd4\u8f03\u597d\u505a join \u7684\u904b\u7b97\uff01\u4e00\u822c\u4f86\u8aaa gVCF \u662f\u7531 GATK version 3.0 \u4e2d\u7684 HaplotypeCaller \u751f\u7522\u51fa\u4f86\u7684\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u6210\u4ee5\u4e0b\u7684\u6a23\u5b50<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[337,16,14],"tags":[854,853,855],"class_list":["post-4507","post","type-post","status-publish","format-standard","hentry","category-bioinformatics","category-health","category-it-technology","tag-variant-calling-format","tag-vcf","tag-855"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane<\/title>\n<meta name=\"description\" content=\"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\" \/>\n<meta property=\"og:description\" content=\"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50\" \/>\n<meta property=\"og:url\" content=\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\" \/>\n<meta property=\"og:site_name\" content=\"\u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-19T20:18:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-07-21T12:01:12+00:00\" \/>\n<meta name=\"author\" content=\"\u6ab8\u6aac\u7238\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6ab8\u6aac\u7238\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\"},\"author\":{\"name\":\"\u6ab8\u6aac\u7238\",\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"headline\":\"VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\",\"datePublished\":\"2020-07-19T20:18:35+00:00\",\"dateModified\":\"2020-07-21T12:01:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\"},\"wordCount\":123,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"keywords\":[\"Variant Calling Format\",\"VCF\",\"\u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\"],\"articleSection\":[\"BioInformatics\",\"Health \u5065\u5eb7\u4fdd\u5065\",\"IT Technology\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\",\"url\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\",\"name\":\"VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane\",\"isPartOf\":{\"@id\":\"https:\/\/myoceane.fr\/#website\"},\"datePublished\":\"2020-07-19T20:18:35+00:00\",\"dateModified\":\"2020-07-21T12:01:12+00:00\",\"description\":\"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50\",\"breadcrumb\":{\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/myoceane.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/myoceane.fr\/#website\",\"url\":\"https:\/\/myoceane.fr\/\",\"name\":\"M-Y-Oceane \u60f3\u65b9\u6d89\u6cd5\u3002\u91cf\u74f6\u5916\u7684\u5929\u7a7a\",\"description\":\"\u60f3\u65b9\u6d89\u6cd5, France, Taiwan, Health, Information Technology\",\"publisher\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/myoceane.fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b\",\"name\":\"\u6ab8\u6aac\u7238\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g\",\"caption\":\"\u6ab8\u6aac\u7238\"},\"logo\":{\"@id\":\"https:\/\/myoceane.fr\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/myoceane.fr\/index.php\/author\/johnny5584767gmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","description":"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/","og_locale":"en_US","og_type":"article","og_title":"VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","og_description":"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50","og_url":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/","og_site_name":"\u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","article_published_time":"2020-07-19T20:18:35+00:00","article_modified_time":"2020-07-21T12:01:12+00:00","author":"\u6ab8\u6aac\u7238","twitter_card":"summary_large_image","twitter_misc":{"Written by":"\u6ab8\u6aac\u7238","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#article","isPartOf":{"@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/"},"author":{"name":"\u6ab8\u6aac\u7238","@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"headline":"VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f","datePublished":"2020-07-19T20:18:35+00:00","dateModified":"2020-07-21T12:01:12+00:00","mainEntityOfPage":{"@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/"},"wordCount":123,"commentCount":1,"publisher":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"keywords":["Variant Calling Format","VCF","\u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f"],"articleSection":["BioInformatics","Health \u5065\u5eb7\u4fdd\u5065","IT Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/","url":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/","name":"VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f - \u60f3\u65b9\u6d89\u6cd5 - \u91cf\u74f6\u5916\u7684\u5929\u7a7a M-Y-Oceane","isPartOf":{"@id":"https:\/\/myoceane.fr\/#website"},"datePublished":"2020-07-19T20:18:35+00:00","dateModified":"2020-07-21T12:01:12+00:00","description":"\u751f\u7269\u8cc7\u8a0a\u9818\u57df\u662f\u8fd1\u5e7e\u5e74\u4f86\u5f88\u71b1\u9580\u7684\u4e00\u500b\u9818\u57df\uff0c\u672c\u7bc7\u7d00\u9304\u6709\u95dc VCF - Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f\u6a94\u6848\u7684\u8655\u7406\u904e\u7a0b\uff0c\u6709\u95dc\u65bc VCF \u7684\u7c21\u55ae\u4ecb\u7d39\u53ef\u4ee5\u53c3\u8003\u9023\u7d50\uff0c\u4e5f\u53ef\u4ee5\u53c3\u8003\u00a0 Wikipedia \u88e1\u9762\u95dc\u65bc VCF \u7684\u4ecb\u7d39\uff0c\u4e00\u500b VCF \u6a94\u6848\u5927\u81f4\u4e0a\u9577\u7a0b\u4ee5\u4e0b\u7684\u6a23\u5b50","breadcrumb":{"@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/myoceane.fr\/index.php\/vcf-variant-calling-format\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/myoceane.fr\/"},{"@type":"ListItem","position":2,"name":"VCF &#8211; Variant Calling Format \u57fa\u56e0\u8b8a\u7570\u5132\u5b58\u683c\u5f0f"}]},{"@type":"WebSite","@id":"https:\/\/myoceane.fr\/#website","url":"https:\/\/myoceane.fr\/","name":"M-Y-Oceane \u60f3\u65b9\u6d89\u6cd5\u3002\u91cf\u74f6\u5916\u7684\u5929\u7a7a","description":"\u60f3\u65b9\u6d89\u6cd5, France, Taiwan, Health, Information Technology","publisher":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/myoceane.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/4a4552fb8c27693083d465e12db7658b","name":"\u6ab8\u6aac\u7238","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/myoceane.fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6cc678684664f8ad45a8d56a6630b183?s=96&d=mm&r=g","caption":"\u6ab8\u6aac\u7238"},"logo":{"@id":"https:\/\/myoceane.fr\/#\/schema\/person\/image\/"},"url":"https:\/\/myoceane.fr\/index.php\/author\/johnny5584767gmail-com\/"}]}},"amp_enabled":false,"_links":{"self":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/4507","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/comments?post=4507"}],"version-history":[{"count":53,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/4507\/revisions"}],"predecessor-version":[{"id":6102,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/posts\/4507\/revisions\/6102"}],"wp:attachment":[{"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/media?parent=4507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/categories?post=4507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myoceane.fr\/index.php\/wp-json\/wp\/v2\/tags?post=4507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}