Versions Compared

Key

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

...

  1. Synapse entity by synID: syn7205215 (the code file)

  2. URL to a page describing normal distributions

Web

The web client does not support setting provenance when uploading a File. Instead, upload the File first, then navigate to the File in your Project. Click on the File Tools dropdown in the upper right hand corner and select Edit File Provenance. In the resulting pop-up, enter the relevant information. If you are entering an external URL as a reference, include the full URL path. In this example, you would enter http://mathworld.wolfram.com/NormalDistribution.html.

Command Line

Code Block
synapse add random_numbers.txt --parentId syn1901847 --executed syn7205215 --used http://mathworld.wolfram.com/NormalDistribution.html

...

Code Block
synapse add random_numbers.txt --parentId syn1901847 --executed ./generate_random_data.R --used http://mathworld.wolfram.com/NormalDistribution.html

Python

Code Block
languagepy
# Set provenance for data file generated by the script file
data_file = File(path="random_numbers.txt", parent="syn1901847")
data_file = syn.store(data_file, executed="syn7205215", used="http://mathworld.wolfram.com/NormalDistribution.html")

R

Code Block
languager
# Set provenance for data file generated by the script file
data_file <- File(path="random_numbers.txt", parent="syn1901847")
data_file <- synStore(data_file, executed="syn7205215", used="http://mathworld.wolfram.com/NormalDistribution.html")

...

To continue our example above, we’ll now add some new results from our initial data file. We’re going to take the results in random_numbers.txt and square them. The script to square the numbers will be square.R, and we’ll save the output to a data file, squares.txt. As with the previous example, the code file is already saved in Synapse, so we’ll upload the data file and set its provenance.

Web

To update the provenance on a file, navigate to the File that you would like to update. Click on the File Tools dropdown in the upper right hand corner and select Edit File Provenance. In the resulting pop-up, enter the relevant information.

...

Command Line

Code Block
# Add the data file to Synapse
synapse add squares.txt -parentId syn1901847 
# Set the provenance for newly created entity syn7209166 using synId
synapse set-provenance -id syn7209166 -executed syn7209078 -used syn7208917
# Set the provenance for newly created entity syn7209166 using local path
synapse set-provenance -id syn7209166 -executed ./square.R -used ./random_numbers.txt

Python

Code Block
languagepy
# Add the data file to Synapse
squared_file = File(path="squares.txt", parentId="syn1901847")
squared_file = syn.store(squared_file)

# Set provenance for newly created entity syn7209166
squared_file = syn.setProvenance(squared_file, activity = Activity(used = "syn7208917", executed = "syn7209078"))
# Provenance can also be set using local variables instead of looking up synIds
squared_file = syn.setProvenance(squared_file, activity = Activity(used = data_file, executed = "syn7209078"))

R

Code Block
languager
# Add the data file to Synapse
squared_file <- File(path="squares.txt", parentId="syn1901847")
squared_file <- synStore(squared_file)

# Set provenance for newly created entity syn7209166
act <- Activity(name = "Squared numbers", used = "syn7208917", executed = "syn7209078")
synStore(squared_file, activity=act)

# Provenance can also be set using local variables instead of looking up synIds
act <- Activity(name = "Squared numbers", used = data_file, executed = "syn7209078")
squared_file <- synStore(squared_file, activity=act)

...

To delete a Provenance relationship, you must be the person who created the entity.

Web

Navigate to the entity you would like to delete provenance from (e.g. a File or Folder). In this example, we are deleting provenance from a file. Select File Tools, then Edit File Provenance. In the list of Used and Executed, click the minus symbol ( (minus) ) next to the URL or synID to delete each activity and Save your changes.

Command Line

Currently, deleting provenance is not supported in the command line client.

Python

Code Block
# Delete provenance on entity syn123 
delete_provenance = syn.deleteProvenance('syn123')

R

Code Block
languager
# Delete provenance on entity syn123
deleteProvenance = synDeleteProvenance('syn123')

Viewing Provenance

Web

Navigate to a File to view its provenance. Clicking on the triple dots above an entity will expand it to show the File's full provenance.

...

Command Line

Code Block
synapse get-provenance -id syn7209166

Python

Code Block
languagepy
provenance = syn.getProvenance("syn7209166")
provenance

R

Code Block
languager
provenance <- synGetProvenance("syn7209166")
provenance

...

If an activity isn’t assigned to an entity and then stored, a separate graph will be created for each file that the activity generated. The following example is used to assign the same activity to multiple files resulting in one provenance graph:

Web

Unfortunately, the web interface does not support assigning the same activity to multiple files. This action must be completed using either the R or the Python client.

...