Skip to content

Commit b04263c

Browse files
committed
No more server-side demo
1 parent 8376664 commit b04263c

12 files changed

Lines changed: 39 additions & 1152 deletions

src/murfey/server/demo_api.py

Lines changed: 0 additions & 1009 deletions
This file was deleted.

src/murfey/server/feedback.py

Lines changed: 20 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ def _release_refine_hold(message: dict, _db):
555555
_db.close()
556556

557557

558-
def _register_incomplete_2d_batch(message: dict, _db, demo: bool = False):
558+
def _register_incomplete_2d_batch(message: dict, _db):
559559
"""Received first batch from particle selection service"""
560560
# the general parameters are stored using the preprocessing auto proc program ID
561561
logger.info("Registering incomplete particle batch for 2D classification")
@@ -664,24 +664,10 @@ def _register_incomplete_2d_batch(message: dict, _db, demo: bool = False):
664664
"processing_recipe", zocalo_message, new_connection=True
665665
)
666666
logger.info("2D classification requested")
667-
if demo:
668-
logger.info("Incomplete 2D batch registered in demo mode")
669-
if not _db.exec(
670-
select(func.count(db.Class2DParameters.particles_file)).where(
671-
db.Class2DParameters.particles_file == class2d_message["particles_file"]
672-
and db.Class2DParameters.pj_id == pj_id
673-
and db.Class2DParameters.complete
674-
)
675-
).one():
676-
_register_complete_2d_batch(message, _db=_db, demo=demo)
677-
message["class2d_message"]["particles_file"] = (
678-
message["class2d_message"]["particles_file"] + "_new"
679-
)
680-
_register_complete_2d_batch(message, _db=_db, demo=demo)
681667
_db.close()
682668

683669

684-
def _register_complete_2d_batch(message: dict, _db, demo: bool = False):
670+
def _register_complete_2d_batch(message: dict, _db):
685671
"""Received full batch from particle selection service"""
686672
instrument_name = (
687673
_db.exec(select(db.Session).where(db.Session.id == message["session_id"]))
@@ -748,12 +734,6 @@ def _register_complete_2d_batch(message: dict, _db, demo: bool = False):
748734
_murfey_class2ds(
749735
murfey_ids, class2d_message["particles_file"], _app_id(pj_id, _db), _db
750736
)
751-
if demo:
752-
_register_class_selection(
753-
{"session_id": message["session_id"], "class_selection_score": 0.5},
754-
_db=_db,
755-
demo=demo,
756-
)
757737
elif not feedback_params.class_selection_score:
758738
# For the first batch, start a container and set the database to wait
759739
job_number_after_first_batch = (
@@ -1007,7 +987,7 @@ def _flush_class2d(
1007987
_db.commit()
1008988

1009989

1010-
def _register_class_selection(message: dict, _db, demo: bool = False):
990+
def _register_class_selection(message: dict, _db):
1011991
"""Received selection score from class selection service"""
1012992
pj_id_params = _pj_id(message["program_id"], _db, recipe="em-spa-preprocess")
1013993
pj_id = _pj_id(message["program_id"], _db, recipe="em-spa-class2d")
@@ -1039,57 +1019,13 @@ def _register_class_selection(message: dict, _db, demo: bool = False):
10391019

10401020
feedback_params.class_selection_score = message.get("class_selection_score") or 0
10411021
feedback_params.hold_class2d = False
1042-
next_job = feedback_params.next_job
1043-
if demo:
1044-
for saved_message in class2d_db:
1045-
# Send all held Class2D messages on with the selection score added
1046-
_db.expunge(saved_message)
1047-
particles_file = saved_message.particles_file
1048-
logger.info("Complete 2D classification registered in demo mode")
1049-
_register_3d_batch(
1050-
{
1051-
"session_id": message["session_id"],
1052-
"class3d_message": {
1053-
"particles_file": particles_file,
1054-
"class3d_dir": "Class3D",
1055-
"batch_size": 50000,
1056-
},
1057-
},
1058-
_db=_db,
1059-
demo=demo,
1060-
)
1061-
logger.info("3D classification registered in demo mode")
1062-
_register_3d_batch(
1063-
{
1064-
"session_id": message["session_id"],
1065-
"class3d_message": {
1066-
"particles_file": particles_file + "_new",
1067-
"class3d_dir": "Class3D",
1068-
"batch_size": 50000,
1069-
},
1070-
},
1071-
_db=_db,
1072-
demo=demo,
1073-
)
1074-
_register_initial_model(
1075-
{
1076-
"session_id": message["session_id"],
1077-
"initial_model": "InitialModel/job015/model.mrc",
1078-
},
1079-
_db=_db,
1080-
demo=demo,
1081-
)
1082-
next_job += 3 if default_spa_parameters.do_icebreaker_jobs else 2
1083-
feedback_params.next_job = next_job
1084-
_db.close()
1085-
else:
1086-
_flush_class2d(
1087-
message["session_id"],
1088-
message["program_id"],
1089-
_db,
1090-
relion_params=relion_params,
1091-
feedback_params=feedback_params,
1092-
)
1022+
_flush_class2d(
1023+
message["session_id"],
1024+
message["program_id"],
1025+
_db,
1026+
relion_params=relion_params,
1027+
feedback_params=feedback_params,
1028+
)
10931029
_db.add(feedback_params)
10941030
for sm in class2d_db:
10951031
_db.delete(sm)
@@ -1225,7 +1161,7 @@ def _resize_intial_model(
12251161
return None
12261162

12271163

1228-
def _register_3d_batch(message: dict, _db, demo: bool = False):
1164+
def _register_3d_batch(message: dict, _db):
12291165
"""Received 3d batch from class selection service"""
12301166
class3d_message = message.get("class3d_message")
12311167
assert isinstance(class3d_message, dict)
@@ -1419,7 +1355,7 @@ def _register_3d_batch(message: dict, _db, demo: bool = False):
14191355
_db.close()
14201356

14211357

1422-
def _register_initial_model(message: dict, _db, demo: bool = False):
1358+
def _register_initial_model(message: dict, _db):
14231359
"""Received initial model from 3d classification service"""
14241360
pj_id_params = _pj_id(message["program_id"], _db, recipe="em-spa-preprocess")
14251361
# Add the initial model file to the database
@@ -1551,7 +1487,7 @@ def _flush_tomography_preprocessing(message: dict, _db):
15511487
_db.close()
15521488

15531489

1554-
def _flush_grid_square_records(message: dict, _db, demo: bool = False):
1490+
def _flush_grid_square_records(message: dict, _db):
15551491
tag = message["tag"]
15561492
session_id = message["session_id"]
15571493
gs_ids = []
@@ -1561,21 +1497,19 @@ def _flush_grid_square_records(message: dict, _db, demo: bool = False):
15611497
.where(db.GridSquare.tag == tag)
15621498
).all():
15631499
gs_ids.append(gs.id)
1564-
if demo:
1565-
logger.info(f"Flushing grid square {gs.name}")
1500+
logger.info(f"Flushing grid square {gs.name}")
15661501
for i in gs_ids:
1567-
_flush_foil_hole_records(i, _db=_db, demo=demo)
1502+
_flush_foil_hole_records(i, _db=_db)
15681503

15691504

1570-
def _flush_foil_hole_records(grid_square_id: int, _db, demo: bool = False):
1505+
def _flush_foil_hole_records(grid_square_id: int, _db):
15711506
for fh in _db.exec(
15721507
select(db.FoilHole).where(db.FoilHole.grid_square_id == grid_square_id)
15731508
).all():
1574-
if demo:
1575-
logger.info(f"Flushing foil hole: {fh.name}")
1509+
logger.info(f"Flushing foil hole: {fh.name}")
15761510

15771511

1578-
def _register_refinement(message: dict, _db, demo: bool = False):
1512+
def _register_refinement(message: dict, _db):
15791513
"""Received class to refine from 3D classification"""
15801514
instrument_name = (
15811515
_db.exec(select(db.Session).where(db.Session.id == message["session_id"]))
@@ -1725,7 +1659,7 @@ def _register_refinement(message: dict, _db, demo: bool = False):
17251659
_db.close()
17261660

17271661

1728-
def _register_bfactors(message: dict, _db, demo: bool = False):
1662+
def _register_bfactors(message: dict, _db):
17291663
"""Received refined class to calculate b-factor"""
17301664
instrument_name = (
17311665
_db.exec(select(db.Session).where(db.Session.id == message["session_id"]))
@@ -1846,7 +1780,7 @@ def _register_bfactors(message: dict, _db, demo: bool = False):
18461780
return True
18471781

18481782

1849-
def _save_bfactor(message: dict, _db, demo: bool = False):
1783+
def _save_bfactor(message: dict, _db):
18501784
"""Received b-factor from refinement run"""
18511785
pj_id = _pj_id(message["program_id"], _db, recipe="em-spa-refine")
18521786
bfactor_run = _db.exec(

src/murfey/server/run.py

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import argparse
44
import logging
5-
import os
65
from threading import Thread
76
from typing import Literal
87

@@ -105,10 +104,6 @@ def run():
105104
parser.add_argument(
106105
"--workers", help="Number of workers for Uvicorn server", type=int, default=2
107106
)
108-
parser.add_argument(
109-
"--demo",
110-
action="store_true",
111-
)
112107
parser.add_argument(
113108
"--feedback",
114109
action="store_true",
@@ -154,22 +149,16 @@ def run():
154149
# Install a log filter to all existing handlers.
155150
LogFilter.install()
156151

157-
if args.demo:
158-
# Run in demo mode with no connections set up
159-
os.environ["MURFEY_DEMO"] = "1"
160-
else:
161-
# Load RabbitMQ configuration and set up the connection
162-
try:
163-
PikaTransport().load_configuration_file(
164-
security_config.rabbitmq_credentials
165-
)
166-
_set_up_transport("PikaTransport")
167-
logger.info("Set up message transport manager")
168-
except WorkflowsError:
169-
logger.error(
170-
"Error encountered setting up RabbitMQ connection",
171-
exc_info=True,
172-
)
152+
# Load RabbitMQ configuration and set up the connection
153+
try:
154+
PikaTransport().load_configuration_file(security_config.rabbitmq_credentials)
155+
_set_up_transport("PikaTransport")
156+
logger.info("Set up message transport manager")
157+
except WorkflowsError:
158+
logger.error(
159+
"Error encountered setting up RabbitMQ connection",
160+
exc_info=True,
161+
)
173162

174163
# Set up logging now that the desired verbosity is known
175164
_set_up_logging(quiet=args.quiet, verbosity=args.verbose)

src/murfey/workflows/clem/register_align_and_merge_results.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def parse_stringified_list(cls, value):
4242

4343

4444
def register_align_and_merge_result(
45-
message: dict, murfey_db: Session, demo: bool = False
45+
message: dict, murfey_db: Session
4646
) -> dict[str, bool]:
4747
"""
4848
session_id (recipe)

src/murfey/workflows/clem/register_preprocessing_results.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ def _register_grid_square(
481481
return
482482

483483

484-
def run(message: dict, murfey_db: Session, demo: bool = False) -> dict[str, bool]:
484+
def run(message: dict, murfey_db: Session) -> dict[str, bool]:
485485
session_id: int = (
486486
int(message["session_id"])
487487
if not isinstance(message["session_id"], int)

src/murfey/workflows/register_atlas_update.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
def run(
1212
message: dict,
1313
murfey_db: SQLModelSession, # Defined for compatibility but unused
14-
demo: bool = False,
1514
):
1615
if _transport_object is None:
1716
logger.error("Unable to find transport manager")

src/murfey/workflows/register_data_collection.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@
1212
logger = logging.getLogger("murfey.workflows.register_data_collection")
1313

1414

15-
def run(
16-
message: dict, murfey_db: SQLModelSession, demo: bool = False
17-
) -> dict[str, bool]:
15+
def run(message: dict, murfey_db: SQLModelSession) -> dict[str, bool]:
1816
# Fail immediately if transport manager was not provided
1917
if _transport_object is None:
2018
logger.error("Unable to find transport manager")

src/murfey/workflows/register_data_collection_group.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
logger = logging.getLogger("murfey.workflows.register_data_collection_group")
1414

1515

16-
def run(
17-
message: dict, murfey_db: SQLModelSession, demo: bool = False
18-
) -> dict[str, bool]:
16+
def run(message: dict, murfey_db: SQLModelSession) -> dict[str, bool]:
1917
# Fail immediately if no transport wrapper is found
2018
if _transport_object is None:
2119
logger.error("Unable to find transport manager")

src/murfey/workflows/register_experiment_type_update.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
logger = logging.getLogger("murfey.workflows.register_data_collection_group")
1010

1111

12-
def run(
13-
message: dict, murfey_db: SQLModelSession, demo: bool = False
14-
) -> dict[str, bool]:
12+
def run(message: dict, murfey_db: SQLModelSession) -> dict[str, bool]:
1513
# Fail immediately if no transport wrapper is found
1614
if _transport_object is None:
1715
logger.error("Unable to find transport manager")

src/murfey/workflows/register_processing_job.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
logger = logging.getLogger("murfey.workflows.register_processing_job")
1515

1616

17-
def run(message: dict, murfey_db: SQLModelSession, demo: bool = False):
17+
def run(message: dict, murfey_db: SQLModelSession):
1818
# Faill immediately if not transport manager is set
1919
if _transport_object is None:
2020
logger.error("Unable to find transport manager")

0 commit comments

Comments
 (0)