Skip to content

[Bioc-devel] reacVcf(remoteFile, "hg19", region) fails in VariantAnnotation 1.39.0 (and friends), works with 1.38.0

3 messages · Martin Morgan, Paul Shannon

#
The problem is described in full here, with 4 lines of code to reproduce.

     https://support.bioconductor.org/p/9138262/ <https://support.bioconductor.org/p/9138262/>

James MacDonald pointed out that my initial analysis is wrong. (Thank you, Jim!)  I claimed this works on macOS, fails on linux, and he shows in the support thread that readVcf(remoteFile) worked find for him on linux.

So maybe, as Jim suggests, there is a problem with the latest version of VariantAnnotation or packages it depends upon:?

Jim?s linux run, and my MacOD run, both used VariantAnnotation_1.38.0, 
My docker (Docker devel) has VariantAnnotation_1.39.0.

However, I installed  1.38.0 on the docker image, and the problem persisted.  Leading me to think that the problem may be one of the packages (zlib, httr?) which VariantAnnotation uses?

One strategy we could employ is to expand the error message to tell us more.  It currently reports

*[E::hts_open_format] Failed to open file
 https://igv-data.systemsbiology.net/static/ampad/test/chr2.vcf.gz
Error in open.BcfFile(BcfFile(file, character(0), ...)) :
  ?open'  VCF/BCF failed
  filename: https://igv-data.systemsbiology.net/static/ampad/test/chr2.vcf.gz*

Maybe  more information is available at the point of failure which, if reported, might clarify the problem?

 - Paul
#
This 'worked for me' on my macOS and on the Bioconductor docker image after BiocManager::install("VariantAnnotation")

The relevant packages are Rsamtools and Rhtslib, but these have gone through very little change.

The shortest way to get to the call is through Rsamtools

  url = "https://igv-data.systemsbiology.net/static/ampad/test/chr2.vcf.gz"
  b = open(BcfFile(url))

This goes immediately into C code and (the quite old now) htslib. I looked at the C code briefly, and there is no easy way to extract more information about the reason for failure.

I don't really have any great insight to offer here; superficially it sounds like the server is sometimes rejecting connections, and these have happened to line up with OS.

Martin Morgan

?On 7/12/21, 8:46 PM, "Bioc-devel on behalf of Paul Shannon" <bioc-devel-bounces at r-project.org on behalf of paul.thurmond.shannon at gmail.com> wrote:

    The problem is described in full here, with 4 lines of code to reproduce.

         https://support.bioconductor.org/p/9138262/ <https://support.bioconductor.org/p/9138262/>

    James MacDonald pointed out that my initial analysis is wrong. (Thank you, Jim!)  I claimed this works on macOS, fails on linux, and he shows in the support thread that readVcf(remoteFile) worked find for him on linux.

    So maybe, as Jim suggests, there is a problem with the latest version of VariantAnnotation or packages it depends upon:?

    Jim?s linux run, and my MacOD run, both used VariantAnnotation_1.38.0, 
    My docker (Docker devel) has VariantAnnotation_1.39.0.

    However, I installed  1.38.0 on the docker image, and the problem persisted.  Leading me to think that the problem may be one of the packages (zlib, httr?) which VariantAnnotation uses?

    One strategy we could employ is to expand the error message to tell us more.  It currently reports

    *[E::hts_open_format] Failed to open file
     https://igv-data.systemsbiology.net/static/ampad/test/chr2.vcf.gz
    Error in open.BcfFile(BcfFile(file, character(0), ...)) :
      ?open'  VCF/BCF failed
      filename: https://igv-data.systemsbiology.net/static/ampad/test/chr2.vcf.gz*

    Maybe  more information is available at the point of failure which, if reported, might clarify the problem?

     - Paul






    _______________________________________________
    Bioc-devel at r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
1 day later
#
Thanks, Martin.   Your hunch was right, the problem was in our sever.  We had some expired ssl certificates on the nginx server which dispatched to Flask.

The irregular behavior we saw - where readVcf worked in some settings, and failed in others - is apparently due to different ssl stringencies in different operating systems, including across different versions of linux.

I should have known better than to pin this on VariantAnnotation and Rsamtools.

 - Paul