funannotate icon indicating copy to clipboard operation
funannotate copied to clipboard

OSError: [Errno 28] No space left on device

Open CLAIRE-cuhk opened this issue 3 years ago • 2 comments

Hi, An error (OSError: [Errno 28] No space left on device) occurred when running exonerate. I checked my device, it looks like there is plenty of space left.

Filesystem Size Used Avail Use% Mounted on udev 363G 0 363G 0% /dev tmpfs 73G 187M 73G 1% /run /dev/sdg1 902G 656G 201G 77% / tmpfs 363G 0 363G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 363G 0 363G 0% /sys/fs/cgroup

Below is my nohup output:

[Apr 27 04:47 PM]: OS: Ubuntu 16.04, 48 cores, ~ 760 GB RAM. Python: 3.7.10 [Apr 27 04:47 PM]: Running funannotate v1.8.7 [Apr 27 04:47 PM]: Skipping CodingQuarry as --organism=other. Pass a weight larger than 0 to run CQ, ie --weights codingquarry:1 [Apr 27 04:47 PM]: Parsed training data, run ab-initio gene predictors as follows: Program Training-Method augustus busco genemark selftraining glimmerhmm busco snap busco [Apr 27 05:07 PM]: Loading genome assembly and parsing soft-masked repetitive sequences [Apr 27 05:10 PM]: Genome loaded: 28,065 scaffolds; 1,796,331,457 bp; 57.68% repeats masked [Apr 27 05:10 PM]: Aligning transcript evidence to genome with minimap2 [Apr 27 05:40 PM]: Found 647,976 alignments, wrote GFF3 and Augustus hints to file [Apr 27 05:40 PM]: Extracting hints from RNA-seq BAM file using bam2hints [Apr 27 07:40 PM]: Mapping 703,369 proteins to genome using diamond and exonerate [Apr 27 10:51 PM]: Found 29,021,086 preliminary alignments --> aligning with exonerate Traceback (most recent call last): File "/expt/expt_1/clairew/biosoft/conda/miniconda3/envs/funannotate/lib/python3.7/site-packages/funannotate/aux_scripts/funannotate-p2g.py", line 323, in with open(exonerate_raw, 'w') as output: OSError: [Errno 28] No space left on device: 'p2g_20280073-2d04-4d7a-a2c8-d0a86ce00687/exonerate.out.combined' Traceback (most recent call last): File "/expt/expt_1/clairew/biosoft/conda/miniconda3/envs/funannotate/bin/funannotate", line 10, in sys.exit(main()) File "/expt/expt_1/clairew/biosoft/conda/miniconda3/envs/funannotate/lib/python3.7/site-packages/funannotate/funannotate.py", line 705, in main mod.main(arguments) File "/expt/expt_1/clairew/biosoft/conda/miniconda3/envs/funannotate/lib/python3.7/site-packages/funannotate/predict.py", line 1047, in main lib.exonerate2hints(Exonerate, hintsP) File "/expt/expt_1/clairew/biosoft/conda/miniconda3/envs/funannotate/lib/python3.7/site-packages/funannotate/library.py", line 4008, in exonerate2hints with open(file, 'r') as input: FileNotFoundError: [Errno 2] No such file or directory: '/expt/expt_1/clairew/Funannotate_claire/Bger/step1.5_predict/predict_output/predict_misc/protein_alignments.gff3'

CLAIRE-cuhk avatar May 05 '21 10:05 CLAIRE-cuhk

this seems like it could be transient filespace usage or the files are cleaned up after funannotate aborts. I'd check the input folder size and/or monitor as you run funannotate to see when that occurs. running a df and some du -h during the run in another shell to see if you can track the file size usage.

The exonerate runs are writing to a temp dir p2g_20280073-2d04-4d7a-a2c8-d0a86ce00687 in your example which is cleaned after funannotate ends so you can't really check the size. It looks like you have 29M protein alignments to refine which may be a pretty big result file.

If this is a shared compute is it possible someone else also was writing to same shared disk?

Its unclear which filesystem you are running on relative to your df report above.

Sometimes I run funannotate in a temp dir on scratch partition and then migrate the data back over but your local disk should have more space than your /tmp anyways.

You could potentially reduce the size of your informant proteins and see if that improved your success - are you giving swissprot as the input db or something bigger?

hyphaltip avatar May 07 '21 03:05 hyphaltip

Thanks for your reply. I think you are right. Someone is running a heavy job at the same time on the disk. Also, I have multiple types of input db, including Bam file, closely related protein evidence, swissprot, and transcript evidence, which may produce huge amount of tmp files.

Here is my original script: funannotate predict -i masked_genome.fna --transcript_evidence Trinity-GG.fasta --protein_evidence close_species.faa $FUNANNOTATE_DB/uniprot_sprot.fasta --rna_bam merged.bam --genemark_mode ET --busco_seed_species fly--optimize_augustus --busco_db insecta --organism other --max_intronlen 200000 --name Pam --repeats2evm --cpus 10 --out predict_output

I will rerun funannotate with less protein evidence and see if that works.

Many thanks for your help.

CLAIRE-cuhk avatar May 07 '21 07:05 CLAIRE-cuhk