Commit 16a81193 by Mathieu

BUSCO 3.0.2

parent 078252e0
No preview for this file type
3.0.2
- The ~ character can be used in the config.ini file
3.0.1
- Add the environment variable BUSCO_CONFIG_FILE
- Add the –blast_single_core option
......
......@@ -210,21 +210,21 @@ class BuscoAnalysis(Analysis):
if not Tool.check_tool_available('tblastn', self._params):
BuscoAnalysis._logger.error(
'\"tblastn\" is not accessible, please '
'add or modify its path in the config file')
'add or modify its path in the config file. Do not include the commmand in the path !')
raise SystemExit
# check 'makeblastdb' command availability
if not Tool.check_tool_available('makeblastdb', self._params):
BuscoAnalysis._logger.error(
'\"makeblastdb\" is not accessible, please '
'add or modify its path in the config file')
'add or modify its path in the config file. Do not include the commmand in the path !')
raise SystemExit
# check 'hmmersearch' command availability
if not Tool.check_tool_available('hmmsearch', self._params):
BuscoAnalysis._logger.error(
'\"hmmsearch\" is not accessible, '
'add or modify its path in the config file')
'add or modify its path in the config file. Do not include the commmand in the path !')
raise SystemExit
# check hmm version
......
......@@ -169,21 +169,19 @@ class BuscoConfig(PipeConfig):
if item[0].endswith('_path'):
self.set('busco', item[0], BuscoConfig.nice_path(item[1]))
# Convert the ~ into full home path
if checks:
for key in self.items():
for item in self.items(key[0]):
if item[0].endswith('_path') or item[0] == 'path' or item[0] == 'in':
if item[1].startswith('~'):
self.set(key[0], item[0], os.path.expanduser(item[1]))
# And check that in and lineage path and file actually exists
if checks:
for item in self.items('busco'):
if item[0] == 'lineage_path' or item[0] == 'in':
BuscoConfig.check_path_exist(item[1])
# Prevent the user form using "~" as home
if checks:
for item in self.items('busco'):
if item[0].endswith('_path'):
if item[1].startswith('~'):
BuscoConfig._logger.error('Do not use the \'~\' character as home in the config file, '
'use the full path instead')
raise SystemExit
# Prevent the user form using "/" in out name
if checks:
if '/' in self.get('busco', 'out'):
......
......@@ -139,7 +139,8 @@ class GeneSetAnalysis(BuscoAnalysis):
if not Tool.check_tool_available('hmmsearch', self._params):
BuscoAnalysis._logger.error(
'\"hmmsearch\" is not accessible, '
'add or modify its path in the config file')
'add or modify its path in the config file. Do not include the command '
'in the path !')
raise SystemExit
# check version
......
......@@ -1105,7 +1105,8 @@ class GenomeAnalysis(BuscoAnalysis):
# check 'augustus' command availability
if not Tool.check_tool_available('augustus', self._params, True):
GenomeAnalysis._logger.error(
'\"augustus\" is not accessible, check its path in the config.ini file, and '
'\"augustus\" is not accessible, check its path in the config.ini file (do not include the commmand '
'in the path !), and '
'add it to your $PATH environmental variable (the entry in config.ini is not sufficient '
'for retraining to work properly)')
raise SystemExit
......@@ -1113,7 +1114,8 @@ class GenomeAnalysis(BuscoAnalysis):
# check availability augustus - related commands
if not Tool.check_tool_available('etraining', self._params, True):
GenomeAnalysis._logger.error(
'\"etraining\" is not accessible, check its path in the config.ini file, and '
'\"etraining\" is not accessible, check its path in the config.ini file(do not include the commmand '
'in the path !), and '
'add it to your $PATH environmental variable (the entry in config.ini is not sufficient '
'for retraining to work properly)')
raise SystemExit
......@@ -1122,21 +1124,24 @@ class GenomeAnalysis(BuscoAnalysis):
GenomeAnalysis._logger.error(
'Impossible to locate the required script gff2gbSmallDNA.pl. '
'Check that you properly declared the path to augustus scripts folder in your '
'config.ini file')
'config.ini file (do not include the script name '
'in the path !)')
raise SystemExit
if not Tool.check_tool_available('new_species.pl', self._params):
GenomeAnalysis._logger.error(
'Impossible to locate the required script new_species.pl. '
'Check that you properly declared the path to augustus scripts folder in your '
'config.ini file')
'config.ini file (do not include the script name '
'in the path !)')
raise SystemExit
if not Tool.check_tool_available('optimize_augustus.pl', self._params):
GenomeAnalysis._logger.error(
'Impossible to locate the required script optimize_augustus.pl. '
'Check that you properly declared the path to augustus scripts folder in your '
'config.ini file')
'config.ini file (do not include the script name '
'in the path !)')
raise SystemExit
def _check_file_dependencies(self):
......
......@@ -6,4 +6,4 @@ Copyright (c) 2016-2017, Evgeny Zdobnov (ez@ezlab.org)
Licensed under the MIT license. See LICENSE.md file.
"""
__version__ = "3.0.1"
__version__ = "3.0.2"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment