upload ML Alignment run into DB problem.
Added by Anonymous almost 13 years ago
Hi,
I am trying to upload the results of ML2D run using this command
uploadMaxlikeAlignment.py --rundir=/local0/appion/12feb01a/align/maxlike5 -t 12feb13l03 --commit --projectid=6
It works fine untill it is trying to write to DB. How to solve it?
Here is the error:
EMAN: proc2d /local0/appion/12feb01a/align/maxlike5/alignstack.hed /local0/appion/12feb01a/align/maxlike5/average.mrc average
EMAN 1.9 Cluster ($Date: 2009/02/18 05:12:22 $).
Run 'proc2d help' for detailed help.
1 images10430 complete
... Getting stack data for stackid=27
Old stack info: 'still more bad particles ... 10433 particle substack of stackid 26 ... 10433 particle substack of stackid 26'
... Stack 27 pixel size: 3.256
... Ref num 13; 10433 parts; est time 1 min 53 sec
... Inserting MaxLike Run into DB
Traceback (most recent call last):
File "/usr/local/bin/uploadMaxlikeAlignment.py", line 634, in ?
maxLike.start()
File "/usr/local/bin/uploadMaxlikeAlignment.py", line 623, in start
self.insertRunIntoDatabase(alignimagicfile, runparams)
File "/usr/local/bin/uploadMaxlikeAlignment.py", line 275, in insertRunIntoDatabase
maxlikeq['student'] = runparams['student']
KeyError: 'student'
regards,
venkata
Replies (5)
RE: upload ML Alignment run into DB problem. - Added by Amber Herold almost 13 years ago
I'm not sure what is causing this. I couldn't reproduce it, I'll have to take a closer look tomorrow.
RE: upload ML Alignment run into DB problem. - Added by Amber Herold almost 13 years ago
Hi Venkata,
I can reproduce the error by corrupting the parameter pickle file that is produced during the alignment. Please check your .pickle file and look for the following lines:
sS'savemem' p28 I01 sS'student' p29 I00 sS'nproc' p30 I4
The value after 'student' is I00 if you ran a Gaussian Alignmnet and I01 if you ran Student's T. To be clear, the lines above are from a gaussian run. The following is for students:
sS'savemem' p28 I01 sS'student' p29 I01 sS'nproc' p30 I4
If this parameter is not in your pickle file, I wonder if the Appion web front end that you are using is a differnt version from the python back end?
You might be able to force the existing run to upload by adding the student parameter to the pickle file but I'm not sure.
RE: upload ML Alignment run into DB problem. - Added by Anonymous almost 13 years ago
Hi,
As per instructions, I checked Pickle files of the four test runs and one has student with I00 and I changed it to I01. I changed and tried it which has worked well. But for the other pickle files it was unable to create ´student´ paramater and add it manually, the results are not showing the averages and it is black. I attached a image for your reference. Regarding the python version, can you make it clear to check the versions in Appion web front.
thanks,
venkata
appion1.png (97.2 KB) appion1.png |
RE: upload ML Alignment run into DB problem. - Added by Amber Herold almost 13 years ago
Venkata,
We just reproduced this error in our lab. Seems there is a difference in our reference-based versus reference-free alignment parameters which is causing this upload issue. I'll fix it asap and let you know when the fix is available, hopefully in the next couple of days.
Best,
Amber
RE: upload ML Alignment run into DB problem. - Added by Amber Herold almost 13 years ago
#1574 fixes this issue. Venkata, I'm not sure what your installation setup is. If you have installed the main trunk using svn, you can update to r16370.
If you have installed a release version, I'll need to merge the fix over to branch that you have. Or if you feel comfortable just editing your copy of the python file, you can make the necessary changes yourself to the code.
Let me know if you need me to do a merge.
To check what version of Appion you have, you may be able to click on [test Dataset] from the Appion tools home page. Then click on [Troubleshoot]. Scrolling down the troubleshooting page should give you the Current Appion Version and Revision.
If this troubleshooting page is not available, it tells me that you have an older version.