Overview¶
-The synapseutils
package provides both higher level functions as well as utilities for interacting with
-Synapse. These functionalities include:
-
-
copy.copy()
-copy.copyWiki()
-- -
- -
- -
- -
copy¶
--
-
This function will assist users in copying entities (Tables, Links, Files, Folders, Projects), -and will recursively copy everything in directories.
-A Mapping of the old entities to the new entities will be created and all the wikis of each entity -will also be copied over and links to synapse Ids will be updated.
-
-
-
- param syn -
A synapse object: syn = synapseclient.login()- Must be logged into synapse
-
-- param entity -
A synapse entity ID
-
-- param destinationId -
Synapse ID of a folder/project that the copied entity is being copied to
-
-- param skipCopyWikiPage -
Skip copying the wiki pages -Default is False
-
-- param skipCopyAnnotations -
Skips copying the annotations -Default is False
-
-
Examples:: -import synapseutils -import synapseclient -syn = synapseclient.login() -synapseutils.copy(syn, …)
-Examples and extra parameters unique to each copy function -– COPYING FILES
--
-
- param version -
Can specify version of a file. -Default to None
-
-- param updateExisting -
When the destination has an entity that has the same name, -users can choose to update that entity. -It must be the same entity type -Default to False
-
-- param setProvenance -
Has three values to set the provenance of the copied entity: -traceback: Sets to the source entity -existing: Sets to source entity’s original provenance (if it exists) -None: No provenance is set
-
-
-
-
- Examples::
synapseutils.copy(syn, “syn12345”, “syn45678”, updateExisting=False, setProvenance = “traceback”,version=None)
-
-
– COPYING FOLDERS/PROJECTS
--
-
- param excludeTypes -
Accepts a list of entity types (file, table, link) which determines which entity types to -not copy. -Defaults to an empty list.
-
-
Examples:: -#This will copy everything in the project into the destinationId except files and tables. -synapseutils.copy(syn, “syn123450”,”syn345678”,excludeTypes=[“file”,”table”])
--
-
- returns -
a mapping between the original and copied entity: {‘syn1234’:’syn33455’}
-
-
copy¶
walk¶
@@ -188,253 +104,8 @@Overview
-sync¶
-
--
-
synapseutils.sync.
generateManifest
(syn, allFiles, filename)¶
-Generates a manifest file based on a list of entities objects.
-
-- Parameters
-
-allFiles – A list of File Entities
-filename – file where manifest will be written
-
-
-
-
-
-
--
-
synapseutils.sync.
readManifestFile
(syn, manifestFile)¶
-Verifies a file manifest and returns a reordered dataframe ready for upload.
-
-- Parameters
-
-syn – A synapse object as obtained with syn = synapseclient.login()
-manifestFile – A tsv file with file locations and metadata to be pushed to Synapse.
-See below for details
-
-
-
-:returns A pandas dataframe if the manifest is validated.
-
-- See also for a description of the file format:
-
-
-
-
-
-
--
-
synapseutils.sync.
syncFromSynapse
(syn, entity, path=None, ifcollision='overwrite.local', allFiles=None, followLink=False)¶
-Synchronizes all the files in a folder (including subfolders) from Synapse and adds a readme manifest with file
-metadata.
-
-- Parameters
-
-syn – A synapse object as obtained with syn = synapseclient.login()
-entity – A Synapse ID, a Synapse Entity object of type file, folder or project.
-path – An optional path where the file hierarchy will be reproduced. If not specified the files will by
-default be placed in the synapseCache.
-ifcollision – Determines how to handle file collisions. Maybe “overwrite.local”, “keep.local”, or “keep.both”.
-Defaults to “overwrite.local”.
-followLink – Determines whether the link returns the target Entity.
-Defaults to False
-
-
-- Returns
-list of entities (files, tables, links)
-
-
-This function will crawl all subfolders of the project/folder specified by entity and download all files that have
-not already been downloaded. If there are newer files in Synapse (or a local file has been edited outside of the
-cache) since the last download then local the file will be replaced by the new file unless “ifcollision” is changed.
-If the files are being downloaded to a specific location outside of the Synapse cache a file
-(SYNAPSE_METADATA_MANIFEST.tsv) will also be added in the path that contains the metadata (annotations, storage
-location and provenance of all downloaded files).
-See also:
-- synapseutils.sync.syncToSynapse()
-Example:
-Download and print the paths of all downloaded files:
-entities = syncFromSynapse(syn, "syn1234")
-for f in entities:
- print(f.path)
-
-
-
-
-
--
-
synapseutils.sync.
syncToSynapse
(syn, manifestFile, dryRun=False, sendMessages=True, retries=4)¶
-Synchronizes files specified in the manifest file to Synapse
-
-- Parameters
-
-syn – A synapse object as obtained with syn = synapseclient.login()
-manifestFile – A tsv file with file locations and metadata to be pushed to Synapse.
-See below for details
-dryRun – Performs validation without uploading if set to True (default is False)
-
-
-
-Given a file describing all of the uploads uploads the content to Synapse and optionally notifies you via Synapse
-messagging (email) at specific intervals, on errors and on completion.
-Manifest file format
-The format of the manifest file is a tab delimited file with one row per file to upload and columns describing the
-file. The minimum required columns are path and parent where path is the local file path and parent is the
-Synapse Id of the project or folder where the file is uploaded to. In addition to these columns you can specify any
-of the parameters to the File constructor (name, synapseStore, contentType) as well as parameters to the
-syn.store command (used, executed, activityName, activityDescription, forceVersion).
-Used and executed can be semi-colon (“;”) separated lists of Synapse ids, urls and/or local filepaths of files
-already stored in Synapse (or being stored in Synapse by the manifest).
-Any additional columns will be added as annotations.
-Required fields:
-
-
-
-
-
-
-
-Field
-Meaning
-Example
-
-
-
-path
-local file path or URL
-/path/to/local/file.txt
-
-parent
-synapse id
-syn1235
-
-
-
-Common fields:
-
-
-
-
-
-
-
-Field
-Meaning
-Example
-
-
-
-name
-name of file in Synapse
-Example_file
-
-forceVersion
-whether to update version
-False
-
-
-
-Provenance fields:
-
-
-
-
-
-
-
-Field
-Meaning
-Example
-
-
-
-used
-List of items used to generate file
-syn1235; /path/to_local/file.txt
-
-executed
-List of items exectued
-https://github.org/; /path/to_local/code.py
-
-activityName
-Name of activity in provenance
-“Ran normalization”
-
-activityDescription
-Text description on what was done
-“Ran algorithm xyx with parameters…”
-
-
-
-Annotations:
-Annotations:
-Any columns that are not in the reserved names described above will be interpreted as annotations of the file
-Other optional fields:
-
-
-
-
-
-
-
-Field
-Meaning
-Example
-
-
-
-synapseStore
-Boolean describing whether to upload files
-True
-
-contentType
-content type of file to overload defaults
-text/html
-
-
-
-Example manifest file
-
-
-
-
-
-
-
-
-
-
-path
-parent
-annot1
-annot2
-used
-executed
-
-
-
-/path/file1.txt
-syn1243
-“bar”
-3.1415
-“syn124; /path/file2.txt”
-
-
-/path/file2.txt
-syn12433
-“baz”
-2.71
-“”
-
-
-
-
-
-
+
+sync¶
monitor¶
@@ -521,7 +192,7 @@ Navigation
synapseutils.sync.
generateManifest
(syn, allFiles, filename)¶Generates a manifest file based on a list of entities objects.
--
-
- Parameters -
-
-
allFiles – A list of File Entities
-filename – file where manifest will be written
-
-
synapseutils.sync.
readManifestFile
(syn, manifestFile)¶Verifies a file manifest and returns a reordered dataframe ready for upload.
--
-
- Parameters -
-
-
syn – A synapse object as obtained with syn = synapseclient.login()
-manifestFile – A tsv file with file locations and metadata to be pushed to Synapse. -See below for details
-
-
:returns A pandas dataframe if the manifest is validated.
--
-
- See also for a description of the file format:
- - -
synapseutils.sync.
syncFromSynapse
(syn, entity, path=None, ifcollision='overwrite.local', allFiles=None, followLink=False)¶Synchronizes all the files in a folder (including subfolders) from Synapse and adds a readme manifest with file -metadata.
--
-
- Parameters -
-
-
syn – A synapse object as obtained with syn = synapseclient.login()
-entity – A Synapse ID, a Synapse Entity object of type file, folder or project.
-path – An optional path where the file hierarchy will be reproduced. If not specified the files will by -default be placed in the synapseCache.
-ifcollision – Determines how to handle file collisions. Maybe “overwrite.local”, “keep.local”, or “keep.both”. -Defaults to “overwrite.local”.
-followLink – Determines whether the link returns the target Entity. -Defaults to False
-
-- Returns -
list of entities (files, tables, links)
-
-
This function will crawl all subfolders of the project/folder specified by entity and download all files that have -not already been downloaded. If there are newer files in Synapse (or a local file has been edited outside of the -cache) since the last download then local the file will be replaced by the new file unless “ifcollision” is changed.
-If the files are being downloaded to a specific location outside of the Synapse cache a file -(SYNAPSE_METADATA_MANIFEST.tsv) will also be added in the path that contains the metadata (annotations, storage -location and provenance of all downloaded files).
-See also:
-- synapseutils.sync.syncToSynapse()
Example: -Download and print the paths of all downloaded files:
-entities = syncFromSynapse(syn, "syn1234")
-for f in entities:
- print(f.path)
-
synapseutils.sync.
syncToSynapse
(syn, manifestFile, dryRun=False, sendMessages=True, retries=4)¶Synchronizes files specified in the manifest file to Synapse
--
-
- Parameters -
-
-
syn – A synapse object as obtained with syn = synapseclient.login()
-manifestFile – A tsv file with file locations and metadata to be pushed to Synapse. -See below for details
-dryRun – Performs validation without uploading if set to True (default is False)
-
-
Given a file describing all of the uploads uploads the content to Synapse and optionally notifies you via Synapse -messagging (email) at specific intervals, on errors and on completion.
-Manifest file format
-The format of the manifest file is a tab delimited file with one row per file to upload and columns describing the -file. The minimum required columns are path and parent where path is the local file path and parent is the -Synapse Id of the project or folder where the file is uploaded to. In addition to these columns you can specify any -of the parameters to the File constructor (name, synapseStore, contentType) as well as parameters to the -syn.store command (used, executed, activityName, activityDescription, forceVersion). -Used and executed can be semi-colon (“;”) separated lists of Synapse ids, urls and/or local filepaths of files -already stored in Synapse (or being stored in Synapse by the manifest). -Any additional columns will be added as annotations.
-Required fields:
-Field |
-Meaning |
-Example |
-
---|---|---|
path |
-local file path or URL |
-/path/to/local/file.txt |
-
parent |
-synapse id |
-syn1235 |
-
Common fields:
-Field |
-Meaning |
-Example |
-
---|---|---|
name |
-name of file in Synapse |
-Example_file |
-
forceVersion |
-whether to update version |
-False |
-
Provenance fields:
-Field |
-Meaning |
-Example |
-
---|---|---|
used |
-List of items used to generate file |
-syn1235; /path/to_local/file.txt |
-
executed |
-List of items exectued |
-https://github.org/; /path/to_local/code.py |
-
activityName |
-Name of activity in provenance |
-“Ran normalization” |
-
activityDescription |
-Text description on what was done |
-“Ran algorithm xyx with parameters…” |
-
Annotations:
-Annotations:
-Any columns that are not in the reserved names described above will be interpreted as annotations of the file
-Other optional fields:
-Field |
-Meaning |
-Example |
-
---|---|---|
synapseStore |
-Boolean describing whether to upload files |
-True |
-
contentType |
-content type of file to overload defaults |
-text/html |
-
Example manifest file
-path |
-parent |
-annot1 |
-annot2 |
-used |
-executed |
-
---|---|---|---|---|---|
/path/file1.txt |
-syn1243 |
-“bar” |
-3.1415 |
-“syn124; /path/file2.txt” |
-- |
/path/file2.txt |
-syn12433 |
-“baz” |
-2.71 |
-“” |
-- |