ropensci / iheatmapr

Complex, interactive heatmaps in R
https://docs.ropensci.org/iheatmapr
Other
267 stars 35 forks source link

Error: pandoc document conversion failed with error 1 #4

Open slowkow opened 7 years ago

slowkow commented 7 years ago

Hi Alicia,

I tried to use iheatmapr today, but I ran into an issue with pandoc. Do you think it's possible to avoid the dependency on pandoc? If I recall correctly, pandoc is difficult to install on my server, so I can't easily update it.

I'm using the latest version of iheatmapr installed with devtools::install_github("AliciaSchep/iheatmapr")

When I run:

myplot <- iheatmap(
   data = matrix(runif(100), ncol = 5),
   cluster_cols = "hclust",
   cluster_rows = "hclust",
   name = "myname"
 )
myplot %>% save_iheatmap("myplot.png")

I get:

pandoc: Most RTS options are disabled. Link with -rtsopts to enable them.
Error: pandoc document conversion failed with error 1

pandoc information:

> system("pandoc --version")
pandoc 1.9.4.1
Compiled with citeproc-hs 0.3.4, texmath 0.6.0.6, highlighting-kate 0.5.1.
Syntax highlighting is supported for the following languages:
    Actionscript, Ada, Alert, Alert_indent, Apache, Asn1, Asp, Awk, Bash,
    Bibtex, Boo, C, Changelog, Clojure, Cmake, Coffeescript, Coldfusion,
    Commonlisp, Cpp, Cs, Css, D, Diff, Djangotemplate, Doxygen, Dtd, Eiffel,
    Email, Erlang, Fortran, Fsharp, Gnuassembler, Go, Haskell, Haxe, Html, Ini,
    Java, Javadoc, Javascript, Json, Jsp, Latex, Lex, LiterateHaskell, Lua,
    Makefile, Mandoc, Matlab, Maxima, Metafont, Mips, Modula2, Modula3,
    Monobasic, Nasm, Noweb, Objectivec, Objectivecpp, Ocaml, Octave, Pascal,
    Perl, Php, Pike, Postscript, Prolog, Python, R, Relaxngcompact, Rhtml, Ruby,
    Scala, Scheme, Sci, Sed, Sgml, Sql, SqlMysql, SqlPostgresql, Tcl, Texinfo,
    Verilog, Vhdl, Xml, Xorg, Xslt, Xul, Yacc, Yaml
Copyright (C) 2006-2012 John MacFarlane
Web:  http://johnmacfarlane.net/pandoc
This is free software; see the source for copying conditions.  There is no
warranty, not even for merchantability or fitness for a particular purpose.

R system information:

> devtools::session_info()
Session info -------------------------------------------------------------------
 setting  value
 version  R version 3.4.0 (2017-04-21)
 system   x86_64, linux-gnu
 ui       X11
 language (EN)
 collate  en_US.UTF-8
 tz       <NA>
 date     2017-05-04
Packages -----------------------------------------------------------------------
iheatmapr              * 0.2.5    2017-05-04
AliciaSchep commented 7 years ago

Hi Kamil,

Not sure if it will be possible to remove pandoc dependency for saving plots... the save_iheatmap function is simply taking advantage of the export function from the plotly package, which in turn first makes a temporary html document using saveWidget from htmlwidgets package and then uses the webshot package to create a screenshot of the html.

It is the saveWidget command that uses pandoc to create a self-contained html file. Perhaps if the temporary html file created for use with webshot does not actually need to be self-contained, the export function from plotly could be changed to use selfcontained = FALSE. As this issue probably affects the saving of any plotly graph that potential change would probably be best in that package.

The saveWidget code links to a resource on installing pandoc. Apparently Rstudio provides standalone pandoc binaries, maybe that is useful? That document has the binaries being linked to /usr/local/bin but presumably they could also just be added to PATH for an individual user.