feature-classifier: errno 28 no space left on device

Hi, I am running the feature-classifier command in qiime 2 v. 2021.2 but have got the error:
[Errno 28] No space left on device

I have looked up solutions but I am unsure how to solve this problem. I am running the command on a large server which should have plenty of space. I saw something about editing the docker but I am new to this and not sure how to do this correctly.

See command below and output error message.

qiime feature-classifier fit-classifier-naive-bayes --i-reference-reads silva_extracted_ref_seqs.qza --i-reference-taxonomy silva_ref_taxonomy.qza --o-classifier silva_trained_classifier.qza

/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/q2_feature_classifier/classifier.py:102: UserWarning: The TaxonomicClassifier artifact that results from this method was trained using scikit-learn version 0.23.1. It cannot be used with other versions of scikit-learn. (While the classifier may complete successfully, the results will be unreliable.)
warnings.warn(warning, UserWarning)
Traceback (most recent call last):
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/q2cli/commands.py”, line 329, in call
results = action(**arguments)
File “”, line 2, in fit_classifier_naive_bayes
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/qiime2/sdk/action.py”, line 245, in bound_callable
output_types, provenance)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/qiime2/sdk/action.py”, line 418, in callable_executor
spec.qiime_type, output_view, spec.view_type, prov)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/qiime2/sdk/result.py”, line 267, in _from_view
result = transformation(view, validate_level)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/qiime2/core/transform.py”, line 70, in transformation
new_view = transformer(view)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/site-packages/q2_feature_classifier/_taxonomic_classifier.py”, line 86, in _2
tar.add(fn, os.path.basename(fn))
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/tarfile.py”, line 1954, in add
self.addfile(tarinfo, f)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/tarfile.py”, line 1982, in addfile
copyfileobj(fileobj, self.fileobj, tarinfo.size, bufsize=bufsize)
File “/home/ubuntu/anaconda3/envs/qiime2-2021.2/lib/python3.6/tarfile.py”, line 252, in copyfileobj
dst.write(buf)
OSError: [Errno 28] No space left on device

Hi there, @lec49 :wave:

Have you tried searching the forum? If you search the forum for feature-classifier No space left on device you will find a lot of discussion about this issue.

This post, for example, is a great place to start and sounds like it may address your issue directly.

If you have questions, don't hesitate to follow up!

1 Like

Thank you for sharing the link to that issue. I was able to resolve it by creating a new folder for the temporary files.
I created a new directory for tmp files in a partition with a lot of space, then exported the TMPDIR there:

(base) ubuntu@lyndsay:~$ export TMPDIR=’/media/lyndsay_1/new_tmp_dir/’

The original command has now completed successfully.

N.B. Apparently exporting the TMPDIR only works for the terminal session you are currently in so each time you have this issue you will need to re-run the command.

2 Likes

Glad to hear it, @lec49! Note that you can automatically set environment variables by adding export statements to your ~/.bashrc. You will find plenty of resources by Googling something like “environment variables and bashrc.” It’s definitely something worth taking the time to learn about and shouldn’t take you too long! Feel free to ping me if you need help setting that up.

Cheers! :clinking_glasses:

2 Likes