Answers.Body: <p>If you're referring to left alignment + parsimonious representation, do it before any annotation. Most if not all annotation happens by comparing CHROM, POS and optionally REF and ALT and since vt normalize affects POS, you should do it before annotation.</p>
  <p>I'm not sure how smart VEP is, but most annotators are simple lookup tools at least for third party databases, so they're not built to normalize while looking up.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-05T12:32:23.753Z
Answers.Text: Yes, that makes sense. And VEP has some form of normalization before annotation: [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_other.html#shifting), but it seems to be more basic than a normalization tool like vt normalize.
Answers.UserDisplayName: Dandelion
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-05T17:33:11.113Z
Answers.Text: Yes, vt normalize and bcftools norm both preserve a record of the pre-normalization entry so data loss is avoided. I'm not sure if VEP does that or even logs it.
Answers.UserDisplayName: Ram RS
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-07T15:26:17.167Z
Answers.Text: Thinking a bit more about your comments ^, why would you not always normalize before annotation to be sure you would get the same results over different studies (hypothtically)? Would "the same variants" called with different callers, cause discrepencies in position and therefore annotation if you do not normalize them? Or am I missing something?
Answers.UserDisplayName: Dandelion
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-07T15:29:04.140Z
Answers.Text: You're asking the right question. Without normalization, certain annotations could be missed especially if POS changes post normalization. Most callers should call a variant at the same location based on an alignment, but I'm not sure if that can be taken for granted. I always decompose and normalize all my VCFs pre annotation.
Answers.UserDisplayName: Ram RS
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-08T08:34:35.870Z
Answers.Text: I guess for SNPs this might be (more) the case that they would have the same location between callers, INDELs are a different story likely
Answers.UserDisplayName: Dandelion
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-08T15:19:51.140Z
Answers.Text: SNVs/MNVs that occur in a repeat region can confuse callers a little. One also needs to keep in mind that certain variants were named/annotated way back when and used to be called using the wrong coordinate for quite a while. I've seen this happen in old medical records, not sure how prevalent this is these days.
Answers.UserDisplayName: Ram RS
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-02T15:09:04.710Z
Answers.LastActivityDate: 2024-02-02T15:09:04.710Z
Answers.UserDisplayName: Ram RS
Body: <p>We want to compare some variant calling tools and their calls on Whole Exome Sequencing data. We will have to normalize the variants that are called (.vcf format) before comparison using for instance <a href="https://genome.sph.umich.edu/wiki/Vt#Normalization" rel="nofollow noreferrer">vt normalize</a> or <a href="https://github.com/Illumina/hap.py" rel="nofollow noreferrer">hap.py</a>. We are comparing with a gold standard too and use hap.py for this now to get some benchmark information.</p>
  <p>Edit: with normalization I mean representing the variants in such a way, we are able to compare them: to ensure that the representation of a variant is “parsimonious” and “left-aligned.”</p>
  <p>I was just wondering, and I cannot find any real guidelines (yet), when we annotate using <a href="https://www.ensembl.org/info/docs/tools/vep/script/vep_options.html" rel="nofollow noreferrer">VEP</a>, do we have to normalize before or after annotation to keep the annotation correct as well. I know VEP has some normalization functionality too <a href="https://www.ensembl.info/2020/05/26/normalising-variants-to-standardise-ensembl-vep-output/" rel="nofollow noreferrer">see here</a>. So might we even not need an additional normalization tool before and just let VEP do it for us?</p>
  <p>I am just wondering about the guidelines and what what others do.
  Thanks in advance,</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-02-02T13:35:50.400Z
Comments.Text: What kind of normalization are you going to do? VEP talks about normalizing variant represenations, variant names and left-aligning indels. However, all variant callers should be producing a vcf, so there is no need to normalize the names. Indels perhaps.  You might want to normalize other things like variant quality but we need to understand what you mean before we can help. Can you please [edit] your question and clarify?
Comments.UserDisplayName: terdon
Tags: <variant-calling><vep>
Title: Variants from multiple tools: normalization before or after annotation with VEP?
ThreadText: # Variants from multiple tools: normalization before or after annotation with VEP?
  
  (Asked by: username_0 on 2024-02-02)
  
  We want to compare some variant calling tools and their calls on Whole Exome Sequencing data. We will have to normalize the variants that are called (.vcf format) before comparison using for instance [vt normalize](https://genome.sph.umich.edu/wiki/Vt#Normalization) or [hap.py](https://github.com/Illumina/hap.py). We are comparing with a gold standard too and use hap.py for this now to get some benchmark information.
  
  Edit: with normalization I mean representing the variants in such a way, we are able to compare them: to ensure that the representation of a variant is “parsimonious” and “left-aligned.”
  
  I was just wondering, and I cannot find any real guidelines (yet), when we annotate using [VEP](https://www.ensembl.org/info/docs/tools/vep/script/vep_options.html), do we have to normalize before or after annotation to keep the annotation correct as well. I know VEP has some normalization functionality too [see here](https://www.ensembl.info/2020/05/26/normalising-variants-to-standardise-ensembl-vep-output/). So might we even not need an additional normalization tool before and just let VEP do it for us?
  
  I am just wondering about the guidelines and what what others do.
  Thanks in advance,
  
  **Tags:** variant-calling, vep
  
  > **Comments:**
  > **username_1**: What kind of normalization are you going to do? VEP talks about normalizing variant represenations, variant names and left-aligning indels. However, all variant callers should be producing a vcf, so there is no need to normalize the names. Indels perhaps.  You might want to normalize other things like variant quality but we need to understand what you mean before we can help. Can you please [edit] your question and clarify?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2024-02-02. Score: 2 | Accepted answer
  
  If you're referring to left alignment + parsimonious representation, do it before any annotation. Most if not all annotation happens by comparing CHROM, POS and optionally REF and ALT and since vt normalize affects POS, you should do it before annotation.
  
  I'm not sure how smart VEP is, but most annotators are simple lookup tools at least for third party databases, so they're not built to normalize while looking up.
  
  > **Comments:**
  > **username_0**: Yes, that makes sense. And VEP has some form of normalization before annotation: [here](https://www.ensembl.org/info/docs/tools/vep/script/vep_other.html#shifting), but it seems to be more basic than a normalization tool like vt normalize.  
  > **username_2**: Yes, vt normalize and bcftools norm both preserve a record of the pre-normalization entry so data loss is avoided. I'm not sure if VEP does that or even logs it.  
  > **username_0**: Thinking a bit more about your comments ^, why would you not always normalize before annotation to be sure you would get the same results over different studies (hypothtically)? Would "the same variants" called with different callers, cause discrepencies in position and therefore annotation if you do not normalize them? Or am I missing something?  
  > **username_2**: You're asking the right question. Without normalization, certain annotations could be missed especially if POS changes post normalization. Most callers should call a variant at the same location based on an alignment, but I'm not sure if that can be taken for granted. I always decompose and normalize all my VCFs pre annotation.  
  > **username_0**: I guess for SNPs this might be (more) the case that they would have the same location between callers, INDELs are a different story likely  
  > **username_2**: SNVs/MNVs that occur in a repeat region can confuse callers a little. One also needs to keep in mind that certain variants were named/annotated way back when and used to be called using the wrong coordinate for quite a while. I've seen this happen in old medical records, not sure how prevalent this is these days.  
  
  ---
  
  