Q: I have run refine2d.py on different datasets with different number of particles (2000 to 4000) as follow:

refine2d.py start.hed --iter=8 --ninicls=30

As a result it was produced always 10 classes for each dataset I have tested. Even I changed ninitcls= to 50 , 5, or 20 always 10 classes were created. According wiki there is possible to specify number of classes.

I am using EMAN v1.8. After running refine2d.py --version the output is: EMAN2 v1.9.

On other linux box I have installed EMAN v1.7 and in this case the syntax is little bit different: I can specify number of classes as --ncls= together with number of initial classes --ninitcls. And the calculated number of classes are according specified --ncls=.

Do you have any idea how to fix this problem?

A: The first iteration of refine2d always produces 10 iterations, but after that it should have how ever many you specified. Are you seeing iter.1.hed/img iter.2.hed/img, etc. files ? Are you looking at iter.final.hed ?

The EMAN2 v1.9 message is a typo in the software. Are you using the 1.8 release version or a nightly snapshot version ? If you are using 1.8, try a snapshot and see if the problem is fixed. If not, submit additional info on this page...

Q: Yes, I am using the snapshot (by the way, thanks for this, the snapshot fixed the problem with displaying the number of particles per class on my previous wiki post 2 days ago)and also I see all output files produced by refine2d.py and iter.xxx.hed/img plus iter.final.hed/img as well as iter.final.sort. contain only already mentioned 10 classes.

I have run it as: refine2d.py start.hed --iter=8 --ninicls=30

In the meantime (during typing this post) I am running the same command as:

refine2d.py start.hed --iter=8 -I 30 (instead --ninitcls=30)

and it seems to work. Classes.nr.hed/img contains 10 class averages as well as iter.0.hed/img but all others plus iter.final.hed/img contain 30 class averages and there are 30 clsxxx.lst files.

It is really strange how so minor changes could affect the results.

When you type refine2d.py --help it's displayed:

--version -h, --help --iter=ITER --nosvd

-I NINITCLS, --ninitcls=NINITCLS (I thought that -I and --ninitcls= are identical parameters...)

-F FINALSEP, --finalsep=FINALSEP

-P PROC, --proc=PROC --minptcl=MINPTCL -C CTFCW, --ctfcw=CTFCW

-B NBASIS, --nbasis=NBASIS

--nofinalsort

--logptcl

--debug

A: Hi. Please don't add a new page when you reply. Just edit this page and put new details here. I cleaned it up this time. The name you used for the original page had spaces and dashes in it so I renamed it to something wiki-style.

I should point out that twice now you posted the command you ran as: refine2d.py start.hed --iter=8 --ninicls=30

Since you typed it correctly elsewhere, I assumed it was a typo, but there is a 't' missing in the option above, which could cause problems like this. Could that be the culprit (though I think it would detect a typo like that...) ?

I don't see anything else obvious that's wrong... If that isn't the problem, please do an:

iminfo start.hed all >startinfo and post startinfo here as an attachment.

Q: Sorry, (the typo was only on this page, in emanlog is correct as is typed bellow) to clarify this problem: command refine2d.py start.hed --iter=8 --ninitcls=30 created 10 classes. When I changed it as: refine2d.py start.hed --iter=8 -I 30 (instead --ninitcls=30) it worked fine and created 30 classes (except classes.nr.hed/img and iter.0.hed/img). Only difference I see here is -I option instead --ninitcls= option. But I am little bit confused thought that they are the same. Or not? PS: I attached the startinfo file too.