ete
ete copied to clipboard
please respect TMPDIR envar if available
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
Hi Eric, sure, will do :) thanks for reporting the issue, and for the snippet :)