Demux summarize error: join() argument must be str or bytes, not 'float'

I am experiencing an error with a new dataset I just received and I don’t understand how to fix it. I can import and run the demultiplexing steps, but when I try to summarize the demultiplexing I get an error.

Here are the commands I have run:

qiime tools import --type EMPSingleEndSequences --input-path /Users/Molly-Mac/My_FILES/16s_july26_Run/Data --output-path SmPro_PlasmidTrial_sequences.qza

qiime demux emp-single --i-seqs /Users/Molly-Mac/My_FILES/6s_july26_Run/SmPro_PlasmidTrial_sequences.qza --m-barcodes-file /Users/Molly-Mac/My_FILES/16s_july26_Run/SmPro_Mapping.txt --m-barcodes-column BarcodeSequence --o-per-sample-sequences Demulti_SmPro_PlasmidTrial_sequences3.qza

qiime demux summarize --i-data /Users/Molly-Mac/My_FILES/16s_july26_Run/Demulti_SmPro_PlasmidTrial_sequences3.qza --o-visualization Dmultivis_SmPr_PlasmidTrial3.qzv
Plugin error from demux:

join() argument must be str or bytes, not ‘float’

Debug info has been saved to /var/folders/kk/ppfc6f0x2v36xxkd7lpln88w0000gn/T/qiime2-q2cli-err-qu75omdf.log

Is there a standard reason for this error to occur? I can seem to figure out how to file where the debug info has been saved so if there is any guidance on that I’d be happy to provide it.



Hi @Molly_Bletz,

You can find the debug in this file:


Or perhaps an easier option would be to re-run but add this to the command:


That should give us a stack trace which I can inspect.

The error definitely gives no particular clue as to what’s wrong, so hopefully that will give us a starting point.

Hi Evan,

Thanks for your response!

I re-ran with the --verbose and here are the details:

(qiime2-2018.6) eduroam121-33:16s_july26_Run Molly-Mac$ qiime demux summarize --i-data /Users/Molly-Mac/My_FILES/16s_july26_Run/Demulti_SmPro_PlasmidTrial_sequences.qza --o-visualization Dmultivis_SmPr_PlasmidTrial.qzv --verbose
Traceback (most recent call last):
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/q2cli/”, line 274, in call
results = action(**arguments)
File “”, line 2, in summarize
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/qiime2/sdk/”, line 232, in bound_callable
output_types, provenance)
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/qiime2/sdk/”, line 429, in callable_executor
ret_val = self._callable(output_dir=temp_dir, **view_args)
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/q2_demux/_summarize/”, line 121, in summarize
lambda x: os.path.join(str(data), x))
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/pandas/core/”, line 3194, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File “pandas/_libs/src/inference.pyx”, line 1472, in pandas._libs.lib.map_infer
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/q2_demux/_summarize/”, line 121, in
lambda x: os.path.join(str(data), x))
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/”, line 89, in join
genericpath._check_arg_types(‘join’, a, *p)
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/”, line 143, in _check_arg_types
(funcname, from None
TypeError: join() argument must be str or bytes, not ‘float’

Plugin error from demux:

join() argument must be str or bytes, not ‘float’

See above for debug info.


Thanks @Molly_Bletz!

Hmm, this sounds like something funky is happening with your Sample IDs in this viz. Can you give us a sampling of a few Sample IDs in your metadata file? I suspect you just found a bug in this viz, this info will help confirm. Thanks!

Hi Matthew,

No problem, here is a subset:


but I've also attached the full mapping file I've been using for the demultiplexing as there are a few with different structures.


SmPro_Mapping.txt (30.9 KB)

Thanks @Molly_Bletz - all looks good there - can you share Demulti_SmPro_PlasmidTrial_sequences3.qza? If not, can you run qiime tools export on it, run ls -lah on the output dir and provide those results here? Also, there will be a file in the dir called ‘MANIFEST’, please attach here, too (again, only if you can’t share the qza)/ Feel free to DM a link to me if you don’t want to post publicly. Thanks!

Hi @thermokarst,

Here is a link to Demulti file.

Let me know if you need anything else!



1 Like

Thanks for sharing @Molly_Bletz! You found a bug! :bug: I opened up an issue here. This was caused by a # in a Sample ID (SmProDNA.Va#2Control). If you update your sample metadata to remove that # and re-run demux emp-single again, that will strip the # from the ID, then you should be good to go. Sorry, that is a bummer because it looks like it took about 80 min to demux the first time, but, this should get you moving. Keep us posted! :t_rex:

1 Like

Thanks @thermokarst Worked like a charm after removing that #. I usually remove those kinds of characters from the SampleIDs, but must have missed that one. :slight_smile: Thanks again!



This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.