-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Post-Annotation for new SpliceAI VCFs #138
Comments
Hi, you can probably do this with a post annotation block for each field so (untested): [[postannotation]]
fields=["SpliceAI_NonSeparated_snv"]
op = "lua:split(SpliceAI_NonSeparated_snv,'|')[1]"
name ="ALLELE_spliceai_snv"
[[postannotation]]
fields=["SpliceAI_NonSeparated_snv"]
op = "lua:split(SpliceAI_NonSeparated_snv,'|')[2]"
name ="SYMBOL_spliceai_snv"
... and so on. And if you want the resulting field to be a float type you can use e.g. |
Thanks for the quick reply! Turns out your fix helped! Odd that they don't count with zero-based, but your example highlighted that. I also got an error when I didn't specify type, so I put in the float as the type and it kept the float in the output line:
I'll drop the float from the names below for my final annotation but for now I'm happy with the fix! Next into VCF2DB! I'll continue to play with slivar for the next pipeline version but for now I'm happy with the VCFAnno-->VCF2DB-->GEMINI queries. If it's useful for anyone the code chunk in .toml:
|
Hey Brent, So the fix worked, but for annotations with multiple overlapping genes it throws an error. I'm tempted to just ignore these for now, but I figured I'd ask if you have any recommendations on how to handle this within post-annotation? How do you handle this for slivar? Right now the line comes out this:
For a variant, while throwing the error of:
|
in that case, you can check if the argument going to split is a string or a table. in slivar, I took the largest value. |
I'm not familiar with lua at all...any chance you provide me that code chunk for splitting the joined field, checking if it's an array, and then getting the maximum between the two? Otherwise, do you have the maxed version of this SpliceAI file for GRCh38 available through slivar? Much appreciated, |
I'm assuming @Phillip-a-richmond that this has been solved for you now, but I came across this thread with the same question and just wanted to add the solution I put together. No guarantees it is the most efficient, but it works! .lua file
.toml file
|
Hey that's cool! I actually just use the VEP plugin for spliceAI annotation and that works nicely https://uswest.ensembl.org/info/docs/tools/vep/script/vep_plugins.html |
Hi @pj-sullivan,
Coud you help me please? |
Hello,
I'm using VCFAnno with the new SpliceAI VCFs from Illumina, and they've recoded the VCFs with this header (I...have...no...idea...why):
Where each line looks like this:
When I annotate, I get a line that looks like this:
However, since I want this to be annotated and then placed into GEMINI, I need each of the spliceAI values as floats in the GEMINI database. I figured I could add this annotation from the native SpliceAI files, and then split the annotation by "|". I think my problem is an easy fix, but I haven't seen any examples of the split function called to return an array of annotations. My best attempt (and failure) below:
The Lua I'm using is the same as you provide for the "split" call:
My config.toml looks like:
An annotated line looks like:
And the error I get looks like:
Thanks for your help,
Phil
The text was updated successfully, but these errors were encountered: