Documentation Status

Project Description

Admin related logistics regarding uploading and annotating data to Synapse for members of the VEOIBD consortium.

Before we begin

There are a few things that we take for granted at this point.

  1. You are a registered Synapse user.
  2. You have either Conda or Miniconda installed.
  3. You have the ability to execute Makefiles.
    • Linux/Unix/OS X should work fine out of the box.
    • Windows will need Cygwin installed or take advantage of the ability to run bash in Windows 10.

Registering with Synapse

  1. Create an account at Synapse
  2. You will need to register and become a certified user.

Installing

Download this project repository

Using git...

git clone https://github.com/ScottSnapperLab/veoibd-synapse-data-manager.git

Using your web browser...

  1. Click here to see a list of releases.
  2. Download and unzip.
  3. Navigate into the project folder.

“Install” the package

At your terminal, in the directory we created above:

make install

Now activate the conda environment that we just created with this command:

source activate veoibd_synapse

And let’s see the program’s main help text:

$ veoibd_synapse --help
Usage: veoibd_synapse [OPTIONS] COMMAND [ARGS]...

  Command interface to the veoibd-synapse-manager.

  For command specific help text, call the specific command followed by the
  --help option.

Options:
  -c, --config DIRECTORY  Path to optional config directory. If `None`,
                          configs/ is searched for *.yaml files.
  --home                  Print the home directory of the install and exit.
  --help                  Show this message and exit.

Commands:
  configs  Manage configuration values and files.
  push     Consume a push-config file, execute described...

Configuring

To generate fresh example configs in the config directory, use the veoibd_synapse configs command.

Usage: veoibd_synapse configs [OPTIONS]

  Manage configuration values and files.

Options:
  -l, --list                      Print the configuration values that will be
                                  used and exit.
  -g, --generate-configs          Copy one or more of the 'factory default'
                                  config files to the top-level config
                                  directory. Back ups will be made of any
                                  existing config files.  [default: False]
  -k, --kind [all|site|users|projects|push|pull]
                                  Which type of config should we replace?
                                  [default: all]
  --help                          Show this message and exit.
  • See Usage for more detailed information.

To generate a full set of fresh configs, run this:

veoibd_synapse configs --generate-configs

Uploading a batch of files

  • You need to have a project created on Synapse for the files to be sent to.
  • You will need to have created the appropriate configuration files:
    • See the config section
  • See Usage for more detailed information.

Lets take a look at the help text for the push command:

$ veoibd_synapse push  --help

Usage: veoibd_synapse push [OPTIONS]

  Consume a push-config file, execute described transactions, save record of
  transactions.

Options:
  -u, --user TEXT     Provide the ID for a user listed in the 'users' config
                      file.
  --push-config PATH  Path to the file where this specific 'push' is
                      configured.
  --help              Show this message and exit.

And a quick example command would be:

$ veoibd_synapse push -u GUSDUNN --push-config configs/GUSDUNN/new_WES_files.yaml