"[Errno 28] No space left on device" during Silva-based taxonomy classification

I've been trying to perform Silva-based taxonomy classification using V1-V2 16S rRNA sequencing data. I am using a Naive Bayes classifier trained on Silva 138 99% OTUs full-length sequences available on the QIIME2 official document (Data resources — QIIME 2 2022.8.3 documentation).
I am currently using Qiime2-2022.8 (installed via conda) on Ubuntu through Windows Subsystem for Linux (WSL). Please refer to the operating environment below.
OS: Windows10
Memory: 64GB
Storage: 1.5TB left

I got an error message "No space left on device" when I tried to run the classifier, even though I used ASVs created from just 5 samples.

$ qiime feature-classifier classify-sklearn
--p-n-jobs -10
--i-classifier silva-138-99-515-806-nb-classifier.qza
--i-reads rep-seqs.qza
--o-classification taxonomy.qza

Even after I specified a temporary directory according to the post below, I got the same error [Errno 28].
[URL] No space left on device classifier TMPDIR

Could you offer guidance on resolving the error?
Also, could you inform me of the storage capacity required to operate the classifier on 300 samples?

Thank you for your attention.

Hello @microbiome_25,

Can you run df in your wsl terminal and post the output here?

2 Likes

@colinvwood
Thank you for your reply.
The output of "df" is like this.
"/mnt/d" is the drive where the folder I am working on is located.

Filesystem     1K-blocks           Used        Available     Used%    Mounted on 
none            16365728	               4       16365728         1%      /mnt/wsl
none          499083260   187697796     311385464       38%      /usr/lib/wsl/drivers
:
:
drives        1953498108  414273428   1539224680       22%      /mnt/d 

Hello @microbiome_25,

Although your hard drive has plenty of space, it might not be the case that the partitions allotted to wsl have enough. Can you also run echo $TMPDIR; echo $TMP; echo $TEMP and post the output here?

Dear @colinvwood ,

Thank you for your reply.
I ran echo $TMPDIR; echo $TMP; echo $TEMP in the WSL terminal, but there was no output.
After running echo /temp, I got "/tmp".

Hello @microbiome_25,

I found this guide about managing disk space within WSL. Check it out to see if it helps.

Hello @colinvwood ,

Thank you for your response.
I expanded Ubuntu's virtual hard disk (VSD) size following the provided guide.
Below is the updated information on the virtual hard disk size for Ubuntu.
Virtual size: 1123 GB
Physical size: 48 GB

Unfortunately, I could not run the classifier as I received the same error as before: "[Errno 28] No space left on the device."

Now, I'm considering installing an HDD in the PC to expand its storage space.
Please let me know the amount of storage space required to run the classifier on 300 samples.
I've been trying to use the classifier below.
Classifier: Naive Bayes classifier trained on Silva 138 99% OTUs full-length sequences (Data resources — QIIME 2 2022.8.3 documentation)

Hello @microbiome_25,

It seems unlikely that with over a terabyte of available storage you would run of space classifying 5 samples. Can you share a screen shot of where it shows that you expanded the VHD to 1123 GB?

It's impossible to give an estimate of the disk space required for 300 samples because it will depend on many things.

You could also consider reaching out on a windows subsystem for linux help forum to make sure that you've configured the disk space correctly.

1 Like

Dear @colinvwood ,

Thank you for your response. I apologize for the late reply.
Attached is a screenshot of the Ubuntu VSD.

Hello @microbiome_25,

Interesting, I'm not sure what's happening to be honest. Because this is a WSL configuration issue and not a qiime2 one, I think you'll be better served on a help forum dedicated to WSL.

Hello @colinvwood ,

Thank you for your suggestion. I will ask for help on WSL configuration in a different forum.
I appreciate your support.

2 Likes

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