Commands

Run workflow with sfkit. Start with sfkit auth to authenticate.

usage: sfkit [-h]
             {auth,networking,generate_keys,register_data,run_protocol,server,client,run,all}
             ...

Positional Arguments

command

Possible choices: auth, networking, generate_keys, register_data, run_protocol, server, client, run, all

Sub-commands

auth

Authenticate with the CLI

sfkit auth [-h] [--study_id STUDY_ID]

Named Arguments

--study_id

Study ID to authenticate with (for usage on Terra). If not provided, you will be prompted to select from a list of available studies.

networking

Set up the networking, including your IP address and any relevant ports

sfkit networking [-h] [--ports PORTS] [--ip_address IP_ADDRESS]

Named Arguments

--ports

Comma-separated list of ports you want to use for communication for each other User respectively. In a two-party study, you only need to provide one port (e.g. 8100). For each port provided, you should be sure to open that port and the next few ports (for faster communication) in your firewall. If not provided, you may be prompted to enter a port for each participant.

--ip_address

IP address you want to use for communication. If not provided, your external IP address will be determined automatically.

generate_keys

Generate your public and private cryptographic keys

sfkit generate_keys [-h]

register_data

Register and validate your data.

sfkit register_data [-h] [--geno_binary_file_prefix GENO_BINARY_FILE_PREFIX]
                    [--data_path DATA_PATH]

Named Arguments

--geno_binary_file_prefix

Absolute path to the genotype binary file prefix for SF-GWAS (e.g. /home/username/for_sfgwas/geno/ch%d). See https://sfkit.org/instructions#data_preparation for more details on the files you need.

--data_path

Absolute path to the data directory (files like pheno.txt and cov.txt for GWAS and data.txt for PCA) (e.g. /home/username/for_sfgwas). See https://sfkit.org/instructions#data_preparation for more details on the files you need.

run_protocol

Run the protocol. When not using docker, this command will also install required dependencies and software updates as needed. As this command may be long-running, you may consider using nohup, screen, or tmux.

sfkit run_protocol [-h] [--skip_cp0] [--demo]
                   [--visualize_results VISUALIZE_RESULTS]
                   [--results_path RESULTS_PATH] [--retry]

Named Arguments

--skip_cp0

Skip the creation of cp0 for party 1

Default: False

--demo

Run the demo protocol

Default: False

--visualize_results

Visualize the results in the UI (Yes or No) (default is No)

--results_path

The path in a GCP bucket (you have access to) where you would like to send the results of the protocol (e.g. <bucket>/<path>).

--retry

Retry the protocol

Default: False

server

Start the sfkit server.

sfkit server [-h]

client

Start the sfkit client.

sfkit client [-h] [--study_id STUDY_ID] [--data_path DATA_PATH]

Named Arguments

--study_id

Study ID for the client to use.

--data_path

Path to the data directory for the client.

run (all)

All-in-one command to set up and run the protocol.

sfkit run [-h] [--study_id STUDY_ID] [--data_path DATA_PATH]

Named Arguments

--study_id

Study ID for the client to use.

--data_path

Path to the data directory for the client.