Error in Sequence quality control in Moving pictures tutorial


Could you try re-running the command, but this time add the --verbose flag to the call? That will print a lot of stuff out which we usually don’t care about but it might help us debug better.

Thank you for your reply Evan:
Please see below

(qiime2) [email protected][MovingPictures] qiime dada2 plot-qualities \

–i-demultiplexed-seqs demux.qza \
–p-n 10 \
–o-visualization demux-qual-plots --verbose

Running external command line application(s). This may print messages to stdout and/or stderr.
The command(s) being run are below. These commands cannot be manually re-run as they will depend on temporary files that no longer exist.

Command: profile_quality.R /tmp/qiime2-archive-rr3xdqk5/da0c3291-332d-4670-a8eb-0ec9672c038e/data/L3S378_24_L001_R1_001.fastq.gz /tmp/qiime2-temp-giqgzfey
/software/Anaconda/envs/qiime2/lib/R/bin/R: 12: [: Linux: unexpected operator
Loading required package: Rcpp
Error in grid.Call(L_stringMetric, as.graphicsAnnot(x$label)) :
X11 font -adobe-helvetica-%s-%s---%d-------*, face 1 at size 12 could not be loaded
Calls: ggsave … titleGrob -> descentDetails -> descentDetails.text -> grid.Call
Execution halted
Traceback (most recent call last):
File “/software/Anaconda/envs/qiime2/bin/qiime”, line 6, in
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 716, in call
return self.main(*args, **kwargs)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 696, in main
rv = self.invoke(ctx)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/click/”, line 534, in invoke
return callback(*args, **kwargs)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/q2cli-0.0.6-py3.5.egg/q2cli/”, line 210, in call
File “”, line 2, in plot_qualities
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/qiime-2.0.6-py3.5.egg/qiime/core/”, line 227, in callable_wrapper
output_types, provenance)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/qiime-2.0.6-py3.5.egg/qiime/core/”, line 426, in callable_executor
ret_val = callable(output_dir=temp_dir, **view_args)
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/q2_dada2-0.0.6-py3.5.egg/q2_dada2/”, line 61, in plot_qualities
File “/software/Anaconda/envs/qiime2/lib/python3.5/site-packages/q2_dada2-0.0.6-py3.5.egg/q2_dada2/”, line 29, in run_commands
File “/software/Anaconda/envs/qiime2/lib/python3.5/”, line 708, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[‘profile_quality.R’, ‘/tmp/qiime2-archive-rr3xdqk5/da0c3291-332d-4670-a8eb-0ec9672c038e/data/L3S378_24_L001_R1_001.fastq.gz’, ‘/tmp/qiime2-temp-giqgzfey’]’ returned non-zero exit

Looks like I found a related issue. What OS are you running? This appears to be related to font installation on your system.

Hi again Evan,

I am using Ubuntu 14.04.4 LTS
qiime2 installed with Python 3.5.2 :: Anaconda 4.2.0 (64-bit)

Alright, then I think you might be able to just follow the instructions from this answer:

try running

sudo apt-get install t1-xfree86-nonfree ttf-xfree86-nonfree ttf-xfree86-nonfree-syriac xfonts-75dpi xfonts-100dpi

and then restart your computer. Hopefully that will work. If not we’ll need to dive deeper.

1 Like

Thank you again Evan,

Short question, as it is in a server computer should i run this in Conda environment and just restart conda or have to run it externally and restart server machine

Hi @ZOHAIB_ANWAR, you are going to want to restart your X11 server (most likely), which is usually most easily done by restarting the whole machine.

Hi again,
I tried the above and rebooted the system but still got the same error. (Forum doesnt let me post it here as it contains URLs, please see attached log filelog.txt (10.3 KB)

Thanks for the log file! Alright, so it looks like installing those fonts didn’t help. Looking around it seems like the xfonts-75dpi and xfonts-100dpi should have fixed it (the aptitude log seems to indicate these weren’t already installed). It turns out there is another package called xfonts-base and it doesn’t look like that was installed as a result of the above fonts.

So let’s try running sudo apt-get install xfonts-base with a reboot.

Also for more information could you do the following and post the results:

Run the command:


Also activate your QIIME 2 environment (source activate qiime2) and run the command:

R -e "capabilities()"

Right now I think this has something to do with cairo column from the output of the above (is it set to FALSE for you?)

Hi Evan,

Seems like xfonts-base is already installed in newest version. Output for locale and
R -e "capabilities()" attached in log file again. yes cairo is set to FALSE i believe

Thank you for your continuous support
log.txt (7.4 KB)

You might also want to see this
(qiime2) [email protected][muza] conda info [ 5:31PM]
Current conda install:

           platform : linux-64
      conda version : 4.2.13
   conda is private : False
  conda-env version : 4.2.13
conda-build version : 2.0.2
     python version :
   requests version : 2.11.1
   root environment : /software/Anaconda  (writable)
default environment : /software/Anaconda/envs/qiime2
   envs directories : /software/Anaconda/envs
      package cache : /software/Anaconda/pkgs
       channel URLs :
        config file : None
       offline mode : False

(qiime2) [email protected][muza] conda list --show-channel-urls [ 6:04PM]

packages in environment at /software/Anaconda/envs/qiime2:

_nb_ext_conf 0.3.0 py35_0 defaults
anaconda-client 1.6.0 py35_0 defaults
arrow 0.8.0 py35_0 qiime2
binaryornot 0.3.0 0_ge797740 qiime2
bioconductor-biobase 2.32.0 0 bioconda
bioconductor-biocgenerics 0.20.0 r3.3.1_0 bioconda
bioconductor-biocparallel 1.6.6 r3.3.1_0 bioconda
bioconductor-biostrings 2.40.0 r3.3.1_0 bioconda
bioconductor-dada2 1.2 r3.3.1_0 bioconda
bioconductor-genomeinfodb 1.8.7 r3.3.1_0 bioconda
bioconductor-genomicalignments 1.10.0 r3.3.1_0 bioconda
bioconductor-genomicranges 1.26.1 r3.3.1_1 bioconda
bioconductor-iranges 2.8.0 r3.3.1_0 bioconda
bioconductor-rsamtools 1.26.1 r3.3.1_0 bioconda
bioconductor-s4vectors 0.12.0 r3.3.1_0 bioconda
bioconductor-shortread 1.32.0 r3.3.1_0 bioconda
bioconductor-summarizedexperiment 1.4.0 r3.3.1_0 bioconda
bioconductor-xvector 0.12.1 r3.3.1_0 bioconda
bioconductor-zlibbioc 1.18.0 r3.3.1_0 bioconda
biom-format 2.1.5 py35_3 qiime2
bokeh 0.12.3 py35_0 defaults
bzip2 1.0.6 3 defaults
cachecontrol 0.11.7 py35_0 defaults
cairo 1.14.6 0 defaults
click 6.6 py35_0 defaults
clyent 1.2.2 py35_0 defaults
cookiecutter 1.4.0 py35_0 qiime2
curl 7.45.0 2 bioconda
cycler 0.10.0 py35_0 defaults
dbus 1.10.10 0 defaults
decorator 4.0.10 py35_1 defaults
emperor 1.0.0beta5 py35_2 conda-forge
entrypoints 0.2.2 py35_0 defaults
expat 2.1.0 0 defaults
fastqc 0.11.5 1 bioconda
fasttree 2.1.8 0 biocore
fontconfig 2.12.1 0 defaults
freetype 2.5.5 1 defaults
future 0.16.0 py35_0 defaults
glib 2.50.2 0 defaults
gsl 2.2.1 0 defaults
gst-plugins-base 1.8.0 0 defaults
gstreamer 1.8.0 0 defaults
h5py 2.6.0 np111py35_2 defaults
harfbuzz 0.9.39 1 defaults
hdf5 1.8.17 1 defaults
icu 54.1 0 defaults
ijson 2.3 py35_0 qiime2
ipykernel 4.5.2 py35_0 defaults
ipymd 0.1.2 py35_0 qiime2
ipython 5.1.0 py35_0 defaults
ipython_genutils 0.1.0 py35_0 defaults
ipywidgets 5.2.2 py35_0 defaults
java-jdk 8.0.92 1 bioconda
jbig 2.1 0 defaults
jinja2 2.8 py35_1 defaults
jinja2-time 0.2.0 py35_0 qiime2
jpeg 8d 2 defaults
jsonschema 2.5.1 py35_0 defaults
jupyter 1.0.0 py35_3 defaults
jupyter_client 4.4.0 py35_0 defaults
jupyter_console 5.0.0 py35_0 defaults
jupyter_core 4.2.1 py35_0 defaults
libffi 3.2.1 1 defaults
libgcc 5.2.0 0 defaults
libgfortran 3.0.0 1 defaults
libiconv 1.14 0 defaults
libpng 1.6.22 0 defaults
libsodium 1.0.10 0 defaults
libtiff 4.0.6 2 defaults
libxcb 1.12 1 defaults
libxml2 2.9.4 0 defaults
lockfile 0.12.2 py35_0 defaults
mafft 7.305 0 bioconda
markupsafe 0.23 py35_2 defaults
matplotlib 1.5.1 np111py35_0 defaults
mistune 0.7.3 py35_0 defaults
mkl 11.3.3 0 defaults
natsort 5.0.1 py35_0 defaults
nb_anacondacloud 1.2.0 py35_0 defaults
nb_conda 2.0.0 py35_0 defaults
nb_conda_kernels 2.0.0 py35_0 defaults
nbconvert 4.2.0 py35_0 defaults
nbformat 4.2.0 py35_0 defaults
nbpresent 3.0.2 py35_0 defaults
ncurses 5.9 10 defaults
nose 1.3.7 py35_1 defaults
notebook 4.3.0 py35_0 defaults
numpy 1.11.2 py35_0 defaults
openssl 1.0.2j 0 defaults
pandas 0.19.1 np111py35_0 defaults
pango 1.40.3 0 defaults 8.2.1 py35_0 defaults
patsy 0.4.1 py35_0 conda-forge
pcre 8.39 1 defaults
pexpect 4.0.1 py35_0 defaults
pickleshare 0.7.4 py35_0 defaults
pip 9.0.1 py35_1 defaults
pixman 0.34.0 0 defaults
poyo 0.4.0 py35_0 qiime2
prompt_toolkit 1.0.9 py35_0 defaults
ptyprocess 0.5.1 py35_0 defaults
pygments 2.1.3 py35_0 defaults
pyparsing 2.1.4 py35_0 defaults
pyqt 4.11.4 py35_4 defaults
python 3.5.2 0 defaults
python-dateutil 2.6.0 py35_0 defaults
python-frontmatter 0.2.1 py35_0 qiime2
pytz 2016.10 py35_0 defaults
pyyaml 3.12 py35_0 defaults
pyzmq 16.0.2 py35_0 defaults
q2-alignment 0.0.6 py35_0 qiime2
q2-composition 0.0.6 py35_0 qiime2
q2-dada2 0.0.6 py35_0 qiime2
q2-demux 0.0.6 py35_0 qiime2
q2-diversity 0.0.6 py35_0 qiime2
q2-emperor 0.0.6 py35_0 qiime2
q2-feature-classifier 0.0.6 py35_0 qiime2
q2-feature-table 0.0.6 py35_0 qiime2
q2-phylogeny 0.0.6 py35_0 qiime2
q2-taxa 0.0.6 py35_0 qiime2
q2-types 0.0.6 py35_0 qiime2
q2cli 0.0.6 py35_0 qiime2
q2templates 0.0.6 py35_0 qiime2
qiime 2.0.6 py35_0 qiime2
qt 4.8.7 4 defaults
qtconsole 4.2.1 py35_0 defaults
r 3.3.1 r3.3.1_0 r
r-assertthat 0.1 r3.3.1_4 r
r-base 3.3.1 5 r
r-bh 1.60.0_2 r3.3.1_0 bioconda
r-bitops 1.0_6 r3.3.1_2 r
r-boot 1.3_18 r3.3.1_0 r
r-class 7.3_14 r3.3.1_0 r
r-cluster 2.0.4 r3.3.1_0 r
r-codetools 0.2_14 r3.3.1_0 r
r-colorspace 1.2_6 r3.3.1_0 r
r-data.table 1.10.0 r3.3.1_0 bioconda
r-dichromat 2.0_0 1a r
r-digest 0.6.9 r3.3.1_0 bioconda
r-foreign 0.8_66 r3.3.1_0 r
r-futile.logger 1.4.1 r3.3.1_0 bioconda
r-futile.options 1.0.0 r3.3.1_0 bioconda
r-ggplot2 2.2.0 r3.3.1_0 bioconda
r-gtable 0.2.0 r3.3.1_0 r
r-hwriter 1.3.2 r3.3.1_0 bioconda
r-kernsmooth 2.23_15 r3.3.1_0 r
r-labeling 0.3 r3.3.1_2 r
r-lambda.r 1.1.7 r3.3.1_0 bioconda
r-lattice 0.20_33 r3.3.1_0 r
r-latticeextra 0.6_28 r3.3.1_0 r
r-lazyeval 0.2.0 r3.3.1_0 r
r-magrittr 1.5 r3.3.1_0 bioconda
r-mass 7.3_45 r3.3.1_0 r
r-matrix 1.2_6 r3.3.1_0 r
r-mgcv 1.8_12 r3.3.1_0 r
r-munsell 0.4.3 r3.3.1_0 r
r-nlme 3.1_128 r3.3.1_0 r
r-nnet 7.3_12 r3.3.1_0 r
r-plyr 1.8.4 r3.3.1_0 r
r-rcolorbrewer 1.1_2 r3.3.1_3 r
r-rcpp 0.12.5 r3.3.1_0 r
r-rcppparallel 4.3.20 r3.3.1_0 bioconda
r-recommended 3.3.1 r3.3.1_0 r
r-reshape2 1.4.1 r3.3.1_2 r
r-rpart 4.1_10 r3.3.1_0 r
r-scales 0.4.1 r3.3.1_0 bioconda
r-snow 0.4_1 r3.3.1_0 bioconda
r-spatial 7.3_11 r3.3.1_0 r
r-stringi 1.1.1 r3.3.1_0 r
r-stringr 1.1.0 r3.3.1_0 bioconda
r-survival 2.39_4 r3.3.1_0 r
r-tibble 1.2 r3.3.1_0 bioconda
readline 6.2 2 defaults
requests 2.12.4 py35_0 defaults
scikit-bio 0.5.0 np111py35_0 defaults
scikit-learn 0.18.1 np111py35_0 defaults
scipy 0.18.1 np111py35_0 defaults
seaborn 0.7.1 py35_0 defaults
setuptools 27.2.0 py35_0 defaults
simplegeneric 0.8.1 py35_1 defaults
sip 4.18 py35_0 defaults
six 1.10.0 py35_0 defaults
sqlite 3.13.0 0 defaults
statsmodels 0.6.1 np111py35_0 conda-forge
terminado 0.6 py35_0 defaults
tk 8.5.18 0 defaults
tornado 4.4.2 py35_0 defaults
traitlets 4.3.1 py35_0 defaults
tzlocal 1.3 py35_0 qiime2
wcwidth 0.1.7 py35_0 defaults
wheel 0.29.0 py35_0 defaults
whichcraft 0.4.0 py35_0 qiime2
widgetsnbextension 1.2.6 py35_0 defaults
xz 5.2.2 0 defaults
yaml 0.1.6 0 defaults
zeromq 4.1.5 0 defaults
zlib 1.2.8 3 defaults

Just to confirm something, in your qiime2 environment, can you run:

which R

we should see a conda environment in that path.

It is starting to look like this may be, slightly, the R channel’s fault on conda. I tried installing bioconductor-dada2 in a fresh environment, and although conda installed a bunch of stuff related to cairo, it wasn’t available (just like you are seeing). However when I look at an old environment I already had, it is available. R seems to fallback to xlib when cairo isn’t around which is why we’re having x11 font trouble.

However after replaying parts of the docs locally, I didn’t see any issues with dada2 plot-qualities, meaning that my x11 fonts must be fine. I confirmed this by running:

R -e "X11Fonts()"

and got:

> X11Fonts()
[1] "-*-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-*-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-*-courier-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-adobe-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-adobe-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-cronyx-times-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-cronyx-helvetica-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-monotype-arial-%s-%s-*-*-%d-*-*-*-*-*-*-*"

[1] "-*-mincho-%s-%s-*-*-%d-*-*-*-*-*-*-*"

I seem to have the -adobe-helvetica font (not sure what the asterisks mean in the name, but I am hoping they are just wildcards, so they are matching -adobe-helvetica-%s-%s---%d-------*)

Could you post your results for:

R -e "X11Fonts()"

Thanks for your patience so far!

Just saw your edit, thanks for the extra version info!

(qiime2) [email protected][muza] which R
(qiime2) [email protected][muza] R -e “X11Fonts()”
/software/Anaconda/envs/qiime2/bin/R: 12: [: Linux: unexpected operator

R version 3.3.1 (2016-06-21) – "Bug in Your Hair"
Copyright © 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type ‘license()’ or ‘licence()’ for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type ‘contributors()’ for more information and
’citation()’ on how to cite R or R packages in publications.

Type ‘demo()’ for some demos, ‘help()’ for on-line help, or
’help.start()’ for an HTML browser interface to help.
Type ‘q()’ to quit R.

[1] “--times-%s-%s---%d-------

[1] “--helvetica-%s-%s---%d-------

[1] “--courier-%s-%s---%d-------

[1] “-adobe-times-%s-%s---%d-------*”

[1] “-adobe-helvetica-%s-%s---%d-------*”

[1] “-cronyx-times-%s-%s---%d-------*”

[1] “-cronyx-helvetica-%s-%s---%d-------*”

[1] “-monotype-arial-%s-%s---%d-------*”

[1] “--mincho-%s-%s---%d-------

(qiime2) [email protected][muza]


So it looks like R sees the helvetica font… this is absurd!

Two questions:

  • you mentioned that this was a server, are you by chance connecting with X forwarding in your SSH command? (I think it’s -X)
  • What is the result of running xlsfonts -fn -adobe-helvetica-*-*-*-*-*-*-*-*-*-*-*-*?

This is definitely a tough problem.

  1. Yes i am running SSH with -X.(Although i have also tried to run same command without -X in SSH connection)
  2. (qiime2) [email protected][muza] xlsfonts -fn -adobe-helvetica------------
    zsh: no matches found: -adobe-helvetica------------

Thank you for keeping up with your support

Of course!

Ok, I found the issue upstream (w.r.t. cairo):

Given that you are using X forwarding, I’m not sure it’s worth pursuing xlib much futher, something is probably going to go wrong there.

BUT, I was able to find a potentially working build, if you run:

conda install -c r 'r-base=3.3.1 1'

in your qiime2 environment, cairo should be enabled, and the plot-qualities command should work.

Important: This is build 1 of this version, and it seems we are on build 5 at this point, so I can’t say for sure whether this will impact anything else, but a build number shouldn’t really be where bug-fixes are, so hopefully this is ok to do.

I know bioconductor needs an older version of R, so hopefully this will just become less of an issue when things upgrade.

1 Like

Thank you for helping through out.
yes it works well now.
I will keep going forward with the tutorial and might bug you again if (hopefully not) i face any problem again :slight_smile:

Thanks again

1 Like

5 posts were merged into an existing topic: Can I run qiime2 pipeline in shell with GUI?

Just an update on this topic, using conda install -c r r=3.3.2 works with dada2, meaning we can just upgrade to the latest R and not pin ourselves to a particular build!

1 Like