Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Setting up the Challenge infrastructure

  • Launching the Challenge space

  • Setting up the Challenge wiki

  • Updating the Challenge

  • Interacting with the submitted entries

...

Before You Begin

Computing Power

At Sage Bionetworks, we generally provision an EC2 Linux instance for a Challenge that leverages SynapseWorkflowOrchestrator to run CWL workflows.  These workflows will be responsible for evaluating and scoring submissions (see model-to-data-challenge-workflow GitHub for an example workflow).  If Sage Bionetworks is responsible for the cloud compute services, please give a general estimate of the computing power (memory, volume) needed.  We can also help with the estimates if you are unsure.

...

Panel
panelIconId1f914
panelIcon:thinking:
panelIconText🤔
bgColor#F4F5F7

Example

Let’s say a submission file that is very large and/or complex will require up to 10GB of memory for evaluation.  If a max of four submissions should be run at the same time, then an instance of at least 40GB memory will be required (give or take some extra memory for system processes as well), whereas ten concurrent submissions would require at least 100GB.

The volume of the instance will be dependent on variables such as the size of the input files and the generated output files.  If running a model-to-data Challenge, Docker images should also be taken into account.  On average, participants will create Docker images that are around 2-4 GB in size, though some have reached up to >10 GB.  Always encourage participants to follow Dockerfile Best Practices to ensure they are submitting as optimal of images as possible.

Using Sensitive Data

Synapse has the ability to apply access restrictions to sensitive data (e.g. human data), so that legal requirements are met before participants can access it. If human data are being used in the Challenge, or if you have any questions about the sensitivity of the Challenge data, contact the Synapse Access and Compliance Team (act@sagebase.org) for support with the necessary data access procedures.

...

If Sage is not allowed access to the server, then it is the external site’s responsibility to get the orchestrator running in whatever environment chosen.  If Docker is not supported by the system, please let us know as we do have solutions for workarounds (e.g. using Java to execute, etc.).

...

Challenge Infrastructure Setup

Requirements

Steps

1. Create a workflow infrastructure GitHub repository for the Challenge. For the orchestrator to work, the repository must be public.

...

This command will create two Synapse projects /wiki/spaces/DOCS/pages/2048327716:

  • Staging - Organizers will use this project during the Challenge development to share files and draft the Challenge wiki. The create-challenge command initializes the wiki with the DREAM Challenge Wiki Template.

  • Live - Organizers will use this project as the pre-registration page during Challenge development. When the Challenge is ready for launch, the project will then be replaced with the contents from staging.

You may think of these two projects as development (staging project) and production (live project), in that all edits must be done in the staging site, NOT the live site. Maintenance of both projects enables wiki content to be edited and previewed in the staging project before the content is published to the live project. Changes to the live site are synced over with challengeutils' mirror-wiki (see Update the Challenge for more).

Info

At first, the live site will be just one page where a general overview about the Challenge is provided.  There will also be a pre-register button that Synapse users can click on if they are interested in the upcoming Challenge.

Panel
panelIconId203c
panelIcon:bangbang:
panelIconText
bgColor#FFFAE6

Important! For the initial deployment of the staging site to live, use synapseutils' copyWikicommand, NOT mirror-wiki (more on this under Launch the Challenge).

create-challenge will also create four /wiki/spaces/DOCS/pages/1985446029 for the Challenge:

...

For a visual reference, a diagram of the orchestrator and its interactions with Synapse is provided below:

...

Display a Submissions Dashboard (Optional)

12. Go to the staging site and click on the TABLES tab.  Create a new SubmissionView by clicking on Table Tools > Add Submission View.  Under "Scope", add the evaluation queue(s) you are interested in monitoring (you may add more than one), then click Next. On the next screen, select which information to display - this is known as its schema. We recommend the following schema for a typical SubmissionView:

...

Once you click Save, a table of the submissions and their metadata will become available for viewing and querying. Changes to the information displayed can be edited by going to the SubmissionView, then clicking on Submission View Tools > Show Submission View Schema > Edit Schema.

Launch the Challenge (One-Time Only)

13. On the live site, go to the CHALLENGE tab and share the appropriate evaluation queues with the Participants team, giving them "Can submit" permissions.

...

Panel
panelIconId203c
panelIcon:bangbang:
panelIconText
bgColor#FFFAE6

Important! After the initial copying, all changes to the live site should now be synced over with mirror-wiki; DO NOT use copyWiki again.  See more on updating the wikis under the Update the Challenge section below.

Stop the Orchestrator

15. On the instance, enter: 

...

Otherwise, if you are not running the orchestrator in the background, read the logs on the terminal screen to determine whether there is current activity.

...

Wiki Setup

Use the following questions to help plan and set up the Challenge site and evaluation queues.

...

Expand
titleRegarding writeups: when will these be accepted?

Should participants submit their writeups during submission evaluations or after the Challenge has closed?

A writeup is a summary of all contributors, methods, scripts, code, and prediction files/Docker images that a team used for their submission. Writeups are required so that top-performing entries can be reproduced.

...

Update the Challenge

Challenge Site and Wikis

Any changes to the Challenge site and its wiki/sub-wiki contents must be done in the staging site, not live.  To update:

...

Info

Using the --dryrun flag prior to officially mirroring can be helpful in ensuring that the pages to be updated are actually the ones intended.

Evaluation Queue Quotas

To update the submission quotas, go to the Synapse live site, then head to the CHALLENGE tab.  Edit the evaluation queues as needed:

...

Panel
panelIconId1f914
panelIcon:thinking:
panelIconText🤔
bgColor#F4F5F7

Example 2

A Challenge lasts for 4 months with a daily submission limit of 3. To implement this quota, click Edit on the desired queue, click Add Round and input the Duration and click Advanced Limits to pick daily/weekly/monthly limits.

...

Workflow Steps

For any changes to the infrastructure workflow steps and/or scripts involved with the workflow (e.g. run_docker.py), simply make the edits to the scripts, then push the changes.

Info

Note: dry-runs should always follow a change to the workflow; this will ensure things are still working as expected.

...

Interacting with Submissions

Throughout the Challenge, participants will continuously submit to the evaluation queues. To manage continuous submissions, organizers can automate validation and scoring with the Synapse python client evaluation commands.

Revealing Submissions and Scores

Organizers can create leaderboards when scores are ready to be revealed to participants using /wiki/spaces/DOCS/pages/2011070739.

...

Learn more about adding leaderboards in the /wiki/spaces/DOCS/pages/1985151345.

/wiki/spaces/DOCS/pages/1985151441, /wiki/spaces/DOCS/pages/1985151345, /wiki/spaces/DOCS/pages/2011070739

...