Views

The views module presents a rationalized way to configure virtual collections implemented as MongoDB views. Each view is implemented as a Python submodule under datacatalog.views, where each view is configured via a combination of its __init__.py and aggregation.json file. The views module is leveraged by the bootstrap.manage_views script to allow an authorized MongoDB user to update any or all views.

Current Views

Name Description Source Author
obs_table_dev Flattened observations of observations_dev_aggregation observations_dev_aggregation ngaffney@tacc.utexas.edu
experiment_view Experiment and parental lineage experiment_design_view vaughn@tacc.utexas.edu
file_view View on files files vaughn@tacc.utexas.edu
experiment_design_view Experiment design and parent Challenge Problem challenge_problem_view vaughn@tacc.utexas.edu
science_view Uploaded files and parental lineage challenges ngaffney@tacc.utexas.edu
upload_view   measurement_view vaughn@tacc.utexas.edu
experiment_dnaseq_jobs_view Experiment with dnaseq jobs completed jobs jurrutia@tacc.utexas.edu
product_view View on files files vaughn@tacc.utexas.edu
jobs_view View on pipelines pipelines vaughn@tacc.utexas.edu
portal_views Collection of view names to go into the portal pipelines jurrutia@tacc.utexas.edu
observations_dev_aggregation Aggregation of observations_dev table science_view_filtered ngaffney@tacc.utexas.edu
experiment_proteomics_jobs_view Experiment with proteomics jobs completed jobs eho@tacc.utexas.edu
metadatajob_view View on measurement_view measurement_view vaughn@tacc.utexas.edu
experiment_pending_flow_jobs_view Experiment ready for flow job measurements gzheng@netrias.com
sample_view Sample and parental lineage experiment_view vaughn@tacc.utexas.edu
experiment_flow_incomplete_jobs_view Experiment with incomplete flow jobs jobs gzheng@netrias.com
experiment_rnaseq_jobs_view Experiment with rnaseq jobs completed jobs gzheng@netrias.com
pipelinejob_view View on jobs jobs vaughn@tacc.utexas.edu
measurement_view Measurement and parental lineage sample_view vaughn@tacc.utexas.edu
experiment_flow_jobs_view Experiment with flow jobs completed jobs gzheng@netrias.com
science_view_filtered Uploaded files and parental lineage challenges ngaffney@tacc.utexas.edu
pipelinejobs_table View on jobs_view jobs_view vaughn@tacc.utexas.edu
challenge_problem_view Challenge problems challenges vaughn@tacc.utexas.edu
science_table View on science_view science_view ngaffney@tacc.utexas.edu

Example Configuration

init.py file
1
2
3
AUTHOR = 'vaughn@tacc.utexas.edu'
# DESCRIPTION = ''
# MONGODB_VIEW_NAME = 'jobs_view'
pipeline definition
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{
    "view_on": "pipelines",
    "pipeline": [
        {
            "$lookup": {
                "from": "jobs",
                "localField": "uuid",
                "foreignField": "pipeline_uuid",
                "as": "job"
            }
        },
        {
            "$unwind": {
                "path": "$job",
                "preserveNullAndEmptyArrays": false
            }
        },
        {
            "$project": {
                "_id": 0.0,
                "_admin": 0.0,
                "_properties": 0.0,
                "_salt": 0.0,
                "_visible": 0,
                "processing_levels": 0,
                "collections_levels": 0,
                "components": 0,
                "accepts": 0,
                "produces": 0,
                "acted_on": 0,
                "acted_using": 0,
                "derived_from": 0,
                "child_of": 0,
                "job._visible": 0,
                "job._id": 0,
                "job._admin": 0,
                "job._properties": 0,
                "job._salt": 0,
                "job.pipeline_uuid": 0,
                "job.derived_from": 0,
                "job.derived_using": 0,
                "job.history": 0,
                "job.product_patterns": 0,
                "job.archive_patterns": 0,
                "job.agent": 0,
                "job.task": 0
            }
        }
    ]
}

Documentation

For details, please consult the datacatalog.views API documentation.