snakemake-workflows / rna-seq-kallisto-sleuth

A Snakemake workflow for differential expression analysis of RNA-seq data with Kallisto and Sleuth.
MIT License
66 stars 44 forks source link

Biomart-provoked errors in sleuth-init #8

Closed moritzschaefer closed 4 years ago

moritzschaefer commented 5 years ago

The sleuth_init rule fails with no useful information in the snakemake output. The logfiles logs/sleuth/all.init.log and logs/sleuth/model_X.init.log reveal the error:

➜  sleuth git:(master) ✗ cat model_X.init.log
── Attaching packages ─────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 3.2.1     ✔ purrr   0.3.3
✔ tibble  2.1.3     ✔ dplyr   0.8.3
✔ tidyr   1.0.0     ✔ stringr 1.4.0
✔ readr   1.3.1     ✔ forcats 0.4.0
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
✖ dplyr::select() masks biomaRt::select()
Error in curl::curl_fetch_memory(url, handle = handle) :
  transfer closed with outstanding read data remaining
Calls: %>% ... request_fetch -> request_fetch.write_memory -> <Anonymous>
Execution halted
➜  sleuth git:(master) ✗ cat all.init.log
── Attaching packages ─────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 3.2.1     ✔ purrr   0.3.3
✔ tibble  2.1.3     ✔ dplyr   0.8.3
✔ tidyr   1.0.0     ✔ stringr 1.4.0
✔ readr   1.3.1     ✔ forcats 0.4.0
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
✖ dplyr::select() masks biomaRt::select()
Error in biomaRt::getBM(attributes = c("ensembl_transcript_id", "ensembl_gene_id",  :
  The query to the BioMart webservice returned an invalid result: biomaRt expected a character string of length 1. Please report this to the mailing list.
Calls: %>% -> eval -> eval -> <Anonymous>
Execution halted
➜  sleuth git:(master) ✗

Presumably a change in the Biomart API has caused this? Someone already figured out how to fix this?

dlaehnemann commented 4 years ago

I do remember similar errors, but only spotted the issue now, sorry. I think that the changes in PR #9 might fix this -- but if not, I'll revisit once this is merged.

dlaehnemann commented 4 years ago

This seems to have been a bug in some previous biomart version(s), see e.g. the testing of the penultimate commit in PR #9 before it was merged, which produces exactly this error (here: https://github.com/snakemake-workflows/rna-seq-kallisto-sleuth/runs/419054877). It went away with an update of the biomart version used in the sleuth.yaml environment file, defining the conda environment for the sleuth_init rule. So I'll close this for now, but feel free to reopen should this reoccur in the future.