Versions Compared

Key

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

A View is a type of Synapse Table that queries across metadata (Annotations) for particular items (projects, files or submissions) with a particular “scope”. A File View lists all Files or Tables within one or more Folders or Projects. A Project View lists all Projects you’ve added to the view. A Submission View lists all Submissions within one or multiple Evaluation Queues. Views can:

  • Allow ProjectsFilesSubmissions, and Tables to be easily searched and queried

  • Allow view/editing metadata attributes in bulk

  • Provide a way of isolating or linking data based on similarities

  • Provide the ability to link ProjectsFilesSubmissions, and Tables together by their annotations

Synapse Table. Views display rows and columns of information, and they can be shared and queried just like a Table. Unlike Tables, Views do not store data. Instead, Views are essentially queries of other data already in Synapse. They allow you to see Files, Tables, Projects, or Submissions and any associated metadata about those objects at a glance. You can define the scope of a View to include the items that you want to group together.

You can use a View to:

  • Search and query many Projects, Files, Submissions, and Tables at once

  • View and edit File or Table metadata in bulk

  • Group or link  Files, Tables, Project, or Submissions together by their annotations

You can create a View that contains Files, Tables, Projects, or Submissions. A File View lists all Files or Tables within one or more Folders or Projects. A Project View lists all Projects you’ve added to the view. A Submission View lists all Submissions within one or multiple Evaluation Queues.

Create a File View

To create a File View, select the Project in which you would like to create the View. The Project you choose does not have to contain the files items you are including in your view. In order to create the File View, navigate View. Navigate to the Tables tab and select “Add Add File View” View in the Tables Tools menu. You will select the files of interest by defining the scope, which is the Project(s) and Folders that contain your files. File Views can also contain Tables or Folders; you can choose which kinds of items you would like to include during this process.

Info

Note: The scope of a File View can have a maximum of 20,000 folders or sub-folders.

...

.

Create a Project View

To create a Project View, select the Project in which you would like to create the view. You will select the projects of interest by defining the scope as above. The only notable difference between creating a Project View and a File View is that for project views, there is a 1:1 relationship between the projects you select in your scope and the projects that are shown in the view.

...

To create a Submission View, select the Project in which you would like to create the view. The Project you choose does not have to contain the submissions or the evaluation queues that are included in the view. Navigate to the Tables tab and select “Add Add Submission View” View in the Tables Tools menu. The submissions that are included in the view View are defined by its scope, which is the list of Evaluation Queues containing the submissions. For more information, read about how to use Submission Views with Evaluation Queues.

Info

Note: The scope of a

...

View can have a maximum of 20,000 evaluation queues.

Instructions for creating Views using the clients can be found in the Python docs and in the R docs.

Updating the Scope or Content

...

of a View

Views can be edited to change the scope of the view (e.g. the Project or Folder the view is showing) or which or what types of content is shown. Both of these options are found by navigating to “Show Scope of View” are displayed. Navigate to the View and then select Show Scope of View in the Tools menu; from there you may View and Edit the scope and the content-type of the view. Click Edit Scope to view and change your View preferences.

Note that it may take a few moments for the updated View to rebuild as it queries across the system.

Query a View

A view can be queried exactly the same as like any other Table in Synapse. Please see See Tables for more examples. See the Using Simple Search and Using Advanced Search sections below..

Info

Note: Currently, a View is updated only after a query is run against it. If your query results appear to be stale, you will need to run your query again to see the expected updates.

Using Simple Search

Views are in Simple Search mode by default. You can filter out Projects or Files of interest by using the facet menu on the left. You can toggle between simple and advanced search using the Show advanced search/Show simple search link.

...

Using Advanced Search

In advanced search, you can use a SQL-like query to search for items in that view. In the example below, we’re selecting for all files that have a Cell Type of “PSC”.

...

Using Programmatic Clients

Like Tables, Views can also be queried directly from the programmatic clients. For example, to query for everything in syn123all contents of syn12345678:

Command Line

Code Block
synapse query 'SELECT * FROM syn123syn12345678'

Python

Code Block
query = syn.tableQuery('SELECT * FROM syn123syn12345678')

R

Note: Currently, a view is updated only after a query is run against it. If your query results appear to be stale, you will need to run your query again to see the expected updates
Code Block
query <- synTableQuery('SELECT * FROM syn123syn12345678')
Info

Insert a View into a Wiki

Views can also be embedded in a Wiki. You can embed the entire View or a subset of it.

Navigate to a Wiki and click the Wiki Tools menu. Select Edit Project Wiki. In the Wiki editing window, select the Insert tab and then Table: Query on a Synapse Table/View. To embed the entire View into the Wiki enter “SELECT * FROM syn12345678” in the resulting pop-up.

To embed a subset of the file view, like the advanced search query in the previous example, enter SELECT * FROM syn12345678 WHERE Cell_Type = ‘PSC’.

...

Save the query to embed the view.

Update Annotations in Bulk

Views can be used to update annotations in bulkfor many Files or Tables at once. To add new annotations, see the Annotations article. To update other metadata in bulk, such as provenanceProvenance, see the Bulk Processing article.

For example, if you would like to use the Python client to update the annotation “dogSays:bark” to “dogSays:woof” in every file in a File View with the synId syn456synID syn12345678, you can use:

Code Block
languagepy
from synapseclient import Table

foo = syn.tableQuery('select * from syn456')

bar = foo.asDataFrame()

# add in annotation as a column
bar['dogSays'] = 'woof'

# store the fileview with the new annotation in Synapse
fv = syn.store(synapseclient.Table(foo.tableId, bar))

Using Simple Search

Views are in Simple Search mode by default. You can filter out Projects or Files of interest by selecting what characteristics you like using the facet menu on the left. You can toggle between simple and advanced search using the Show advanced search/Show simple search link.

...

Using Advanced Search

In advanced search, you can use a SQL-like query to search for items in that view. In the example below, we’re selecting for all files that have a Cell Type of “PSC”.

...

Insert a View into a Wiki

Views can also be placed inside a Wiki once they have been created. You can embed the entire view or a subset of a query on it.

To insert a file view with a synId of syn456:

In the Edit Project Wiki window, select Table: Query on a Synapse Table/View under the Insert dropdown. To embed the entire file view into the wiki enter “SELECT * FROM syn456” in the resulting pop-up.

To embed a subset of the file view, like the advanced search query in the previous example, enter “SELECT * FROM syn456 WHERE Cell_Type = ‘PSC’”.

...

See Also

Annotations and QueriesTablesWikis

...