ete icon indicating copy to clipboard operation
ete copied to clipboard

please respect TMPDIR envar if available

Open EricDeveaud opened this issue 2 years ago • 1 comments

Hello,

while testing ete-3.1.2 command line tools on our cluster I had some disk/IO error see:

loaded:0010000 skipped:0000000 scanned:0010000 14.7%
WRNG -  disk I/O error
loaded:0020000 skipped:0000000 scanned:0020000 29.5%
loaded:0030000 skipped:0000000 scanned:0030000 44.2%
WRNG -  disk I/O error
loaded:0040000 skipped:0000000 scanned:0040000 59.0%
WRNG -  disk I/O error
loaded:0050000 skipped:0000000 scanned:0050000 73.7%
loaded:0060000 skipped:0000000 scanned:0060000 88.5%
WRNG -  disk I/O error

this is due to a quota on /tmp (10 Mb)

while checking the code I noticed that

ete3/evol/evoltree.py:        self.workdir = '/tmp/ete3-tmp/'
ete3/tools/ete_build.py:                cmd = apps.get_call(k, APPSPATH, "/tmp", "1")
ete3/tools/ete_build.py:            Tree().render('/tmp/etenpr_img_test.png')

it would be nice to have instead of /tmp hardcoded something like

ete3/evol/evoltree.py: self.workdir = os.path.join(os.environ.get(TMPDIR, '/tmp'), 'ete3-tmp')

ete3/tools/ete_build.py: Tree().render(os.path.join(os.environ.get('TMPDIR', '/tmp')), 'etenpr_img_test.png') not sure it worth the change for the cmd one.

NB using the snippet for evoltree.py

>>> import os
>>> 'TMPDIR' in os.environ 
False
>>> os.path.join(os.environ.get('TMPDIR', '/tmp'), 'ete3-tmp')
'/tmp/ete3-tmp'
>>> os.environ['TMPDIR']='/tmp'
>>> os.path.join(os.environ.get('TMPDIR', '/tmp'), 'ete3-tmp')
'/tmp/ete3-tmp'
>>> os.environ['TMPDIR']='/foo'
>>> os.path.join(os.environ.get('TMPDIR', '/tmp'), 'ete3-tmp')
'/foo/ete3-tmp'
>>> 

regards

Eric

EricDeveaud avatar Mar 11 '22 15:03 EricDeveaud

Hi Eric, sure, will do :) thanks for reporting the issue, and for the snippet :)

fransua avatar Mar 11 '22 15:03 fransua