Answers.Body: <p>I have used FEATnotator and I think it can provide all of the columns you would like to see. There are many output files generated, but the consolidated output has the following columns:</p>
  
  <ul>
  <li>Chromosome     </li>
  <li>Position       </li>
  <li>Column_3     </li>
  <li>Consensus_Allele </li>
  <li>Annotation_Signature   </li>
  <li>Reference_Base </li>
  <li>Alternate_Base </li>
  <li>Transition/Transversion SNP_Type       </li>
  <li>Premature_STOP_Gained   STOP_Lost      </li>
  <li>START_CODON    </li>
  <li>STOP_CODON     </li>
  <li>SPLICE_SITE </li>
  <li>InterGenic     </li>
  <li>Gene_Body      </li>
  <li>Intron </li>
  <li>Exon </li>
  <li>Coding </li>
  <li>UTR    </li>
  <li>Transcription_Start_Site      </li>
  <li>Nearest_gene   </li>
  <li>Distance</li>
  </ul>
  
  <p>here is some example output records from using a VCF, reference genome and GFF annotation file (sorry about the crappy formatting...there are a lot of fields!):</p>
  
  <pre><code>Chr01   28177   T       G       NA      T     G TRANSVERSION    NA      NO      NO      NO      NO      NO      YES     NO      NO      NO      NO      NO      NO      Eucgr.A00211.v2.0       16054
  Chr01   44876   C       G       gene:Eucgr.A00211.v2.0   mRNA:Eucgr.A00211.1.v2.0[intron]       C       G       TRANSVERSION    NA      NO      NO      NO      NO      NO      NO      YES     YES     NO      NO      NO      NO      NA  NA
  Chr01   46819   A       G       gene:Eucgr.A00211.v2.0   mRNA:Eucgr.A00211.1.v2.0   CDS:Eucgr.A00211.1.v2.0.CDS.4[AAA - K =&gt; GAA - E (MISSENSE)]   exon:Eucgr.A00211.1.v2.0.exon.4      A       G       TRANSITION      MISSENSE        NO  NO       NO      NO      NO      NO      YES   NO        YES     YES     NO      NO      NA      NA
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-11T06:50:40.807Z
Answers.LastActivityDate: 2017-08-11T13:28:51.170Z
Answers.LastEditDate: 2017-08-11T13:28:51.170Z
Answers.UserDisplayName: dkainer
Answers.Body: <p><a href="https://hail.is" rel="noreferrer">Hail</a> might be an option for you.</p>
  
  <p>It is actively developed by a growing team at the Broad.  It is rigorously tested (continuous integration, continuous deployment, bug reports get regression tests, blah blah blah).</p>
  
  <p>It was designed to solve this problem (among others).  It can import a variety of formats, including VCF, TSV, UCSC BED, JSON and interval files.  (We don't have explicit support for GFF, but we can probably handle them with general facilities.  If not, get in touch and we'll add support.)  It can call out to VEP (and soon Nirvana, Illumina's VEP rewrite).  It has general facilities to transform, filter, clean and query data.</p>
  
  <p>What's more, we've curated a large collection of annotation resources (currently ~22 databases of annotations + VEP), hosted in a public bucket in Google cloud, and built an interactive query builder to select which resources you want to use.  Get in touch if you'd like us to add additional resources.  You can read more about it <a href="https://hail.is/docs/stable/annotationdb.html" rel="noreferrer">here</a>.</p>
  
  <p>Disclaimer: I work on Hail.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-15T05:31:00.730Z
Answers.Text: I've left the accepted answer as FEATnotator, just because this appears to do exactly what I asked in the question. But I wanted to say thanks for letting me (us?) know about Hail, which certainly sounds extremely useful. The active development and openness to feature requests is a huge plus.
Answers.UserDisplayName: roblanf
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-14T04:20:37.817Z
Answers.LastActivityDate: 2017-08-14T04:20:37.817Z
Answers.UserDisplayName: Cotton Seed
Answers.Body: <p>snpEff is a great tool for annotating VCF files and you can add custom reference sequences.</p>
  
  <p><a href="http://snpeff.sourceforge.net/" rel="noreferrer">http://snpeff.sourceforge.net/</a></p>
  
  <p>Guide to add custom annotation files in snpEff</p>
  
  <p><a href="https://gatkforums.broadinstitute.org/gatk/discussion/50/adding-genomic-annotations-using-snpeff-and-variantannotator" rel="noreferrer">https://gatkforums.broadinstitute.org/gatk/discussion/50/adding-genomic-annotations-using-snpeff-and-variantannotator</a></p>
  
  <p>There are a bunch of pre curated annotation datasets available in their database.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-08-11T07:39:25.050Z
Answers.LastActivityDate: 2017-08-11T07:39:25.050Z
Answers.UserDisplayName: arup
Body: <p>The problem: I have a VCF file, a reference genome, and a bunch of annotations for the reference (genes, repeat regions, etc.) as GFF or BED files.</p>
  
  <p>What I would like is a tool that takes all of this as input and outputs a tab- or comma-delimited table containing as much information as possible. Potential columns in the output include:</p>
  
  <ol>
  <li>Type of variant (SNV, structural, etc)</li>
  <li>Details of variant (e.g. reference base, variant base, coverage, position, etc)</li>
  <li>Annotations overlapping variant</li>
  <li>Annotations near variant (e.g. is it just upstream of a gene)</li>
  <li>If it appears in a coding region, does it change the amino acid.</li>
  </ol>
  
  <p>There are many tools that do <em>something like this</em>. But to the newbie (like me) it is not clear which tools are worth starting with. Since the majority of tools take a little effort to get working in the first place, my question is:</p>
  
  <p>What tool comes closest to doing what I have described, is known to reliable, and is likely to be maintained for the next few years.</p>
  
Tags: <sequence-annotation><vcf>
Title: Tools to create annotated table of variants from VCF
ThreadText: # Tools to create annotated table of variants from VCF
  
  (Asked by: username_0 on 2017-08-10)
  
  The problem: I have a VCF file, a reference genome, and a bunch of annotations for the reference (genes, repeat regions, etc.) as GFF or BED files.
  
  What I would like is a tool that takes all of this as input and outputs a tab- or comma-delimited table containing as much information as possible. Potential columns in the output include:
  
  1. Type of variant (SNV, structural, etc)
  2. Details of variant (e.g. reference base, variant base, coverage, position, etc)
  3. Annotations overlapping variant
  4. Annotations near variant (e.g. is it just upstream of a gene)
  5. If it appears in a coding region, does it change the amino acid.
  
  There are many tools that do *something like this*. But to the newbie (like me) it is not clear which tools are worth starting with. Since the majority of tools take a little effort to get working in the first place, my question is:
  
  What tool comes closest to doing what I have described, is known to reliable, and is likely to be maintained for the next few years.
  
  **Tags:** sequence-annotation, vcf
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-08-11. Score: 5 | Accepted answer
  
  I have used FEATnotator and I think it can provide all of the columns you would like to see. There are many output files generated, but the consolidated output has the following columns:
  
  * Chromosome
  * Position
  * Column\_3
  * Consensus\_Allele
  * Annotation\_Signature
  * Reference\_Base
  * Alternate\_Base
  * Transition/Transversion SNP\_Type
  * Premature\_STOP\_Gained STOP\_Lost
  * START\_CODON
  * STOP\_CODON
  * SPLICE\_SITE
  * InterGenic
  * Gene\_Body
  * Intron
  * Exon
  * Coding
  * UTR
  * Transcription\_Start\_Site
  * Nearest\_gene
  * Distance
  
  here is some example output records from using a VCF, reference genome and GFF annotation file (sorry about the crappy formatting...there are a lot of fields!):
  
  ```
  Chr01   28177   T       G       NA      T     G TRANSVERSION    NA      NO      NO      NO      NO      NO      YES     NO      NO      NO      NO      NO      NO      Eucgr.A00211.v2.0       16054
  Chr01   44876   C       G       gene:Eucgr.A00211.v2.0   mRNA:Eucgr.A00211.1.v2.0[intron]       C       G       TRANSVERSION    NA      NO      NO      NO      NO      NO      NO      YES     YES     NO      NO      NO      NO      NA  NA
  Chr01   46819   A       G       gene:Eucgr.A00211.v2.0   mRNA:Eucgr.A00211.1.v2.0   CDS:Eucgr.A00211.1.v2.0.CDS.4[AAA - K => GAA - E (MISSENSE)]   exon:Eucgr.A00211.1.v2.0.exon.4      A       G       TRANSITION      MISSENSE        NO  NO       NO      NO      NO      NO      YES   NO        YES     YES     NO      NO      NA      NA
  
  ```
  
  
  ---
  
  ### Answer by username_2 on 2017-08-14. Score: 9
  
  [Hail](https://hail.is) might be an option for you.
  
  It is actively developed by a growing team at the Broad. It is rigorously tested (continuous integration, continuous deployment, bug reports get regression tests, blah blah blah).
  
  It was designed to solve this problem (among others). It can import a variety of formats, including VCF, TSV, UCSC BED, JSON and interval files. (We don't have explicit support for GFF, but we can probably handle them with general facilities. If not, get in touch and we'll add support.) It can call out to VEP (and soon Nirvana, Illumina's VEP rewrite). It has general facilities to transform, filter, clean and query data.
  
  What's more, we've curated a large collection of annotation resources (currently ~22 databases of annotations + VEP), hosted in a public bucket in Google cloud, and built an interactive query builder to select which resources you want to use. Get in touch if you'd like us to add additional resources. You can read more about it [here](https://hail.is/docs/stable/annotationdb.html).
  
  Disclaimer: I work on Hail.
  
  > **Comments:**
  > **username_0**: I've left the accepted answer as FEATnotator, just because this appears to do exactly what I asked in the question. But I wanted to say thanks for letting me (us?) know about Hail, which certainly sounds extremely useful. The active development and openness to feature requests is a huge plus.  
  
  ---
  
  ### Answer by username_3 on 2017-08-11. Score: 5
  
  snpEff is a great tool for annotating VCF files and you can add custom reference sequences.
  
  <http://snpeff.sourceforge.net/>
  
  Guide to add custom annotation files in snpEff
  
  <https://gatkforums.broadinstitute.org/gatk/discussion/50/adding-genomic-annotations-using-snpeff-and-variantannotator>
  
  There are a bunch of pre curated annotation datasets available in their database.
  
  
  ---
  
  