This is the specification of the command sets for Synapse clients. The goal is to align the command sets for clients in different languages to ease users' transitions between languages. Additionally we define the organization of the file cache so that various clients arrange local copies of file consistently.
Command | comments | R Syntax | Python Syntax | Command Line Syntax |
---|---|---|---|---|
1 – Basic Level | ||||
Create a Synapse file handle in memory, specifying the path to the file in the local file system, the name in Synapse, and the Folder in Synapse. This step 'stages' a file to be sent to Synapse. | File(path="/path/to/file", name="foo", parentId="syn101") | |||
Create a Synapse file handle in memory which will be a serialized version of an in-memory object. | (We are hoping people will like calling the object a File, even though it takes an in-memory object as a parameter.) | File(obj=<obj ref>, name="foo", parentId="syn101") | ||
TODO: File which is a URL, not be uploaded to Synapse, just linked. | ||||
Create a Synapse Record in memory, specifying the paths to one or more files in the local file system, the name in Synapse, and the Folder in Synapse. This step 'stages' a Record to be sent to Synapse. | Record(paths=list("path1", "path2"), name="foo", parentId="syn101") | Record(paths=list("path1", "path2"), name="foo", parentId="syn101") | ||
Create a Folder or Project in memory. | Folder(name="foo", parentId="syn101") Project(name="foo", parentId="syn101") | |||
Create or update an entity (File, Folder, etc.) in Synapse. May also specify (1) whether a name collision in an attempted 'create' should become an 'update' and (2) whether to 'force' a new version to be created. | synStore(entity, createOrUpdate=T, forceVersion=T) | |||
Get an entity (file, folder, etc.) from the Synapse server, with its attributes (properties, annotations) and, optionally, with its associated file(s). | synGet(id, version, downloadFile=T, load=T) | synapse.get(id, version, downloadFile=True, load=True) | synapse get ID -v NUMBER | |
synGet(entity, downloadFile=T, load=T) | ||||
2 – Power User Level | ||||
3 – Web API Level | ||||