text: user156: 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:
  
  Type of variant (SNV, structural, etc)
  Details of variant (e.g. reference base, variant base, coverage, position, etc)
  Annotations overlapping variant
  Annotations near variant (e.g. is it just upstream of a gene)
  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.
  
  user1281: 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
  
  
  user206: 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.
  
  user1024: Hail 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.
  Disclaimer: I work on Hail.
  
original_text: 156: <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>
   1281: <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>
   206: <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>
   1024: <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>
  