Thank for for the VariantAnnotation package, it makes it very easy to annotate mutations found in VCF files!
There is, however, one limitation that I find unnecessarily restrictive: The predictCoding method expects a TxDb object as its second argument and will not be able to process gene and transcript annotations otherwise.
I propose that the limitation here should be any object that supports the cdsBy and transcriptsBy methods, e.g. an EnsDb object. As they do not share a common base class, I allow ANY type that will then error if the associated methods are not found.
In particular, the code that previously failed now works successfully:
ens106 = AnnotationHub::AnnotationHub()[["AH100643"]]
asm = BSgenome.Hsapiens.NCBI.GRCh38::BSgenome.Hsapiens.NCBI.GRCh38
fname = system.file("extdata", "chr22.vcf.gz", package="VariantAnnotation")
vr = VariantAnnotation::readVcfAsVRanges(fname)
res = predictCoding(vr, ens106, asm)
# Error in (function (classes, fdef, table) :
# unable to find an inherited method for 'predictCoding' for signature '"VRanges", "EnsDb", "BSgenome", "missing"'
Thank for for the VariantAnnotation package, it makes it very easy to annotate mutations found in VCF files!
There is, however, one limitation that I find unnecessarily restrictive: The
predictCoding
method expects aTxDb
object as its second argument and will not be able to process gene and transcript annotations otherwise.I propose that the limitation here should be any object that supports the
cdsBy
andtranscriptsBy
methods, e.g. anEnsDb
object. As they do not share a common base class, I allowANY
type that will then error if the associated methods are not found.In particular, the code that previously failed now works successfully: