Has anyone encountered the following error when us...
# modules
c
Has anyone encountered the following error when using the
annotsv/annotsv
module on SLURM/HPC/apptainer environment? I asked Seqera AI and the suggested solutions aren't work. Any thought? I am trying to add AnnotSV to
pacvar
but encountered this trouble and cannot move forward. Perhaps I should use
VEP
or
ANNOVAR
for structural variant annotation? @Nicolas Vannieuwkerke
Copy code
error reading "file5": inappropriate device for ioctl
      while executing
  "gets $f"
      (procedure "configureAnnotSV" line 460)
      invoked from within
  "configureAnnotSV $argv"
      (file "/opt/conda/bin/AnnotSV" line 140)
n
First of all I dropped AnnotSV from my pipeline because it just wasn't reliable enough and often failed for some stupid reasons. So beware before going down that rabbit hole 😉. On the other hand, they just released a version that looks to be much more stable so I would advise to try that one too
😬 1
c
First of all, what do you recommend to use for structural variant annotation? Secondely, I took AI's suggestion to close all extra file descriptors to get rid of Tcl conflicts. Then used v3.5.8 that you suggested. Below is the modified the module, which look silly, that works for me on HPC environment. Do you think I can PR this to your annotSV module?
Copy code
...

    container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
        '<https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/16/1695a6ee48c649aa10ad42526b3af6e8ed9e3221d23b39abebcb62271ba13079/data>' :
        'community.wave.seqera.io/library/annotsv:3.5.8--a24f79b3f422fbe8' }"
...   
   """
    # Close all extra file descriptors in the current shell
    exec 3>&- 2>/dev/null || true
    exec 4>&- 2>/dev/null || true
    exec 5>&- 2>/dev/null || true
    exec 6>&- 2>/dev/null || true
    exec 7>&- 2>/dev/null || true
    exec 8>&- 2>/dev/null || true
    exec 9>&- 2>/dev/null || true
    
    # Redirect stdin
    exec 0</dev/null


    AnnotSV \\
        -genomeBuild GRCh38 \\
        -annotationsDir ${annotations} \\
        ${cand_genes} \\
        ${small_variants} \\
        ${fp_snv} \\
        ${transcripts} \\
        ${args} \\
        -outputFile ${prefix}.tsv \\
        -SVinputFile ${sv_vcf} 

    mv *_AnnotSV/* .
    """
n
structural variant annotation is a bit difficult in my experience, I'm mainly using VEP and gatk AnnotateSV for now (along with some smaller sets in VCFanno). It depends a bit on what you actually want to annotate of course
and it does make sense to close all file descriptors, but doesn't this break anything else?
c
It does break something .. I am in the rabbit hole now. It did cause problems when VCF to BED for some specific VCF (ones output from HiFiPhase but not others ). But I don't do it, it gives Tcl problems. I had conversation with AI for hours and things were not resolved. I am giving up. I will just incluede VEP to
pacvar
, not AnnotSV. 😞
Thank you again for helping me out
🎉 1
n
Yeah it's sadly a mess, they want to port the tool to another language but haven't been able to do so
sad cowboy 1