spring database

67 views
Skip to first unread message

cyanpku

unread,
Feb 14, 2016, 6:05:18 PM2/14/16
to emspring
Dear Carsten,

I would like to use the "class selection option" in segmentrefine3D to reconstruct from a certain 2D class. However it seems the spring.db doesn't contain the class information. I have provided the path to the ctf-convolved segment folder as the input spring/db for segmentclass, checked the prepare database option before running the segmentclaassifcation and here's the output error in report.log from running segmentrefine3D:

ValueError: All segments were excluded because of 'class' selection criteria. Please, use less stringent selection criteria for classes.

I got more or less the same error if I want to include either certain micrographs, defocus range, or out of plane tilt angle. Not sure how the spring database works. Do I need to manually merge the spring.db after each step or they are updated automatically?

Thanks a lot for your help,

Jing
University of Basel
Marek Basler's group

_______
spring --version && springenv e2version.py
_______
Spring environment loaded.
GUI from package Emspring-0.83.1449
Spring environment loaded.
EMAN 2.1 alpha2 (CVS 2013/08/07 17:01:09)
Your EMAN2 is running on:  NAME="Red Hat Enterprise Linux Server"
VERSION="7.2 (Maipo)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="7.2"
PRETTY_NAME="Red Hat Enterprise Linux Server 7.2 (Maipo)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:7.2:GA:server"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 7"
REDHAT_BUGZILLA_PRODUCT_VERSION=7.2
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="7.2"
Red Hat Enterprise Linux Server release 7.2 (Maipo)
Red Hat Enterprise Linux Server release 7.2 (Maipo) 3.10.0-327.el7.x86_64 x86_64
Your Python version is:  2.7.2


Carsten Sachse

unread,
Feb 15, 2016, 3:43:07 AM2/15/16
to emspring
Dear Jing,

On Monday, February 15, 2016 at 12:05:18 AM UTC+1, cyanpku wrote:
Dear Carsten,

I would like to use the "class selection option" in segmentrefine3D to reconstruct from a certain 2D class. However it seems the spring.db doesn't contain the class information. I have provided the path to the ctf-convolved segment folder as the input spring/db for segmentclass, checked the prepare database option before running the segmentclaassifcation and here's the output error in report.log from running segmentrefine3D:

ValueError: All segments were excluded because of 'class' selection criteria. Please, use less stringent selection criteria for classes. 

I got more or less the same error if I want to include either certain micrographs, defocus range, or out of plane tilt angle. Not sure how the spring database works. Do I need to manually merge the spring.db after each step or they are updated automatically?
The error message is quite clear. I suspect you are referring to the wrong spring.db. You should point to the updated file in the segmentclass folder. This will contain the updated class_id entries.

The easiest way to check whether the spring.db contains the desired class entries is to check the class_id fields of te spring.db by:
% sqlite3 spring.db .dump

I hope this clarifies the issue.

Best wishes,


Carsten  

cyanpku

unread,
Feb 15, 2016, 7:16:13 AM2/15/16
to emspring
Hi Carsten,
Thanks a lot for the clarification! The class selection option doesn't introduce error after choosing the spring.db from the segmentclass directory. However it seems nothing is excluded regardless of the "include classes" option.

Here's the session of report.log that confuses me:
***********************
INFO:wanjing:The selection resulted in the following number of included and excluded segments:
total       2042
--------  ------
included    2042
excluded       0
The number of segments that were excluded listed by criteria:
---------------  ---
seg_count          0
mic_count          0
helix_count        0
class_count      788
curvature_count    0
defocus_count      0
astig_count        0
layer_cc_count     0
-------
Does the segmentrefine3D refine all the segments and only use the specified one for reconstruction?
Thanks a lot for your help!
Jing

Carsten Sachse

unread,
Feb 16, 2016, 7:01:52 AM2/16/16
to emspring
Hi Jing,

The report.log is indeed a confusing. This requires updating the logging. You can be certain that it works. The selection process will remove the relevant segments assigned to those classes. 

A more detailed explanation:
The way Spring operates is that it still uses all segments of that helix containing the desired classes for alignment. First, it excludes helices that do not contain the desired classes. But it still includes all segments from helices with desired classes in order to compute alignment of consecutive segments and thus to make use of alignment restraints. Second after alignment, desired classes are included or excluded as specified. Therefore, the printed numbers do not reflect the entire data set numbers correctly. This needs to be revised in the logging. Thanks for pointing this out.

Best wishes,


Carsten
Reply all
Reply to author
Forward
0 new messages