Skip to content

copick sync picks

core

Synchronize picks between two Copick projects.

Usage

copick sync picks [OPTIONS]

Description

Copies pick annotations from a source Copick project to a target project. You can restrict the sync to specific runs, objects, and users, and optionally remap source names to different target names. The source may instead be one or more CryoET Data Portal datasets via --source-dataset-ids, in which case --config is ignored and a temporary dataportal configuration is created.

Pickable objects missing from the target project are created automatically before the picks are copied. Use --exist-ok to overwrite picks that already exist in the target.

Options

Option Type Default Description
-c, --config path Path to the configuration file.
--source-dataset-ids text "" Comma-separated list of dataset IDs to use as source from CryoET Data Portal. If provided, --config will be ignored and a temporary dataportal configuration will be created.
--target-config path required Path to the target configuration file.
--source-runs text "" Comma-separated list of source run names to synchronize. If not specified, all runs will be synced.
--target-runs text "" Comma-separated mapping of source run names to target run names (e.g. 'run1:target1,run2:target2'). If not specified, source run names will be used.
--source-objects text "" Comma-separated list of source object names to synchronize. If not specified, all objects will be synced.
--target-objects text "" Comma-separated mapping of source object names to target object names (e.g. 'ribosome:ribo,membrane:mem'). If not specified, source object names will be used.
--source-users text "" Comma-separated list of source user IDs to synchronize. If not specified, all users will be synced.
--target-users text "" Comma-separated mapping of source user IDs to target user IDs (e.g. 'user1:target1,user2:target2'). If not specified, source user IDs will be used.
--exist-ok / --no-exist-ok boolean flag False Allow overwriting existing picks in the target project.
--max-workers integer 4 Maximum number of worker threads to use for synchronization.
--log / --no-log boolean flag False Enable verbose logging of the synchronization process.
--debug / --no-debug boolean flag False Enable debug logging.

Examples

# Sync all picks from all runs
copick sync picks -c source_config.json --target-config target_config.json

# Sync specific runs with name mapping
copick sync picks -c source_config.json --target-config target_config.json \
    --source-runs "run1,run2" --target-runs "run1:new_run1,run2:new_run2"

# Sync specific objects with name mapping
copick sync picks -c source_config.json --target-config target_config.json \
    --source-objects "ribosome,membrane" --target-objects "ribosome:ribo,membrane:mem"

# Sync picks sourced from CryoET Data Portal datasets
copick sync picks --source-dataset-ids "10301,10302" --target-config target_config.json

See also