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

Hi,
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.

Thanks!

Molly

Hi @Molly_Bletz,

You can find the debug in this file:

/var/folders/kk/ppfc6f0x2v36xxkd7lpln88w0000gn/T/qiime2-q2cli-err-qu75omdf.log

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

 --verbose

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/commands.py”, 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/action.py”, line 232, in bound_callable
output_types, provenance)
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/site-packages/qiime2/sdk/action.py”, 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/_visualizer.py”, 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/series.py”, 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/_visualizer.py”, line 121, in
lambda x: os.path.join(str(data), x))
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/posixpath.py”, line 89, in join
genericpath._check_arg_types(‘join’, a, *p)
File “/Users/Molly-Mac/miniconda2/envs/qiime2-2018.6/lib/python3.5/genericpath.py”, line 143, in _check_arg_types
(funcname, s.class.name)) 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.

~Molly

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:

SmProDNA.NOVI-16
SmProDNA.NOVI-17
SmProDNA.EUWI-25
SmProDNA.NOVI-19
SmProDNA.NOVI-20
SmProDNA.EUWI-26
SmProDNA.NOVI-22
SmProDNA.NOVI-23
SmProDNA.NOVI-31
SmProDNA.NOVI-32
SmProDNA.NOVI-33

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

Best,
Molly

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.

https://drive.google.com/open?id=1FVixs3Ype63yOaGM_gtqT_lXDfuLJQuU

Let me know if you need anything else!

Thanks!

Best,
Molly

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!

~Molly

2 Likes

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