q2d2
(Q2-D2)
September 7, 2022, 5:42pm
9
Hello everyone!
We have just finished up our patch release for 2022.8. This includes a couple of important updates and fixes to the QIIME 2 Framework, and a bug that we found within q2-feature-table. Resolved issues are linked below for anyone interested:
QIIME 2 Framework
opened 12:29AM - 01 Sep 22 UTC
closed 05:40PM - 07 Sep 22 UTC
**Bug Description**
I ran into a cryptic permissions error when trying out th… e same import command in two different user accounts on an Ubuntu remote server. Both are using the same `qiime2-2022.8` deployment, installed in the same way (according to qiime2 docs for conda, only difference being I used mamba to speed things up).
Import command:
```
qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-path manifest.tsv \
--output-path 16s.qza \
--input-format PairedEndFastqManifestPhred33V2
```
This is what I was seeing in terms of an error message:
```
Traceback (most recent call last):
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/q2cli/builtin/tools.py", line 157, in import_data
artifact = qiime2.sdk.Artifact.import_data(type, input_path,
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/sdk/result.py", line 299, in import_data
return cls._from_view(type_, view, view_type, provenance_capture,
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/sdk/result.py", line 334, in _from_view
artifact._archiver = archive.Archiver.from_data(
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/core/archive/archiver.py", line 379, in from_data
path, process_alias, cache = cls._make_temp_path(uuid)
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/core/archive/archiver.py", line 274, in _make_temp_path
cache = get_cache()
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/core/cache.py", line 67, in get_cache
_CACHE.temp_cache = Cache()
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/core/cache.py", line 169, in __init__
self.path = pathlib.Path(self._get_temp_path())
File "/home/inigo/miniconda3/envs/qiime2-2022.8/lib/python3.8/site-packages/qiime2/core/cache.py", line 264, in _get_temp_path
os.chmod(cache_dir, sticky_permissions)
PermissionError: [Errno 1] Operation not permitted: '/tmp/qiime2'
An unexpected error has occurred:
[Errno 1] Operation not permitted: '/tmp/qiime2'
See above for debug info.
```
**Steps to reproduce the behavior**
1. Run import command for user 1. Import succeeds.
2. Run import command for user 2. Import fails with output above.
3. Return to user 1 terminal session. Run `rm -rf /tmp/qiime2`
4. Return to user 2. Retry import. Import succeeds.
I tried changing permissions from user 1's account (`chmod -R 777 /tmp/qiime2`) but it didn't fix the problem. Only solution I've come up with so far is the `rm -rf /tmp/qiime2`
I also tried `qiime2-2022.2` with the failing user, and it succeeded. So it seems to be something specific to `qiime2-2022.8` as far as I can tell. So I guess I'll just use the previous version until this is fixed or someone can tell me what I'm doing wrong.
**Expected behavior**
I expected both user sessions to be able to write whatever tmp files they need without interfering with one another.
**Computation Environment**
- Ubuntu 20.04.4 LTS
- qiime2-2022.8
qiime2:2022.8-patches
← ebolyen:backport-jupytercache
opened 08:23PM - 06 Sep 22 UTC
q2-feature-table
opened 11:03PM - 02 Sep 22 UTC
closed 06:18PM - 06 Sep 22 UTC
**Bug Description**
There is a "SyntaxError: JSON.parse: unexpected character … at line 2 column 41185 of the JSON data" in q2-view on the interactive sample detail tab.
I inspected the webpage and found this console error: Query.Deferred exception: JSON.parse: unexpected character at line 2 column 41185 of the JSON data @https://view.qiime2.org/_/tzxmdl1o9jo/597ab77e-f75a-43b9-8726-cfb6d6b00bcb/data/sample-frequency-detail.html:131:21
j@https://view.qiime2.org/_/tzxmdl1o9jo/597ab77e-f75a-43b9-8726-cfb6d6b00bcb/data/q2templateassets/js/jquery-3.2.0.min.js:2:29999
Deferred/then/g/</k<@https://view.qiime2.org/_/tzxmdl1o9jo/597ab77e-f75a-43b9-8726-cfb6d6b00bcb/data/q2templateassets/js/jquery-3.2.0.min.js:2:30313
undefined
<img width="1438" alt="Screen Shot 2022-09-02 at 2 29 57 PM" src="https://user-images.githubusercontent.com/60228108/188237846-37136daf-36fb-4673-a398-685b770c3415.png">
I also received the same error on chrome with a different error: Uncaught SyntaxError: Unexpected token 'N', ..."atitude": NaN, "Long"... is not valid JSON. This error ended up being more helpful in pinpointing the reason behind the error.
<img width="741" alt="Screen Shot 2022-09-02 at 3 29 26 PM" src="https://user-images.githubusercontent.com/60228108/188242647-fc3ff124-878d-4360-bda9-1419641074be.png">
This error occurs when you summarize a feature table in QIIME2-2022.8 and the qiime2-dev env and view it with qiime2 view, however it does not occur when summarized in 2022.2.
its seems that 2022.8 uses Nan in the sample-frequency-detail.html for blank cells in numeric metadata columns and null in categorical metadata columns while 2022.2 only uses null
2022.8: This a screenshot from my metadata. Weather condition is categorical and Null while Latitude is numeric and Nan.
<img width="427" alt="Screen Shot 2022-09-02 at 3 39 37 PM" src="https://user-images.githubusercontent.com/60228108/188243305-28b20fde-387a-4433-be95-de989a7aaf72.png">
2022.2: Both are null.
<img width="399" alt="Screen Shot 2022-09-02 at 3 44 28 PM" src="https://user-images.githubusercontent.com/60228108/188243602-af07fb0f-b895-4582-8c30-5bde26c0671e.png">
**Steps to reproduce the behavior**
1. Have metadata that has blank cells in a numeric column
2. activate qiime2-2022.8 env
3. run qiime feature-table summarize with metadata
4. run qiime tools view or drag and drop .qzv into view.qiime2.org
5. click on Interactive Sample Details
6. see error
**Expected behavior**
The expected behavior is to be able to see the interactive quality plot but instead there is an error.
**Computation Environment**
- OS: macOS Catalina
- QIIME 2 Release 2022.8 and the most recent qiime2-dev
- Firefox v104.0.1 (64-bit)
Thanks @Oddant1 and @lizgehret for the help debugging this!
An updated Docker VM is also currently available for this patch release.
Happy :qiime2:ing!
2 Likes