Tool migration error
I am trying to migrate EMBOSS tools from core galaxy code dir to shed_tools directory. I am getting following error with the migration script: {{{ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/pavgi/galaxy-exp/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}} Following are tool shed related config files: {{{ $ cat tool_sheds_conf.xml <?xml version="1.0"?> <tool_sheds> <tool_shed name="Galaxy main tool shed" url="http://toolshed.g2.bx.psu.edu/"/> <tool_shed name="Galaxy test tool shed" url="http://testtoolshed.g2.bx.psu.edu/"/> </tool_sheds> $ cat shed_tool_conf.xml <?xml version="1.0"?> <toolbox tool_path="../shed_tools"> </toolbox> }}} I am using system Python 2.6 on CentOS 6.2 system. However, I was able to reproduce this error on CentOS 5.8 system with custom Python 2.6 install as well. Any pointers on what might be wrong here will be really helpful. -- Thanks, Shantanu
Hello Shantanu, What is the result of typing the following in your Galaxy installation directory? hg heads Als, the result of the following: hg status And finally, the results of the following: hg diff Thanks! Greg Von Kuster On Jun 1, 2012, at 5:12 PM, Shantanu Pavgi wrote:
I am trying to migrate EMBOSS tools from core galaxy code dir to shed_tools directory. I am getting following error with the migration script:
{{{ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/pavgi/galaxy-exp/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}}
Following are tool shed related config files:
{{{ $ cat tool_sheds_conf.xml <?xml version="1.0"?> <tool_sheds> <tool_shed name="Galaxy main tool shed" url="http://toolshed.g2.bx.psu.edu/"/> <tool_shed name="Galaxy test tool shed" url="http://testtoolshed.g2.bx.psu.edu/"/> </tool_sheds>
$ cat shed_tool_conf.xml <?xml version="1.0"?> <toolbox tool_path="../shed_tools"> </toolbox>
}}}
I am using system Python 2.6 on CentOS 6.2 system. However, I was able to reproduce this error on CentOS 5.8 system with custom Python 2.6 install as well. Any pointers on what might be wrong here will be really helpful.
-- Thanks, Shantanu
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
Just want to update on the list about this error. I had followed up with Greg on this issue off-list as I didn't want to share all the hg output here on the list. The galaxy had downloaded Mercurial egg however it's directory wasn't defined in the PYTHONPATH environment variable. However, it was included in the sys.path which I verified by printing it in the tool migration application. While debugging this issue, I downloaded Mercurial (egg) externally using easy_install tool and set up PYTHONPATH to point to this external Mercurial egg. After this the tool migration script worked fine. So should this galaxy-mercurial egg directory and other galaxy egg directories be included in the PYTHONPATH environment variable? Also, I noticed that tool migration application failed again when I had default sqlite database URL mentioned in the universe_wsgi.ini file as it is (commented out). It works fine if the default database URL is uncommented. {{{ $ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}} -- Thanks, Shantanu On Jun 1, 2012, at 6:29 PM, Greg Von Kuster wrote:
Hello Shantanu,
What is the result of typing the following in your Galaxy installation directory?
hg heads
Als, the result of the following:
hg status
And finally, the results of the following:
hg diff
Thanks!
Greg Von Kuster
On Jun 1, 2012, at 5:12 PM, Shantanu Pavgi wrote:
I am trying to migrate EMBOSS tools from core galaxy code dir to shed_tools directory. I am getting following error with the migration script:
{{{ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/pavgi/galaxy-exp/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}}
Following are tool shed related config files:
{{{ $ cat tool_sheds_conf.xml <?xml version="1.0"?> <tool_sheds> <tool_shed name="Galaxy main tool shed" url="http://toolshed.g2.bx.psu.edu/"/> <tool_shed name="Galaxy test tool shed" url="http://testtoolshed.g2.bx.psu.edu/"/> </tool_sheds>
$ cat shed_tool_conf.xml <?xml version="1.0"?> <toolbox tool_path="../shed_tools"> </toolbox>
}}}
I am using system Python 2.6 on CentOS 6.2 system. However, I was able to reproduce this error on CentOS 5.8 system with custom Python 2.6 install as well. Any pointers on what might be wrong here will be really helpful.
-- Thanks, Shantanu
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
Hello Shantanu, Sorry for the delay on this - I've been backed up since the weekend when we were trading emails. The way Galaxy works with eggs is fairly complex with regard to handling conflicts, which is undoubtedly what is happening in your environment since you have the mercurial package installed for your Python 2.6. Your environment probably results in a conflict that is not properly handled by the version_conflict() method in ~/lib/galaxy/eggs/__init__.py. On Jun 4, 2012, at 4:04 PM, Shantanu Pavgi wrote:
Just want to update on the list about this error. I had followed up with Greg on this issue off-list as I didn't want to share all the hg output here on the list.
The galaxy had downloaded Mercurial egg however it's directory wasn't defined in the PYTHONPATH environment variable. However, it was included in the sys.path which I verified by printing it in the tool migration application. While debugging this issue, I downloaded Mercurial (egg) externally using easy_install tool and set up PYTHONPATH to point to this external Mercurial egg. After this the tool migration script worked fine.
So should this galaxy-mercurial egg directory and other galaxy egg directories be included in the PYTHONPATH environment variable?
For Galaxy, you really don't have to set PYTHONPATH at all, so if you are not using it for other Python related stuff on your Galaxy server, try unsetting it, and Galaxy's mercurial egg will probably be found. If you need PYTHONPATH set, take a look at the version_conflict() method in ~/lib/galaxy/eggs/__init__.py and see if you can figure out what is not being handled in your environment.
Also, I noticed that tool migration application failed again when I had default sqlite database URL mentioned in the universe_wsgi.ini file as it is (commented out). It works fine if the default database URL is uncommented.
I'll take a look at this. Thanks for reporting it.
{{{ $ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split'
}}}
-- Thanks, Shantanu
On Jun 1, 2012, at 6:29 PM, Greg Von Kuster wrote:
Hello Shantanu,
What is the result of typing the following in your Galaxy installation directory?
hg heads
Als, the result of the following:
hg status
And finally, the results of the following:
hg diff
Thanks!
Greg Von Kuster
On Jun 1, 2012, at 5:12 PM, Shantanu Pavgi wrote:
I am trying to migrate EMBOSS tools from core galaxy code dir to shed_tools directory. I am getting following error with the migration script:
{{{ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/pavgi/galaxy-exp/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/pavgi/galaxy-exp/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}}
Following are tool shed related config files:
{{{ $ cat tool_sheds_conf.xml <?xml version="1.0"?> <tool_sheds> <tool_shed name="Galaxy main tool shed" url="http://toolshed.g2.bx.psu.edu/"/> <tool_shed name="Galaxy test tool shed" url="http://testtoolshed.g2.bx.psu.edu/"/> </tool_sheds>
$ cat shed_tool_conf.xml <?xml version="1.0"?> <toolbox tool_path="../shed_tools"> </toolbox>
}}}
I am using system Python 2.6 on CentOS 6.2 system. However, I was able to reproduce this error on CentOS 5.8 system with custom Python 2.6 install as well. Any pointers on what might be wrong here will be really helpful.
-- Thanks, Shantanu
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
On Jun 4, 2012, at 3:45 PM, Greg Von Kuster wrote: Hello Shantanu, Sorry for the delay on this - I've been backed up since the weekend when we were trading emails. The way Galaxy works with eggs is fairly complex with regard to handling conflicts, which is undoubtedly what is happening in your environment since you have the mercurial package installed for your Python 2.6. Your environment probably results in a conflict that is not properly handled by the version_conflict() method in ~/lib/galaxy/eggs/__init__.py. On Jun 4, 2012, at 4:04 PM, Shantanu Pavgi wrote: Just want to update on the list about this error. I had followed up with Greg on this issue off-list as I didn't want to share all the hg output here on the list. The galaxy had downloaded Mercurial egg however it's directory wasn't defined in the PYTHONPATH environment variable. However, it was included in the sys.path which I verified by printing it in the tool migration application. While debugging this issue, I downloaded Mercurial (egg) externally using easy_install tool and set up PYTHONPATH to point to this external Mercurial egg. After this the tool migration script worked fine. So should this galaxy-mercurial egg directory and other galaxy egg directories be included in the PYTHONPATH environment variable? For Galaxy, you really don't have to set PYTHONPATH at all, so if you are not using it for other Python related stuff on your Galaxy server, try unsetting it, and Galaxy's mercurial egg will probably be found. If you need PYTHONPATH set, take a look at the version_conflict() method in ~/lib/galaxy/eggs/__init__.py and see if you can figure out what is not being handled in your environment. Also, I noticed that tool migration application failed again when I had default sqlite database URL mentioned in the universe_wsgi.ini file as it is (commented out). It works fine if the default database URL is uncommented. I'll take a look at this. Thanks for reporting it. {{{ $ sh ./scripts/migrate_tools/0002_tools.sh Traceback (most recent call last): File "./scripts/migrate_tools/migrate_tools.py", line 21, in <module> app = MigrateToolsApplication( sys.argv[ 1 ] ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/tool_shed/migrate/common.py", line 81, in __init__ object_store=self.object_store ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1836, in init load_egg_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1816, in load_egg_for_url dialect = guess_dialect_for_url( url ) File "/home/shantanu/tmp/galaxy-dist/lib/galaxy/model/mapping.py", line 1812, in guess_dialect_for_url return (url.split(':', 1))[0] AttributeError: 'bool' object has no attribute 'split' }}} -- Thanks, Shantanu Greg, Thanks for the reply. I don't have any rush on this issue but just wanted to update on the list before I forget about it. I was using PYTHONPATH only to get an external tool dependency (MACS<http://liulab.dfci.harvard.edu/MACS/>) in the galaxy's environment. As you mentioned, this may have caused some issues while locating galaxy-Mercurial egg, which got resolved after I externally installed Mercurial and also got it in PYTHONPATH. I tried unsetting PYTHONPATH completely which got external - MACS and mercurial - installations out of the galaxy environment, however, it didn't resolve the tool migration error. I will dig into this issue later in the week. Right now it's not a blocking issue as I have migrated EMBOSS tool using external-Mercurial. Thanks for pointing out the code details. -- Shantanu
participants (2)
-
Greg Von Kuster
-
Shantanu Pavgi