Synapse is an open source software platform for researchers to coordinate projects and freely store their data on Amazon S3 Bucket, Google Cloud Storage Bucket, or with Synapse Storage. simpleSynapse is a Python API and CLI that allows data scientists to organize, version control, and share data with a simple push or pull.
- Be a registered Synapse user, however, only certified users can upload files/tables and add provenance tracking
- Create a Synapse project
- Python 3
System-wide Python installation:
pip install simpleSynapse
UCSF Wynton HPC cluster:
python3 -m pip install --user simpleSynapse
simpleSynapse either pulls data from Synapse or pushes data to Synapse.
A simpleSynapse data pull downloads the most recently uploaded files without overwriting local updates. A first time project pull will create a local folder, with the name of the project, to store the data. Users can either use simpleSynapse or the Synapse GUI to create new folders.
A simpleSynapse data push will only upload new files/folders or files that have had their content changed. The latter case will create a new file version on Synapse that by default will be the most recent upload ready for a pull.
import simpleSynapse
simpleSynapse.push(<username>, <password>, <project>)
simpleSynapse.pull(<username>, <password>, <project>)
simpleSynapsePush --username <username> --password <password> --project <project>
simpleSynapsePull --username <username> --password <password> --project <project>
For a detailed tutorial please visit our public SimplySynapse data repository.
Thanks extend to Sage Bionetworks for developing the Synapse Python client, for which without SimpleSynapse would be much less simple.