├── .circleci └── config.yml ├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .stylelintrc.json ├── CHANGES.rst ├── LICENSE.txt ├── Makefile ├── README.md ├── alembic.ini ├── alembic ├── README ├── env.py ├── script.py.mako └── versions │ └── cfcf1fdff25c_add_rid_index_to_propsheets.py ├── babel.config.json ├── circle-tests.sh ├── cloud-config ├── README.md ├── app-es-pg-template.yml ├── app-es-template.yml ├── app-pg-template.yml ├── app-template.yml ├── assembled-templates │ └── 20200430-app-es-pg.yml ├── configs │ ├── apache │ │ ├── 000-encoded-default.conf │ │ ├── 111-indexer-primary.conf │ │ ├── 222-indexer-vis.conf │ │ ├── 666-encoded-app.conf │ │ ├── build-conf.sh │ │ └── enable-indexers.sh │ ├── elasticsearch │ │ ├── es-cluster-elect.yml │ │ ├── es-cluster-head.yml │ │ ├── es-cluster-wait.yml │ │ ├── es-demo.yml │ │ └── jvm.options │ └── postgresql │ │ ├── custom.conf │ │ ├── demo.conf │ │ ├── master.conf │ │ └── recovery.conf ├── create-ami.py ├── es-nodes-template.yml ├── run-scripts │ ├── ami-elasticsearch.sh │ ├── ami-preapp.sh │ ├── ami-redis.sh │ ├── app-a2en.sh │ ├── app-batchupgrade.sh │ ├── app-cloudwatchmon-pyreqs.txt │ ├── app-cloudwatchmon.sh │ ├── app-encd.sh │ ├── app-es-status.sh │ ├── app-final.sh │ ├── app-pg-status.sh │ ├── app-pg-wale-pyreqs.txt │ ├── app-pg.sh │ └── app-wrapper.sh └── template-parts │ ├── env.yml │ ├── nagios_conf_es_nodes.yml │ ├── nagios_conf_non_es_nodes.yml │ ├── runcmd_all.yml │ ├── runcmd_app.yml │ ├── runcmd_es.yml │ ├── runcmd_es_nodes.yml │ ├── ssh_auth_keys.yml │ ├── upgrades.yml │ ├── users.yml │ └── vimrc.yml ├── conf ├── elasticsearch.yml ├── log4j2.properties └── pyramid │ ├── candidate.ini │ ├── candidate_frontend.ini │ ├── config.jsonnet │ ├── demo.ini │ ├── demo_frontend.ini │ ├── development.ini │ ├── rc.ini │ ├── rc_frontend.ini │ ├── sections.libsonnet │ ├── smalldb.ini │ ├── test.ini │ └── test_frontend.ini ├── demo-config.ini ├── docs ├── AWS.rst ├── advanced-search.rst ├── auth.rst ├── aws-deployment.rst ├── database.rst ├── front-end-overview.md ├── indexers.rst ├── invalidation.rst ├── npm-packages.md ├── object-lifecycle.rst ├── overview.rst ├── region-search-viz-cache.rst ├── rendering-overview.graffle ├── rendering-overview.pdf └── search.rst ├── encode-proxy-nginx.conf ├── encode-proxy.sh ├── etc ├── logging-apache.conf ├── pre-v91.encoded-apache-no-region.conf ├── pre-v91.encoded-apache.conf ├── v91.encoded-apache-no-region.conf └── v91.encoded-apache.conf ├── examples ├── s3cp.py └── submit_file.py ├── gulpfile.js ├── instance-dns.yml ├── jest └── environment.js ├── jsconfig.json ├── nginx.yml ├── node_shims └── google-analytics │ ├── index.js │ └── package.json ├── package-lock.json ├── package.json ├── pytest.ini ├── requirements.txt ├── scripts ├── LogToCsv.py ├── blackholes.py ├── edw_compare_cron.sh ├── edw_import_cron.sh ├── embeds.py ├── keyValidation.sh ├── locustfile.py └── stress.py ├── setup.cfg ├── setup.py ├── src └── encoded │ ├── __init__.py │ ├── audit │ ├── __init__.py │ ├── analysis.py │ ├── analysis_step.py │ ├── annotation.py │ ├── antibody_characterization.py │ ├── antibody_lot.py │ ├── biosample.py │ ├── biosample_type.py │ ├── characterization.py │ ├── conditions.py │ ├── dataset.py │ ├── donor.py │ ├── experiment.py │ ├── experiment_series.py │ ├── file.py │ ├── formatter.py │ ├── functional_characterization_experiment.py │ ├── genetic_modification.py │ ├── gtex_data.py │ ├── item.py │ ├── ontology_data.py │ ├── pipeline.py │ ├── reference_epigenome.py │ ├── replicate.py │ ├── series.py │ ├── standards_data.py │ └── treatment.py │ ├── auth0.py │ ├── authentication.py │ ├── authorization.py │ ├── batch_download.py │ ├── cart_view.py │ ├── commands │ ├── __init__.py │ ├── add_date_created.py │ ├── alembic.py │ ├── check_rendering.py │ ├── deploy.py │ ├── es_index_data.py │ ├── extract_test_data.py │ ├── generate_ontology.py │ ├── import_data.py │ ├── jsonld_rdf.py │ ├── manual_slims.py │ ├── migrate_attachments_aws.py │ ├── migrate_dataset_type.py │ ├── migrate_files_aws.py │ ├── ntr_terms.py │ ├── profile.py │ ├── specification.json │ └── spreadsheet_to_json.py │ ├── docs │ ├── adding_new_assays.md │ ├── making_audits.md │ ├── schema-changes.md │ ├── updating_annotations.md │ └── updating_ontologies.md │ ├── edw_hash.py │ ├── genomic_data_service.py │ ├── glossary.py │ ├── loadxl.py │ ├── memlimit.py │ ├── region_search.py │ ├── renderers.py │ ├── reports │ ├── __init__.py │ ├── batch_download.py │ ├── constants.py │ ├── csv.py │ ├── decorators.py │ ├── inequalities.py │ ├── metadata.py │ ├── search.py │ └── serializers.py │ ├── root.py │ ├── schema_formats.py │ ├── schemas │ ├── access_key.json │ ├── aggregate_series.json │ ├── analysis.json │ ├── analysis_step.json │ ├── analysis_step_run.json │ ├── analysis_step_version.json │ ├── annotation.json │ ├── antibody_characterization.json │ ├── antibody_lot.json │ ├── atac_alignment_enrichment_quality_metric.json │ ├── atac_alignment_quality_metric.json │ ├── atac_library_complexity_quality_metric.json │ ├── atac_peak_enrichment_quality_metric.json │ ├── atac_replication_quality_metric.json │ ├── award.json │ ├── biosample.json │ ├── biosample_characterization.json │ ├── biosample_type.json │ ├── bismark_quality_metric.json │ ├── bpnet_quality_metric.json │ ├── bru_library_quality_metric.json │ ├── cart.json │ ├── changelogs │ │ ├── aggregate_series.md │ │ ├── analysis.md │ │ ├── analysis_step.md │ │ ├── analysis_step_run.md │ │ ├── analysis_step_version.md │ │ ├── annotation.md │ │ ├── antibody_approval.md │ │ ├── antibody_characterization.md │ │ ├── antibody_lot.md │ │ ├── atac_alignment_enrichment_quality_metric.md │ │ ├── atac_alignment_quality_metric.md │ │ ├── atac_library_complexity_quality_metric.md │ │ ├── atac_peak_enrichment_quality_metric.md │ │ ├── atac_replication_quality_metric.md │ │ ├── award.md │ │ ├── bigwigcorrelate_quality_metric.md │ │ ├── biosample.md │ │ ├── biosample_characterization.md │ │ ├── biosample_type.md │ │ ├── bismark_quality_metric.md │ │ ├── bpnet_quality_metric.md │ │ ├── bru_library_quality_metric.md │ │ ├── cart.md │ │ ├── chia_pet_alignment_quality_metric.md │ │ ├── chia_pet_chr_interactions_quality_metric.md │ │ ├── chia_pet_peak_enrichment_quality_metric.md │ │ ├── chip_alignment_enrichment_quality_metric.md │ │ ├── chip_alignment_samstat_quality_metric.md │ │ ├── chip_library_quality_metric.md │ │ ├── chip_peak_enrichment_quality_metric.md │ │ ├── chip_replication_quality_metric.md │ │ ├── chipseq_filter_quality_metric.md │ │ ├── collection_series.md │ │ ├── complexity_xcorr_quality_metric.md │ │ ├── computational_model.md │ │ ├── construct.md │ │ ├── construct_characterization.md │ │ ├── correlation_quality_metric.md │ │ ├── cpg_correlation_quality_metric.md │ │ ├── crispr.md │ │ ├── dataset.md │ │ ├── differential_accessibility_series.md │ │ ├── differentiation_series.md │ │ ├── disease_series.md │ │ ├── dnase_alignment_quality_metric.md │ │ ├── dnase_footprinting_quality_metric.md │ │ ├── document.md │ │ ├── donor_characterization.md │ │ ├── duplicates_quality_metric.md │ │ ├── edwbamstats_quality_metric.md │ │ ├── experiment.md │ │ ├── experiment_series.md │ │ ├── fastqc_quality_metric.md │ │ ├── file.md │ │ ├── filtering_quality_metric.md │ │ ├── fly_donor.md │ │ ├── functional_characterization_experiment.md │ │ ├── functional_characterization_series.md │ │ ├── gembs_alignment_quality_metric.md │ │ ├── gencode_category_quality_metric.md │ │ ├── gene.md │ │ ├── gene_quantification_quality_metric.md │ │ ├── gene_silencing_series.md │ │ ├── gene_type_quantification_quality_metric.md │ │ ├── generic_quality_metric.md │ │ ├── genetic_modification.md │ │ ├── genetic_modification_characterization.md │ │ ├── hic_quality_metric.md │ │ ├── histone_chipseq_quality_metric.md │ │ ├── hotspot_quality_metric.md │ │ ├── human_donor.md │ │ ├── idr_quality_metric.md │ │ ├── idr_summary_quality_metric.md │ │ ├── image.md │ │ ├── lab.md │ │ ├── library.md │ │ ├── long_read_rna_mapping_quality_metric.md │ │ ├── long_read_rna_quantification_quality_metric.md │ │ ├── mad_quality_metric.md │ │ ├── manatee_donor.md │ │ ├── matched_set.md │ │ ├── micro_rna_mapping_quality_metric.md │ │ ├── micro_rna_quantification_quality_metric.md │ │ ├── mixins.md │ │ ├── modification_technique.md │ │ ├── mouse_donor.md │ │ ├── multiomics_series.md │ │ ├── organism.md │ │ ├── organism_development_series.md │ │ ├── page.md │ │ ├── pipeline.md │ │ ├── platform.md │ │ ├── project.md │ │ ├── publication.md │ │ ├── publication_data.md │ │ ├── pulse_chase_time_series.md │ │ ├── quality_metric.md │ │ ├── quality_standard.md │ │ ├── reference.md │ │ ├── reference_epigenome.md │ │ ├── replicate.md │ │ ├── replication_timing_series.md │ │ ├── rnai.md │ │ ├── rnai_characterization.md │ │ ├── samtools_flagstats_quality_metric.md │ │ ├── samtools_stats_quality_metric.md │ │ ├── sc_atac_alignment_quality_metric.md │ │ ├── sc_atac_analysis_quality_metric.md │ │ ├── sc_atac_counts_summary_quality_metric.md │ │ ├── sc_atac_library_complexity_quality_metric.md │ │ ├── sc_atac_multiplet_quality_metric.md │ │ ├── sc_atac_read_quality_metric.md │ │ ├── scrna_seq_counts_summary_quality_metric.md │ │ ├── segway_quality_metric.md │ │ ├── single_cell_rna_series.md │ │ ├── single_cell_unit.md │ │ ├── software.md │ │ ├── software_version.md │ │ ├── source.md │ │ ├── star_quality_metric.md │ │ ├── star_solo_quality_metric.md │ │ ├── tale.md │ │ ├── talen.md │ │ ├── target.md │ │ ├── transgenic_enhancer_experiment.md │ │ ├── treatment.md │ │ ├── treatment_concentration_series.md │ │ ├── treatment_time_series.md │ │ ├── trimming_quality_metric.md │ │ ├── ucsc_browser_composite.md │ │ ├── user.md │ │ └── worm_donor.md │ ├── characterization.json │ ├── chia_pet_alignment_quality_metric.json │ ├── chia_pet_chr_interactions_quality_metric.json │ ├── chia_pet_peak_enrichment_quality_metric.json │ ├── chip_alignment_enrichment_quality_metric.json │ ├── chip_alignment_samstat_quality_metric.json │ ├── chip_library_quality_metric.json │ ├── chip_peak_enrichment_quality_metric.json │ ├── chip_replication_quality_metric.json │ ├── chipseq_filter_quality_metric.json │ ├── collection_series.json │ ├── complexity_xcorr_quality_metric.json │ ├── computational_model.json │ ├── correlation_quality_metric.json │ ├── cpg_correlation_quality_metric.json │ ├── dataset.json │ ├── differential_accessibility_series.json │ ├── differentiation_series.json │ ├── disease_series.json │ ├── dnase_alignment_quality_metric.json │ ├── dnase_footprinting_quality_metric.json │ ├── document.json │ ├── donor.json │ ├── donor_characterization.json │ ├── duplicates_quality_metric.json │ ├── edwbamstats_quality_metric.json │ ├── experiment.json │ ├── experiment_series.json │ ├── file.json │ ├── file_set.json │ ├── filtering_quality_metric.json │ ├── fly_donor.json │ ├── functional_characterization_experiment.json │ ├── functional_characterization_series.json │ ├── gembs_alignment_quality_metric.json │ ├── gencode_category_quality_metric.json │ ├── gene.json │ ├── gene_quantification_quality_metric.json │ ├── gene_silencing_series.json │ ├── gene_type_quantification_quality_metric.json │ ├── generic_quality_metric.json │ ├── genetic_modification.json │ ├── genetic_modification_characterization.json │ ├── hic_quality_metric.json │ ├── histone_chipseq_quality_metric.json │ ├── hotspot_quality_metric.json │ ├── human_donor.json │ ├── idr_quality_metric.json │ ├── idr_summary_quality_metric.json │ ├── image.json │ ├── lab.json │ ├── library.json │ ├── long_read_rna_mapping_quality_metric.json │ ├── long_read_rna_quantification_quality_metric.json │ ├── mad_quality_metric.json │ ├── manatee_donor.json │ ├── matched_set.json │ ├── micro_rna_mapping_quality_metric.json │ ├── micro_rna_quantification_quality_metric.json │ ├── mixins.json │ ├── mouse_donor.json │ ├── multiomics_series.json │ ├── namespaces.json │ ├── organism.json │ ├── organism_development_series.json │ ├── page.json │ ├── pipeline.json │ ├── platform.json │ ├── project.json │ ├── publication.json │ ├── publication_data.json │ ├── pulse_chase_time_series.json │ ├── quality_metric.json │ ├── quality_standard.json │ ├── reference.json │ ├── reference_epigenome.json │ ├── replicate.json │ ├── replication_timing_series.json │ ├── rna_expression.json │ ├── samtools_flagstats_quality_metric.json │ ├── samtools_stats_quality_metric.json │ ├── sc_atac_alignment_quality_metric.json │ ├── sc_atac_analysis_quality_metric.json │ ├── sc_atac_counts_summary_quality_metric.json │ ├── sc_atac_library_complexity_quality_metric.json │ ├── sc_atac_multiplet_quality_metric.json │ ├── sc_atac_read_quality_metric.json │ ├── scrna_seq_counts_summary_quality_metric.json │ ├── segway_quality_metric.json │ ├── series.json │ ├── single_cell_rna_series.json │ ├── single_cell_unit.json │ ├── software.json │ ├── software_version.json │ ├── source.json │ ├── star_quality_metric.json │ ├── star_solo_quality_metric.json │ ├── target.json │ ├── transgenic_enhancer_experiment.json │ ├── treatment.json │ ├── treatment_concentration_series.json │ ├── treatment_time_series.json │ ├── trimming_quality_metric.json │ ├── ucsc_browser_composite.json │ ├── user.json │ └── worm_donor.json │ ├── search_views.py │ ├── searches │ ├── __init__.py │ ├── caches.py │ ├── configs.py │ ├── defaults.py │ ├── fields.py │ ├── interfaces.py │ ├── mixins.py │ ├── queries.py │ └── responses.py │ ├── server_defaults.py │ ├── static │ ├── 404.html │ ├── browser.js │ ├── build-server │ │ └── .gitignore │ ├── build │ │ └── .gitignore │ ├── components │ │ ├── StickyHeader.js │ │ ├── __tests__ │ │ │ ├── .eslintrc.js │ │ │ ├── age-display.js │ │ │ ├── antibody-test.js │ │ │ ├── audit-test.js │ │ │ ├── biosample-test.js │ │ │ ├── cart-test.js │ │ │ ├── datacolor-test.js │ │ │ ├── dataset-test.js │ │ │ ├── dbxref-test.js │ │ │ ├── experiment-test.js │ │ │ ├── filegallery-test.js │ │ │ ├── graph-test.js │ │ │ ├── objectutils-test.js │ │ │ ├── platform-test.js │ │ │ ├── publication-test.js │ │ │ ├── quality_metric-test.js │ │ │ ├── search-controls.js │ │ │ ├── server-render-test.js │ │ │ ├── software-test.js │ │ │ ├── sorttable-test.js │ │ │ ├── status-test.js │ │ │ └── store-test.js │ │ ├── antibody.js │ │ ├── app.js │ │ ├── audit.js │ │ ├── award.js │ │ ├── batch_download │ │ │ ├── analysis.js │ │ │ ├── base.js │ │ │ ├── cart.js │ │ │ ├── cart_static.js │ │ │ ├── cloning_mappings.js │ │ │ ├── dataset.js │ │ │ ├── docs │ │ │ │ └── overview.md │ │ │ ├── elementsReferences.js │ │ │ ├── index.js │ │ │ ├── raw_sequencing.js │ │ │ ├── reference.js │ │ │ └── search.js │ │ ├── biosample.js │ │ ├── biosample_type.js │ │ ├── blocks │ │ │ ├── fallback.js │ │ │ ├── index.js │ │ │ ├── item.js │ │ │ ├── richtext.js │ │ │ ├── search.js │ │ │ └── teaser.js │ │ ├── body_map.js │ │ ├── browserfeat.js │ │ ├── cart │ │ │ ├── actions.js │ │ │ ├── add_elements.js │ │ │ ├── add_multiple.js │ │ │ ├── analysis.js │ │ │ ├── batch_download.js │ │ │ ├── cache_saved.js │ │ │ ├── cart.js │ │ │ ├── cart_alert.js │ │ │ ├── clear.js │ │ │ ├── constants.js │ │ │ ├── context.js │ │ │ ├── database.js │ │ │ ├── description.js │ │ │ ├── facet.js │ │ │ ├── file_view.js │ │ │ ├── in_progress.js │ │ │ ├── index.js │ │ │ ├── lock.js │ │ │ ├── loggedout_warning.js │ │ │ ├── manager.js │ │ │ ├── max_elements_warning.js │ │ │ ├── menu.js │ │ │ ├── merge_shared.js │ │ │ ├── remove_elements.js │ │ │ ├── remove_multiple.js │ │ │ ├── search_controls.js │ │ │ ├── search_listing.js │ │ │ ├── search_results.js │ │ │ ├── series.js │ │ │ ├── set_current.js │ │ │ ├── settings.js │ │ │ ├── share.js │ │ │ ├── status.js │ │ │ ├── store.js │ │ │ ├── switch.js │ │ │ ├── toggle.js │ │ │ └── util.js │ │ ├── collection.js │ │ ├── datacolors.js │ │ ├── dataset.js │ │ ├── datatable.js │ │ ├── dbxref.js │ │ ├── doc.js │ │ ├── donor.js │ │ ├── edit.js │ │ ├── encyclopedia.js │ │ ├── errors.js │ │ ├── experiment.js │ │ ├── experiment_series.js │ │ ├── facets │ │ │ ├── audit.js │ │ │ ├── biochemical_inputs.js │ │ │ ├── date_selector.js │ │ │ ├── defaults.js │ │ │ ├── exists.js │ │ │ ├── facet_groups.js │ │ │ ├── index.js │ │ │ ├── internal_status.js │ │ │ ├── organism.js │ │ │ ├── perturbed.js │ │ │ ├── registry.js │ │ │ ├── sort_desc.js │ │ │ ├── status.js │ │ │ ├── supressed.js │ │ │ └── type.js │ │ ├── fetched.js │ │ ├── file.js │ │ ├── filegallery.js │ │ ├── footer.js │ │ ├── form.js │ │ ├── gene.js │ │ ├── gene_search │ │ │ ├── __tests__ │ │ │ │ ├── .eslintrc.js │ │ │ │ ├── gene-search-gene-test.js │ │ │ │ ├── gene-search-input-test.js │ │ │ │ ├── gene-search-match-test.js │ │ │ │ ├── gene-search-results-test.js │ │ │ │ └── gene-search-search-test.js │ │ │ ├── constants.js │ │ │ ├── gene.js │ │ │ ├── index.js │ │ │ ├── input.js │ │ │ ├── match.js │ │ │ ├── results.js │ │ │ └── search.js │ │ ├── genetic_modification.js │ │ ├── genome_browser.js │ │ ├── globals.js │ │ ├── glossary.js │ │ ├── glossary │ │ │ └── glossary.json │ │ ├── graph.js │ │ ├── home │ │ │ ├── card_definitions.js │ │ │ ├── constants.js │ │ │ ├── icons.js │ │ │ ├── index.js │ │ │ ├── request.js │ │ │ ├── screen.js │ │ │ └── search.js │ │ ├── hooks.js │ │ ├── image.js │ │ ├── immune_cells.js │ │ ├── index.js │ │ ├── inputs │ │ │ ├── file.js │ │ │ ├── index.js │ │ │ └── object.js │ │ ├── item.js │ │ ├── layout.js │ │ ├── lib │ │ │ ├── index.js │ │ │ └── store.js │ │ ├── matrix.js │ │ ├── matrix_audit.js │ │ ├── matrix_brain.js │ │ ├── matrix_chip_seq.js │ │ ├── matrix_deeply_profiled.js │ │ ├── matrix_deeply_profiled_uniform_batch.js │ │ ├── matrix_degron.js │ │ ├── matrix_encore.js │ │ ├── matrix_entex.js │ │ ├── matrix_experiment.js │ │ ├── matrix_functional_characterization.js │ │ ├── matrix_human_donor.js │ │ ├── matrix_mouse_development.js │ │ ├── matrix_reference_epigenome.js │ │ ├── matrix_sescc_stem_cell.js │ │ ├── navigation.js │ │ ├── node_graph_data │ │ │ ├── H1_embryonic_stem_cell.json │ │ │ ├── H9_embryonic_stem_cell.json │ │ │ ├── PGP_iPSC.json │ │ │ ├── immune_cells.json │ │ │ └── sescc.json │ │ ├── objectutils.js │ │ ├── page.js │ │ ├── pipeline.js │ │ ├── platform.js │ │ ├── publication.js │ │ ├── quality_metric.js │ │ ├── reference.js │ │ ├── region_search.js │ │ ├── report.js │ │ ├── schema.js │ │ ├── search.js │ │ ├── series_search.js │ │ ├── single_cell.js │ │ ├── software.js │ │ ├── sorttable.js │ │ ├── status.js │ │ ├── summary.js │ │ ├── target.js │ │ ├── testdata │ │ │ ├── analysis_step │ │ │ │ ├── alignment-test-step-1.js │ │ │ │ ├── encode-2-step.js │ │ │ │ ├── step-run-1.js │ │ │ │ └── step-version-1.js │ │ │ ├── antibody │ │ │ │ └── ENCAB000AUZ.js │ │ │ ├── award.js │ │ │ ├── biosample │ │ │ │ ├── k562-1.js │ │ │ │ └── uberon-2371.js │ │ │ ├── biosample_type │ │ │ │ ├── bone_marrow.js │ │ │ │ ├── helas3.js │ │ │ │ └── k562.js │ │ │ ├── characterization │ │ │ │ └── antibody-367a6fdd0cef.js │ │ │ ├── dataset │ │ │ │ ├── ENCSR000AJW.js │ │ │ │ └── ENCSR999BLA.js │ │ │ ├── document │ │ │ │ ├── antibodyStandards.js │ │ │ │ ├── myerschipseq.js │ │ │ │ └── wgEncodeSydhHist-refs.js │ │ │ ├── donor │ │ │ │ ├── encdo000hum.js │ │ │ │ └── encdo012aaa.js │ │ │ ├── experiment-search.js │ │ │ ├── experiment.js │ │ │ ├── file │ │ │ │ ├── bam-rcw.js │ │ │ │ ├── bam-vuq.js │ │ │ │ ├── bam-vus.js │ │ │ │ ├── bam-vuz.js │ │ │ │ ├── bed-10cos.js │ │ │ │ ├── bed-11cos.js │ │ │ │ ├── bed-12cos.js │ │ │ │ ├── bed-2cos.js │ │ │ │ ├── bed-3cos.js │ │ │ │ ├── bed-4cos.js │ │ │ │ ├── bed-5cos.js │ │ │ │ ├── bed-6cos.js │ │ │ │ ├── bed-7cos.js │ │ │ │ ├── bed-8cos.js │ │ │ │ ├── bed-9cos.js │ │ │ │ ├── fastq.js │ │ │ │ ├── sra.js │ │ │ │ └── text.js │ │ │ ├── lab.js │ │ │ ├── library │ │ │ │ ├── sid38806.js │ │ │ │ └── sid38807.js │ │ │ ├── lot_review.js │ │ │ ├── lot_review │ │ │ │ └── EFO-0002791.js │ │ │ ├── organism │ │ │ │ ├── human.js │ │ │ │ ├── mouse.js │ │ │ │ └── rabbit.js │ │ │ ├── platform.js │ │ │ ├── publication │ │ │ │ ├── PMID16395128.js │ │ │ │ ├── PMID23000965.js │ │ │ │ ├── publication.js │ │ │ │ ├── supplementary-data-1.js │ │ │ │ └── supplementary-data-2.js │ │ │ ├── replicate │ │ │ │ ├── human.js │ │ │ │ └── mouse.js │ │ │ ├── software.js │ │ │ ├── source.js │ │ │ ├── source │ │ │ │ └── aviva.js │ │ │ ├── submitter.js │ │ │ ├── target │ │ │ │ └── HNRNPA1-human.js │ │ │ └── treatment │ │ │ │ ├── CHEBI34730.js │ │ │ │ └── CHEBI44616.js │ │ ├── testing.js │ │ ├── top_hits │ │ │ ├── __tests__ │ │ │ │ ├── .eslintrc.js │ │ │ │ ├── top-hits-debounce-test.js │ │ │ │ ├── top-hits-form-test.js │ │ │ │ ├── top-hits-hit-test.js │ │ │ │ ├── top-hits-input-test.js │ │ │ │ ├── top-hits-links-test.js │ │ │ │ ├── top-hits-query-test.js │ │ │ │ ├── top-hits-results-test.js │ │ │ │ └── top-hits-search-test.js │ │ │ ├── constants.js │ │ │ ├── debounce.js │ │ │ ├── form.js │ │ │ ├── hits │ │ │ │ ├── base.js │ │ │ │ ├── biosample.js │ │ │ │ ├── donor.js │ │ │ │ ├── experiment.js │ │ │ │ ├── file.js │ │ │ │ ├── index.js │ │ │ │ └── parts.js │ │ │ ├── index.js │ │ │ ├── input.js │ │ │ ├── links.js │ │ │ ├── multi │ │ │ │ ├── __tests__ │ │ │ │ │ ├── .eslintrc.js │ │ │ │ │ ├── data-collection-query-test.js │ │ │ │ │ ├── data-collection-results-test.js │ │ │ │ │ ├── multisearch-form-test.js │ │ │ │ │ ├── multisearch-group-test.js │ │ │ │ │ └── multisearch-search-test.js │ │ │ │ ├── constants.js │ │ │ │ ├── form.js │ │ │ │ ├── group.js │ │ │ │ ├── results.js │ │ │ │ └── search.js │ │ │ ├── query.js │ │ │ ├── results.js │ │ │ └── search.js │ │ ├── typeutils.js │ │ ├── user.js │ │ ├── view_controls.js │ │ └── vis_defines.js │ ├── dev-robots.txt │ ├── font │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── google63612883561ae8ff.html │ ├── img │ │ ├── FunSeq2.png │ │ ├── asc.gif │ │ ├── badge-Annotation.svg │ │ ├── badge-ChIPseq.svg │ │ ├── badge-Experiment.svg │ │ ├── badge-MouseDevelopment.svg │ │ ├── badge-ReferenceEpigenome-human.svg │ │ ├── badge-ReferenceEpigenome-mouse.svg │ │ ├── badge-community.png │ │ ├── badge-community.svg │ │ ├── badge-encode.png │ │ ├── badge-encode.svg │ │ ├── badge-encode2.png │ │ ├── badge-encode2.svg │ │ ├── badge-encode3.png │ │ ├── badge-encode3.svg │ │ ├── badge-encode4.png │ │ ├── badge-encode4.svg │ │ ├── badge-encore.png │ │ ├── badge-encore.svg │ │ ├── badge-ggr.png │ │ ├── badge-modencode.png │ │ ├── badge-modencode.svg │ │ ├── badge-modern.png │ │ ├── badge-modern.svg │ │ ├── badge-mouseencode.png │ │ ├── badge-mouseencode.svg │ │ ├── badge-roadmap.png │ │ ├── badge-roadmap.svg │ │ ├── bg.gif │ │ ├── bodyMap │ │ │ ├── Deselected-mouse.js │ │ │ ├── Deselected-mouse.svg │ │ │ ├── Deselected_Body.js │ │ │ ├── Selected-mouse.svg │ │ │ ├── insetSVGs │ │ │ │ ├── adipose_tissue.svg │ │ │ │ ├── adipose_tissue_deselected.svg │ │ │ │ ├── blood.svg │ │ │ │ ├── blood_deselected.svg │ │ │ │ ├── blood_vessel.svg │ │ │ │ ├── blood_vessel_deselected.svg │ │ │ │ ├── bone_marrow.svg │ │ │ │ ├── bone_marrow_deselected.svg │ │ │ │ ├── connective_tissue.svg │ │ │ │ ├── connective_tissue_deselected.svg │ │ │ │ ├── embryo.svg │ │ │ │ ├── embryo_deselected.svg │ │ │ │ ├── epithelium.svg │ │ │ │ ├── epithelium_deselected.svg │ │ │ │ ├── lymph_node.svg │ │ │ │ ├── lymph_node_deselected.svg │ │ │ │ ├── lymphatic_vessel.svg │ │ │ │ ├── lymphatic_vessel_deselected.svg │ │ │ │ ├── lymphoid_tissue.svg │ │ │ │ ├── lymphoid_tissue_deselected.svg │ │ │ │ ├── mouse_adipose_tissue.svg │ │ │ │ ├── mouse_adipose_tissue_deselected.svg │ │ │ │ ├── mouse_blood.svg │ │ │ │ ├── mouse_blood_deselected.svg │ │ │ │ ├── mouse_bone_marrow.svg │ │ │ │ ├── mouse_bone_marrow_deselected.svg │ │ │ │ ├── mouse_connective_tissue.svg │ │ │ │ ├── mouse_connective_tissue_deselected.svg │ │ │ │ ├── mouse_embryo.svg │ │ │ │ ├── mouse_embryo_deselected.svg │ │ │ │ ├── mouse_epithelium.svg │ │ │ │ ├── mouse_epithelium_deselected.svg │ │ │ │ ├── mouse_lymph_node.svg │ │ │ │ ├── mouse_lymph_node_deselected.svg │ │ │ │ ├── mouse_placenta.svg │ │ │ │ ├── mouse_placenta_deselected.svg │ │ │ │ ├── placenta.svg │ │ │ │ └── placenta_deselected.svg │ │ │ └── organisms │ │ │ │ ├── Caenorhabditis-elegans.png │ │ │ │ ├── Caenorhabditis-elegans.svg │ │ │ │ ├── Drosophila-melanogaster.png │ │ │ │ ├── Drosophila-melanogaster.svg │ │ │ │ ├── Homo-sapiens.png │ │ │ │ ├── Homo-sapiens.svg │ │ │ │ ├── Mus-musculus.png │ │ │ │ └── Mus-musculus.svg │ │ ├── broadinstitute.ico │ │ ├── brokenImage.png │ │ ├── checker.svg │ │ ├── classic-image-5290.jpg │ │ ├── close-icon.png │ │ ├── close-icon.svg │ │ ├── creative-commons-logo.png │ │ ├── desc.gif │ │ ├── disclosure-arrow.svg │ │ ├── dna-bg.png │ │ ├── encode-bg-gray.png │ │ ├── encode-circle.png │ │ ├── encode-logo-small-150x150.png │ │ ├── encode-logo-small-2x.png │ │ ├── encode-logo-small.png │ │ ├── encode-logo-square.png │ │ ├── favicon.ico │ │ ├── file-broken.svg │ │ ├── file-pdf.svg │ │ ├── file.svg │ │ ├── fine-diagonal-lines.svg │ │ ├── getting-started.jpg │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.png │ │ ├── hiding-dots.svg │ │ ├── home-page-background.jpg │ │ ├── immune-cells │ │ │ ├── b_cell.svg │ │ │ ├── basophil.svg │ │ │ ├── dendritic_cell.svg │ │ │ ├── eosinophil.svg │ │ │ ├── erythrocytes.svg │ │ │ ├── hematopoetic_cell.svg │ │ │ ├── macrophage.svg │ │ │ ├── megakaryocyte.svg │ │ │ ├── monocyte.svg │ │ │ ├── neutrophil.svg │ │ │ ├── nk_cell.svg │ │ │ ├── platelets.svg │ │ │ ├── progenitor_cell.svg │ │ │ └── t_cell.svg │ │ ├── nhgri.jpg │ │ ├── orientation-icons.png │ │ ├── pennant-encode.png │ │ ├── pennant-ggr.png │ │ ├── pennant-nhgri.png │ │ ├── pennant-remc.png │ │ ├── regulome.ico │ │ ├── screen.png │ │ ├── series │ │ │ ├── Differentiation.svg │ │ │ ├── Disease.svg │ │ │ ├── GeneSilencing.svg │ │ │ ├── OrganismDevelopment.svg │ │ │ ├── ReplicationTiming.svg │ │ │ ├── TreatmentConcentration.svg │ │ │ └── TreatmentTime.svg │ │ ├── som-logo-red.png │ │ ├── som-logo.png │ │ ├── spinner-orange-bg.gif │ │ ├── spinner1.gif │ │ ├── su-logo-white-2x.png │ │ ├── su-logo-white.png │ │ ├── su-logo.png │ │ ├── tag-DREAM.png │ │ ├── tag-ENCORE.svg │ │ ├── tag-ENCYCLOPEDIAv0.3.svg │ │ ├── tag-ENCYCLOPEDIAv1.svg │ │ ├── tag-ENCYCLOPEDIAv2.svg │ │ ├── tag-ENCYCLOPEDIAv3.svg │ │ ├── tag-ENCYCLOPEDIAv4.svg │ │ ├── tag-ENCYCLOPEDIAv5.svg │ │ ├── tag-ENTEx.png │ │ ├── tag-LRGASP.png │ │ ├── tag-MouseDevSeries.svg │ │ ├── tag-PGP.png │ │ ├── tag-RegulomeDB.png │ │ ├── tag-RegulomeDB_1_0.svg │ │ ├── tag-RegulomeDB_2_0.svg │ │ ├── tag-RegulomeDB_2_1.svg │ │ ├── tag-RegulomeDB_2_2.svg │ │ ├── tag-RegulomeDB_2_3.svg │ │ ├── tag-RegulomeDB_3_0.svg │ │ ├── tag-RegulomeDB_3_1.svg │ │ ├── tag-RushAD.svg │ │ ├── tag-SESCC.png │ │ ├── tag-SESCC.svg │ │ ├── tag-YaleImmuneCells.svg │ │ ├── tag-ccre_inputv1.svg │ │ ├── tag-ccre_inputv2.svg │ │ ├── tag-dbGaP.png │ │ ├── tag-deeply-profiled.svg │ │ └── tag-degron.svg │ ├── inline.js │ ├── libs │ │ ├── __tests__ │ │ │ ├── .eslintrc.js │ │ │ ├── query_string-test.js │ │ │ ├── registry-test.js │ │ │ ├── sort-ages-test.js │ │ │ └── timeout.js │ │ ├── cache.js │ │ ├── closest.js │ │ ├── compat.js │ │ ├── constants.js │ │ ├── formatMeasurement.js │ │ ├── jsonScriptEscape.js │ │ ├── jsonld.js │ │ ├── offset.js │ │ ├── ordinal_suffix.js │ │ ├── origin.js │ │ ├── query_encoding.js │ │ ├── query_string.js │ │ ├── react-middleware.js │ │ ├── react-patches.js │ │ ├── registry.js │ │ ├── sort-ages.js │ │ ├── svg-icons.js │ │ ├── timeout.js │ │ ├── ui │ │ │ ├── boolean-toggle.js │ │ │ ├── button.js │ │ │ ├── dropdown-menu.js │ │ │ ├── limit-selector.js │ │ │ ├── modal.js │ │ │ ├── navbar.js │ │ │ ├── node_graph.js │ │ │ ├── pager.js │ │ │ ├── panel.js │ │ │ └── tooltip.js │ │ └── user_roles.js │ ├── mime.types │ ├── robots.txt │ ├── scss │ │ ├── encoded │ │ │ ├── _base.scss │ │ │ ├── _bootstrap-lib.scss │ │ │ ├── _layout.scss │ │ │ ├── _math.scss │ │ │ ├── _mixins-custom.scss │ │ │ ├── _state.scss │ │ │ ├── _theme.scss │ │ │ └── modules │ │ │ │ ├── _auditmatrix.scss │ │ │ │ ├── _audits.scss │ │ │ │ ├── _award.scss │ │ │ │ ├── _badge.scss │ │ │ │ ├── _batch_download.scss │ │ │ │ ├── _blocks.scss │ │ │ │ ├── _body_map.scss │ │ │ │ ├── _body_map_facet.scss │ │ │ │ ├── _boolean_toggle.scss │ │ │ │ ├── _breadcrumbs.scss │ │ │ │ ├── _cart.scss │ │ │ │ ├── _characterizations.scss │ │ │ │ ├── _collection.scss │ │ │ │ ├── _common_item.scss │ │ │ │ ├── _encode-software.scss │ │ │ │ ├── _encyclopedia.scss │ │ │ │ ├── _facet.scss │ │ │ │ ├── _faq_glossary.scss │ │ │ │ ├── _forms.scss │ │ │ │ ├── _genetic_modification.scss │ │ │ │ ├── _genome_browser.scss │ │ │ │ ├── _home.scss │ │ │ │ ├── _immune_cells.scss │ │ │ │ ├── _key-value-display.scss │ │ │ │ ├── _layout-editor.scss │ │ │ │ ├── _layout.scss │ │ │ │ ├── _lightbox.scss │ │ │ │ ├── _lists.scss │ │ │ │ ├── _loading-spinner.scss │ │ │ │ ├── _matrix.scss │ │ │ │ ├── _modals.scss │ │ │ │ ├── _mouse_map.scss │ │ │ │ ├── _navbar.scss │ │ │ │ ├── _news.scss │ │ │ │ ├── _pager.scss │ │ │ │ ├── _panels.scss │ │ │ │ ├── _pipeline.scss │ │ │ │ ├── _quality_metric.scss │ │ │ │ ├── _report.scss │ │ │ │ ├── _schema.scss │ │ │ │ ├── _search.scss │ │ │ │ ├── _status.scss │ │ │ │ ├── _summary.scss │ │ │ │ ├── _tables.scss │ │ │ │ ├── _tabs.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ ├── _top_hits_search.scss │ │ │ │ ├── _user.scss │ │ │ │ └── _visualize.scss │ │ ├── fontawesome │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _core.scss │ │ │ ├── _extras.scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _font-awesome.scss │ │ │ ├── _icons.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _mixins.scss │ │ │ ├── _path.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _spinning.scss │ │ │ ├── _stacked.scss │ │ │ └── _variables.scss │ │ └── style.scss │ ├── server.js │ └── vis_defs │ │ ├── ANNO_vis_def.json │ │ ├── ATAC_vis_def.json │ │ ├── ChIA_vis_def.json │ │ ├── ChIP_vis_def.json │ │ ├── DNASE_vis_def.json │ │ ├── GGRChIP_vis_def.json │ │ ├── HIST_vis_def.json │ │ ├── HiC_vis_def.json │ │ ├── LRNA_vis_def.json │ │ ├── MPRA_vis_def.json │ │ ├── PCS_vis_def.json │ │ ├── SRNA_vis_def.json │ │ ├── STARR_vis_def.json │ │ ├── TSS_vis_def.json │ │ ├── WGBS_vis_def.json │ │ ├── eCLIP_vis_def.json │ │ ├── miRNA_vis_def.json │ │ ├── scRNA_vis_def.json │ │ ├── tkRNA_vis_def.json │ │ └── vis_defs.json │ ├── tests │ ├── __init__.py │ ├── conftest.py │ ├── constants.py │ ├── data │ │ ├── documents │ │ │ ├── 8121902.2P.pdf │ │ │ ├── ADNP_anti_GFP_Roche_11814460001_WB_White.png │ │ │ ├── Antibody_Characterization_ENCODE3_February2014.pdf │ │ │ ├── BACTransfectionProtocolK562Cells.pdf │ │ │ ├── C2C12_Wold_protocol.pdf │ │ │ ├── CH17_pBACGK1.1n.png │ │ │ ├── ENCBS000AAA-json.png │ │ │ ├── ENCBS000AAA.png │ │ │ ├── ENCFF002DSJ.raw.srt.filt.nodup.srt.filt.nodup.sample.15.SE.tagAlign.gz.cc.plot.pdf │ │ │ ├── ENCFF150HADvENCFF315YLZ.IDRv2.log.txt │ │ │ ├── ENCFF150HADvENCFF315YLZ.IDRv2.pooled_common_IDRv2.narrowPeak.png │ │ │ ├── ENCODE2ChIP-seqpipelinespecifications.pdf │ │ │ ├── ENCODE2_ChIP_seq_pipeline_diagram.pdf │ │ │ ├── ENCODE_logo.gif │ │ │ ├── ENCSR292QBA_dc52ccc3-96aa-4422-ae8b-72cca0d9c2c7_metadata.json │ │ │ ├── EPC_Stam_protocol.pdf │ │ │ ├── EncodeDatatypes2013-7.png │ │ │ ├── FLAG-ZNF124_HepG2_IP-MS.png │ │ │ ├── GeneQuantificationPipeline.pdf │ │ │ ├── Graveley_Group_RNA-Seq_Pipeline_02042013.pdf │ │ │ ├── H3K4me3 Millipore 07-473 JBC1888194.png │ │ │ ├── H3K4me3_Millipore_07-473_lot_DAM1651667_WB.png │ │ │ ├── H3K4me3_Millipore_07-473_lot_DAM1731494.png │ │ │ ├── HAIB_TCF4_WH0006925M2_IP-WB.jpg │ │ │ ├── HAIB_TCF4_WH0006925M2_MassSpec.tsv │ │ │ ├── HAIB_TCF4_WH0006925M2_MassSpec.tsv.gz │ │ │ ├── Heart_STL003_excision_protocol.txt │ │ │ ├── K562_protocol.pdf │ │ │ ├── LID48879.pdf │ │ │ ├── MCF-7_Crawford_protocol.pdf │ │ │ ├── MCF-7_Farnham_protocol.pdf │ │ │ ├── Myers_Lab_ChIP-seq_Protocol_v042211.pdf │ │ │ ├── PanIsletD_Crawford_protocol.pdf │ │ │ ├── PathologyImage_CMU-1.svs │ │ │ ├── SAEC_Stam_protocol.pdf │ │ │ ├── SID38242.pdf │ │ │ ├── SID38806.pdf │ │ │ ├── SID38807.pdf │ │ │ ├── SID38822.pdf │ │ │ ├── SID38823.pdf │ │ │ ├── Spikes.fixed.fasta.txt │ │ │ ├── Stam_15_protocols.pdf │ │ │ ├── ZhBTc4_Stam_protocol.pdf │ │ │ ├── bedMethyl.as │ │ │ ├── bedMethyl.txt │ │ │ ├── curl-output.png │ │ │ ├── diffProtB_6hr_protocol.txt │ │ │ ├── encode-library-object-structure.jpg │ │ │ ├── fastqc_report.html │ │ │ ├── frowny_gel.png │ │ │ ├── gene_quantification_qc.json │ │ │ ├── generic_from_mad_plot.png │ │ │ ├── generic_from_star_final_out.txt │ │ │ ├── hnRNPA1_aviva-1_WB_HeLa_Fu.TIF │ │ │ ├── hnRNPA1_aviva-2_WB_HeLa_Fu.TIF │ │ │ ├── hnRNPA1_santacruz_IP-WB_K562_Fu.TIF │ │ │ ├── human.wgEncodeHaibMethyl450.txt │ │ │ ├── human_CTCF_sc-5916_validation_Myers-1.png │ │ │ ├── human_CTCF_sc-5916_validation_Myers-2.png │ │ │ ├── human_E2F1_HA-E2F1_validation_Farnham-1_1.jpg │ │ │ ├── human_E2F1_HA-E2F1_validation_Farnham.pdf │ │ │ ├── human_H3K4me3_validation_Bernstein.pdf │ │ │ ├── human_H3K9ac_ab4441_validation_Bernstein.pdf │ │ │ ├── human_TAF1_validation_Myers.pdf │ │ │ ├── iCLIP_pipeline_ENCODE.pdf │ │ │ ├── jocelyn.jpg │ │ │ ├── mouse.wgEncodeSydhHist.txt │ │ │ ├── mouse_H3K4me3_07-473_validation_Hardison.pdf │ │ │ ├── pLKO1_vector.png │ │ │ ├── rna_qc_attachment.txt │ │ │ ├── sample_strain_generation_protocol.pdf │ │ │ ├── search-result-bone-chip.png │ │ │ ├── selma.jpg │ │ │ ├── tarball1.tar.gz │ │ │ ├── tarball2.tgz │ │ │ └── wgEncodeCshlSpikeinsConcentrations.txt │ │ ├── inserts │ │ │ ├── access_key.json │ │ │ ├── aggregate_series.json │ │ │ ├── analysis.json │ │ │ ├── analysis_step.json │ │ │ ├── analysis_step_run.json │ │ │ ├── analysis_step_version.json │ │ │ ├── annotation.json │ │ │ ├── antibody_characterization.json │ │ │ ├── antibody_lot.json │ │ │ ├── atac_alignment_enrichment_quality_metric.json │ │ │ ├── atac_alignment_quality_metric.json │ │ │ ├── atac_library_complexity_quality_metric.json │ │ │ ├── atac_peak_enrichment_quality_metric.json │ │ │ ├── atac_replication_quality_metric.json │ │ │ ├── award.json │ │ │ ├── biosample.json │ │ │ ├── biosample_characterization.json │ │ │ ├── biosample_type.json │ │ │ ├── bismark_quality_metric.json │ │ │ ├── bpnet_quality_metric.json │ │ │ ├── bru_library_quality_metric.json │ │ │ ├── cart.json │ │ │ ├── chia_pet_alignment_quality_metric.json │ │ │ ├── chia_pet_chr_interactions_quality_metric.json │ │ │ ├── chia_pet_peak_enrichment_quality_metric.json │ │ │ ├── chip_alignment_enrichment_quality_metric.json │ │ │ ├── chip_alignment_samstat_quality_metric.json │ │ │ ├── chip_library_quality_metric.json │ │ │ ├── chip_peak_enrichment_quality_metric.json │ │ │ ├── chip_replication_quality_metric.json │ │ │ ├── chipseq_filter_quality_metric.json │ │ │ ├── collection_series.json │ │ │ ├── complexity_xcorr_quality_metric.json │ │ │ ├── computational_model.json │ │ │ ├── correlation_quality_metric.json │ │ │ ├── cpg_correlation_quality_metric.json │ │ │ ├── differential_accessibility_series.json │ │ │ ├── differentiation_series.json │ │ │ ├── disease_series.json │ │ │ ├── dnase_alignment_quality_metric.json │ │ │ ├── dnase_footprinting_quality_metric.json │ │ │ ├── document.json │ │ │ ├── donor_characterization.json │ │ │ ├── duplicates_quality_metric.json │ │ │ ├── edwbamstats_quality_metric.json │ │ │ ├── expected_annotation_batch_download.tsv │ │ │ ├── expected_annotation_metadata.tsv │ │ │ ├── expected_batch_download.tsv │ │ │ ├── expected_batch_download_file_size_inequality.tsv │ │ │ ├── expected_metadata.tsv │ │ │ ├── expected_metadata_file_size_inequality.tsv │ │ │ ├── expected_metadata_read_length_inequality.tsv │ │ │ ├── expected_publication_data_batch_download.tsv │ │ │ ├── expected_publication_data_metadata.tsv │ │ │ ├── expected_series_metadata.tsv │ │ │ ├── experiment.json │ │ │ ├── experiment_series.json │ │ │ ├── file.json │ │ │ ├── filtering_quality_metric.json │ │ │ ├── fly_donor.json │ │ │ ├── functional_characterization_experiment.json │ │ │ ├── functional_characterization_series.json │ │ │ ├── gembs_alignment_quality_metric.json │ │ │ ├── gencode_category_quality_metric.json │ │ │ ├── gene.json │ │ │ ├── gene_quantification_quality_metric.json │ │ │ ├── gene_silencing_series.json │ │ │ ├── gene_type_quantification_quality_metric.json │ │ │ ├── generic_quality_metric.json │ │ │ ├── genetic_modification.json │ │ │ ├── genetic_modification_characterization.json │ │ │ ├── hic_quality_metric.json │ │ │ ├── histone_chipseq_quality_metric.json │ │ │ ├── hotspot_quality_metric.json │ │ │ ├── human_donor.json │ │ │ ├── idr_quality_metric.json │ │ │ ├── idr_summary_quality_metric.json │ │ │ ├── image.json │ │ │ ├── lab.json │ │ │ ├── library.json │ │ │ ├── long_read_rna_mapping_quality_metric.json │ │ │ ├── long_read_rna_quantification_quality_metric.json │ │ │ ├── mad_quality_metric.json │ │ │ ├── manatee_donor.json │ │ │ ├── matched_set.json │ │ │ ├── micro_rna_mapping_quality_metric.json │ │ │ ├── micro_rna_quantification_quality_metric.json │ │ │ ├── mouse_donor.json │ │ │ ├── multiomics_series.json │ │ │ ├── organism.json │ │ │ ├── organism_development_series.json │ │ │ ├── page.json │ │ │ ├── pipeline.json │ │ │ ├── platform.json │ │ │ ├── project.json │ │ │ ├── publication.json │ │ │ ├── publication_data.json │ │ │ ├── pulse_chase_time_series.json │ │ │ ├── quality_metric.json │ │ │ ├── quality_standard.json │ │ │ ├── reference.json │ │ │ ├── reference_epigenome.json │ │ │ ├── replicate.json │ │ │ ├── replication_timing_series.json │ │ │ ├── samtools_flagstats_quality_metric.json │ │ │ ├── samtools_stats_quality_metric.json │ │ │ ├── sc_atac_alignment_quality_metric.json │ │ │ ├── sc_atac_analysis_quality_metric.json │ │ │ ├── sc_atac_counts_summary_quality_metric.json │ │ │ ├── sc_atac_library_complexity_quality_metric.json │ │ │ ├── sc_atac_multiplet_quality_metric.json │ │ │ ├── sc_atac_read_quality_metric.json │ │ │ ├── scrna_seq_counts_summary_quality_metric.json │ │ │ ├── segway_quality_metric.json │ │ │ ├── single_cell_rna_series.json │ │ │ ├── single_cell_unit.json │ │ │ ├── software.json │ │ │ ├── software_version.json │ │ │ ├── sorted_uuids.tsv │ │ │ ├── source.json │ │ │ ├── star_quality_metric.json │ │ │ ├── star_solo_quality_metric.json │ │ │ ├── target.json │ │ │ ├── transgenic_enhancer_experiment.json │ │ │ ├── treatment.json │ │ │ ├── treatment_concentration_series.json │ │ │ ├── treatment_time_series.json │ │ │ ├── trimming_quality_metric.json │ │ │ ├── ucsc_browser_composite.json │ │ │ ├── user.json │ │ │ └── worm_donor.json │ │ └── upload_credentials │ │ │ ├── external_bucket_list_empty │ │ │ ├── external_bucket_list_many │ │ │ └── external_bucket_list_one │ ├── features │ │ ├── __init__.py │ │ ├── advanced_query_search.feature │ │ ├── antibodies.feature │ │ ├── audit.feature │ │ ├── batch_hubs.feature │ │ ├── biosamples.feature │ │ ├── browsersteps.py │ │ ├── cart.feature │ │ ├── cart_public.feature │ │ ├── conftest.py │ │ ├── customsteps.py │ │ ├── encyclopedia.feature │ │ ├── experiments.feature │ │ ├── home.feature │ │ ├── matrix_brain.feature │ │ ├── matrix_chip_seq.feature │ │ ├── matrix_deeply_profiled.feature │ │ ├── matrix_deeply_profiled_uniform_batch.feature │ │ ├── matrix_degron.feature │ │ ├── matrix_encore.feature │ │ ├── matrix_entex.feature │ │ ├── matrix_experiment.feature │ │ ├── matrix_functional_characterization.feature │ │ ├── matrix_human_donor.feature │ │ ├── matrix_mouse_development.feature │ │ ├── matrix_reference_epigenome.feature │ │ ├── matrix_reference_epigenome_homo_sapien_all.feature │ │ ├── matrix_reference_epigenome_homo_sapien_nonroadmap.feature │ │ ├── matrix_reference_epigenome_mus_musculus.feature │ │ ├── matrix_sescc_stem_cell.feature │ │ ├── no_at_type.feature │ │ ├── page.feature │ │ ├── report.feature │ │ ├── search.feature │ │ ├── series_search.feature │ │ ├── single_cell.feature │ │ ├── software.feature │ │ ├── summary.feature │ │ ├── targets.feature │ │ ├── test_admin_user.py │ │ ├── test_audit.py │ │ ├── test_batch_hubs.py │ │ ├── test_cart_public.py │ │ ├── test_cart_submitter.py │ │ ├── test_encyclopedia.py │ │ ├── test_home.py │ │ ├── test_matrix.py │ │ ├── test_nodata.py │ │ ├── test_report.py │ │ ├── test_series_search.py │ │ ├── test_single_cell.py │ │ ├── test_software.py │ │ ├── test_submitter_user.py │ │ ├── test_summary.py │ │ ├── test_trackhubs.py │ │ ├── test_views.py │ │ ├── test_workbook.py │ │ ├── title.feature │ │ ├── toolbar.feature │ │ ├── user.feature │ │ └── views.feature │ ├── fixtures │ │ ├── batch_download.py │ │ ├── ontology.py │ │ ├── schemas │ │ │ ├── access_key.py │ │ │ ├── aggregate_series.py │ │ │ ├── analysis.py │ │ │ ├── analysis_step.py │ │ │ ├── analysis_step_run.py │ │ │ ├── analysis_step_version.py │ │ │ ├── annotation.py │ │ │ ├── antibody.py │ │ │ ├── antibody_characterization.py │ │ │ ├── antibody_lot.py │ │ │ ├── atac_alignment_enrichment_quality_metric.py │ │ │ ├── atac_alignment_quality_metric.py │ │ │ ├── atac_library_complexity_quality_metric.py │ │ │ ├── atac_peak_enrichment_quality_metric.py │ │ │ ├── atac_replication_quality_metric.py │ │ │ ├── award.py │ │ │ ├── biosample.py │ │ │ ├── biosample_characterization.py │ │ │ ├── biosample_type.py │ │ │ ├── bismark_quality_metric.py │ │ │ ├── cart.py │ │ │ ├── characterization.py │ │ │ ├── chia_pet_alignment_quality_metric.py │ │ │ ├── chia_pet_chr_interactions_quality_metric.py │ │ │ ├── chia_pet_peak_enrichment_quality_metric.py │ │ │ ├── chip_alignment_enrichment_quality_metric.py │ │ │ ├── chip_alignment_samstat_quality_metric.py │ │ │ ├── chip_library_quality_metric.py │ │ │ ├── chip_peak_enrichment_quality_metric.py │ │ │ ├── chip_replication_quality_metric.py │ │ │ ├── chipseq_filter_quality_metric.py │ │ │ ├── collection_series.py │ │ │ ├── computational_model.py │ │ │ ├── correlation_quality_metric.py │ │ │ ├── cpg_correlation_quality_metric.py │ │ │ ├── dataset.py │ │ │ ├── differential_accessibility_series.py │ │ │ ├── differentiation_series.py │ │ │ ├── disease_series.py │ │ │ ├── dnase_footprinting_quality_metric.py │ │ │ ├── document.py │ │ │ ├── duplicates_quality_metric.py │ │ │ ├── experiment.py │ │ │ ├── experiment_series.py │ │ │ ├── file.py │ │ │ ├── fly_donor.py │ │ │ ├── functional_characterization_experiment.py │ │ │ ├── functional_characterization_series.py │ │ │ ├── gembs_alignment_quality_metric.py │ │ │ ├── gene.py │ │ │ ├── gene_silencing_series.py │ │ │ ├── generic_quality_metric.py │ │ │ ├── genetic_modification.py │ │ │ ├── hic_quality_metric.py │ │ │ ├── histone_chipseq_quality_metric.py │ │ │ ├── hotspot_quality_metric.py │ │ │ ├── human_donor.py │ │ │ ├── idr_quality_metric.py │ │ │ ├── lab.py │ │ │ ├── library.py │ │ │ ├── long_read_rna_mapping_quality_metric.py │ │ │ ├── long_read_rna_quantification_quality_metric.py │ │ │ ├── mad_quality_metric.py │ │ │ ├── manatee_donor.py │ │ │ ├── matched_set.py │ │ │ ├── micro_rna_mapping_quality_metric.py │ │ │ ├── micro_rna_quantification_quality_metric.py │ │ │ ├── mouse_donor.py │ │ │ ├── multiomics_series.py │ │ │ ├── organism.py │ │ │ ├── organism_development_series.py │ │ │ ├── page.py │ │ │ ├── pipeline.py │ │ │ ├── platform.py │ │ │ ├── project.py │ │ │ ├── publication.py │ │ │ ├── publication_data.py │ │ │ ├── pulse_chase_time_series.py │ │ │ ├── quality_metric.py │ │ │ ├── reference.py │ │ │ ├── reference_epigenome.py │ │ │ ├── replicate.py │ │ │ ├── replication_timing_series.py │ │ │ ├── samtools_flagstats_quality_metric.py │ │ │ ├── samtools_stats_quality_metric.py │ │ │ ├── sc_atac_alignment_quality_metric.py │ │ │ ├── sc_atac_library_complexity_quality_metric.py │ │ │ ├── sc_atac_multiplet_quality_metric.py │ │ │ ├── single_cell_rna_series.py │ │ │ ├── single_cell_unit.py │ │ │ ├── software.py │ │ │ ├── software_version.py │ │ │ ├── source.py │ │ │ ├── star_quality_metric.py │ │ │ ├── target.py │ │ │ ├── transgenic_enhancer_experiment.py │ │ │ ├── treatment.py │ │ │ ├── treatment_concentration_series.py │ │ │ ├── treatment_time_series.py │ │ │ ├── ucsc_browser_composite.py │ │ │ ├── user.py │ │ │ └── worm_donor.py │ │ ├── shared_fixtures.py │ │ └── testapp.py │ ├── test_access_key.py │ ├── test_accession_replacement.py │ ├── test_audit_analysis.py │ ├── test_audit_analysis_step.py │ ├── test_audit_annotation.py │ ├── test_audit_antibody_characterization.py │ ├── test_audit_antibody_lot.py │ ├── test_audit_biosample.py │ ├── test_audit_biosample_type.py │ ├── test_audit_characterization.py │ ├── test_audit_conditions.py │ ├── test_audit_donor.py │ ├── test_audit_experiment.py │ ├── test_audit_experiment_series.py │ ├── test_audit_file.py │ ├── test_audit_functional_characterization_experiment.py │ ├── test_audit_genetic_modification.py │ ├── test_audit_item.py │ ├── test_audit_pipeline.py │ ├── test_audit_reference_epigenome.py │ ├── test_audit_replicate.py │ ├── test_audit_series.py │ ├── test_audit_treatment.py │ ├── test_auditor.py │ ├── test_auth0.py │ ├── test_authentication.py │ ├── test_batch_download.py │ ├── test_create_mapping.py │ ├── test_download.py │ ├── test_edw_hash.py │ ├── test_embedding.py │ ├── test_file.py │ ├── test_file_download.py │ ├── test_fixtures.py │ ├── test_genomic_data_service.py │ ├── test_graph.py │ ├── test_indexing.py │ ├── test_key.py │ ├── test_link.py │ ├── test_ontology_slims.py │ ├── test_permissions.py │ ├── test_post_put_patch.py │ ├── test_renderers.py │ ├── test_reports_batch_download.py │ ├── test_reports_csv.py │ ├── test_reports_decorators.py │ ├── test_reports_inequalities.py │ ├── test_reports_metadata.py │ ├── test_reports_search.py │ ├── test_reports_serializers.py │ ├── test_schema_analysis_step_run.py │ ├── test_schema_annotation.py │ ├── test_schema_antibody_characterization.py │ ├── test_schema_biosample.py │ ├── test_schema_cart.py │ ├── test_schema_computational_model.py │ ├── test_schema_donor.py │ ├── test_schema_experiment.py │ ├── test_schema_file.py │ ├── test_schema_functional_characterization_experiment.py │ ├── test_schema_gene.py │ ├── test_schema_genetic_modification.py │ ├── test_schema_genetic_modification_characterization.py │ ├── test_schema_hic_quality_metric.py │ ├── test_schema_library.py │ ├── test_schema_pipeline.py │ ├── test_schema_publication.py │ ├── test_schema_publication_data.py │ ├── test_schema_quality_metric.py │ ├── test_schema_reference.py │ ├── test_schema_replicate.py │ ├── test_schema_target.py │ ├── test_schema_treatment.py │ ├── test_schemas.py │ ├── test_search_views.py │ ├── test_searches_caches.py │ ├── test_searches_fields.py │ ├── test_searches_queries.py │ ├── test_searches_responses.py │ ├── test_server_defaults.py │ ├── test_status_trigger.py │ ├── test_types_analysis.py │ ├── test_types_antibody_lot.py │ ├── test_types_biosample.py │ ├── test_types_carts.py │ ├── test_types_dataset.py │ ├── test_types_donor.py │ ├── test_types_experiment.py │ ├── test_types_experiment_series.py │ ├── test_types_file.py │ ├── test_types_functional_characterization_experiment.py │ ├── test_types_genetic_modification.py │ ├── test_types_pipeline.py │ ├── test_types_quality_metric.py │ ├── test_types_series.py │ ├── test_types_transgenic_enhancer_experiment.py │ ├── test_types_treatment.py │ ├── test_upgrade_access_key.py │ ├── test_upgrade_analysis_step.py │ ├── test_upgrade_analysis_step_run.py │ ├── test_upgrade_analysis_step_version.py │ ├── test_upgrade_antibody_lot.py │ ├── test_upgrade_atac_alignment_enrichment_quality_metric.py │ ├── test_upgrade_atac_peak_enrichment_quality_metric.py │ ├── test_upgrade_award.py │ ├── test_upgrade_biosample.py │ ├── test_upgrade_bismark_qc.py │ ├── test_upgrade_cart.py │ ├── test_upgrade_characterization.py │ ├── test_upgrade_chip_peak_enrichment_quality_metric.py │ ├── test_upgrade_chip_replication_quality_metric.py │ ├── test_upgrade_dataset.py │ ├── test_upgrade_document.py │ ├── test_upgrade_donor.py │ ├── test_upgrade_file.py │ ├── test_upgrade_functional_characterization_experiment.py │ ├── test_upgrade_gene.py │ ├── test_upgrade_gene_type_quantification_quality_metric.py │ ├── test_upgrade_genetic_modification.py │ ├── test_upgrade_hic_quality_metric.py │ ├── test_upgrade_hotspot_quality_metric.py │ ├── test_upgrade_lab.py │ ├── test_upgrade_library.py │ ├── test_upgrade_organism.py │ ├── test_upgrade_page.py │ ├── test_upgrade_pipeline.py │ ├── test_upgrade_platform.py │ ├── test_upgrade_publication.py │ ├── test_upgrade_quality_metric.py │ ├── test_upgrade_replicate.py │ ├── test_upgrade_sc_atac_alignment_quality_metric.py │ ├── test_upgrade_sc_atac_library_complexity_quality_metric.py │ ├── test_upgrade_software.py │ ├── test_upgrade_source.py │ ├── test_upgrade_star_qc.py │ ├── test_upgrade_target.py │ ├── test_upgrade_transgenic_enhancer_experiment.py │ ├── test_upgrade_treatment.py │ ├── test_upgrade_user.py │ ├── test_upload_credentials.py │ ├── test_views.py │ ├── testing_auditor.py │ └── testing_views.py │ ├── typedsheets.py │ ├── types │ ├── __init__.py │ ├── ab_lot_status_data.py │ ├── access_key.py │ ├── analysis.py │ ├── antibody_lot.py │ ├── assay_data.py │ ├── base.py │ ├── biosample.py │ ├── biosample_type.py │ ├── cart.py │ ├── characterization.py │ ├── dataset.py │ ├── donor.py │ ├── experiment.py │ ├── file.py │ ├── functional_characterization_experiment.py │ ├── gene.py │ ├── genetic_modification.py │ ├── image.py │ ├── page.py │ ├── pipeline.py │ ├── quality_metric.py │ ├── rna_expression.py │ ├── shared_biosample.py │ ├── shared_calculated_properties.py │ ├── target.py │ ├── transgenic_enhancer_experiment.py │ └── user.py │ ├── upgrade │ ├── __init__.py │ ├── access_key.py │ ├── analysis_step.py │ ├── analysis_step_run.py │ ├── analysis_step_version.py │ ├── antibody_lot.py │ ├── atac_alignment_enrichment_quality_metric.py │ ├── atac_peak_enrichment_quality_metric.py │ ├── award.py │ ├── biosample.py │ ├── bismark_quality_metric.py │ ├── cart.py │ ├── characterization.py │ ├── chip_peak_enrichment_quality_metric.py │ ├── chip_replication_quality_metric.py │ ├── chipseq_filter_quality_metric.py │ ├── complexity_xcorr_quality_metric.py │ ├── correlation_quality_metric.py │ ├── cpg_correlation_quality_metric.py │ ├── dataset.py │ ├── document.py │ ├── donor.py │ ├── duplicates_quality_metric.py │ ├── edwbamstats_quality_metric.py │ ├── file.py │ ├── filtering_quality_metric.py │ ├── functional_characterization_experiment.py │ ├── gene.py │ ├── gene_type_quantification_quality_metric.py │ ├── generic_quality_metric.py │ ├── genetic_modification.py │ ├── hic_quality_metric.py │ ├── hotspot_quality_metric.py │ ├── idr_quality_metric.py │ ├── idr_summary_quality_metric.py │ ├── item.py │ ├── lab.py │ ├── library.py │ ├── mad_quality_metric.py │ ├── organism.py │ ├── page.py │ ├── pipeline.py │ ├── platform.py │ ├── publication.py │ ├── quality_metric.py │ ├── replicate.py │ ├── samtools_flagstats_quality_metric.py │ ├── samtools_stats_quality_metric.py │ ├── sc_atac_alignment_quality_metric.py │ ├── sc_atac_library_complexity_quality_metric.py │ ├── shared.py │ ├── software.py │ ├── source.py │ ├── star_quality_metric.py │ ├── target.py │ ├── transgenic_enhancer_assay.py │ ├── treatment.py │ ├── trimming_quality_metric.py │ ├── upgrade_data │ │ ├── __init__.py │ │ ├── analysis_step_5_to_6.py │ │ ├── file_10_to_11_patch.tsv │ │ ├── genetic_modification_step_5_to_6_post.json │ │ └── pipeline_2_to_3_patch.json │ └── user.py │ ├── upload_credentials.py │ ├── vis_defines.py │ ├── vis_indexer.py │ ├── visualization.py │ └── xlreader.py ├── webpack.config.js └── wsgi ├── production-indexer └── production_indexer.py ├── production-visindexer └── production_visindexer.py └── production └── production.py /.eslintignore: -------------------------------------------------------------------------------- 1 | **/testdata 2 | -------------------------------------------------------------------------------- /alembic/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /alembic/script.py.mako: -------------------------------------------------------------------------------- 1 | """${message} 2 | 3 | Revision ID: ${up_revision} 4 | Revises: ${down_revision | comma,n} 5 | Create Date: ${create_date} 6 | 7 | """ 8 | from alembic import op 9 | import sqlalchemy as sa 10 | ${imports if imports else ""} 11 | 12 | # revision identifiers, used by Alembic. 13 | revision = ${repr(up_revision)} 14 | down_revision = ${repr(down_revision)} 15 | branch_labels = ${repr(branch_labels)} 16 | depends_on = ${repr(depends_on)} 17 | 18 | 19 | def upgrade(): 20 | ${upgrades if upgrades else "pass"} 21 | 22 | 23 | def downgrade(): 24 | ${downgrades if downgrades else "pass"} 25 | -------------------------------------------------------------------------------- /babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "@babel/plugin-transform-modules-commonjs", 4 | "@babel/plugin-transform-runtime" 5 | ], 6 | "presets": [ 7 | [ 8 | "@babel/preset-react", 9 | { 10 | "runtime": "automatic" 11 | } 12 | ], 13 | [ 14 | "@babel/env", 15 | { 16 | "targets": { 17 | "edge": "17", 18 | "firefox": "60", 19 | "chrome": "67", 20 | "safari": "11.1" 21 | }, 22 | "useBuiltIns": "entry", 23 | "corejs": 3 24 | } 25 | ] 26 | ] 27 | } -------------------------------------------------------------------------------- /cloud-config/app-es-pg-template.yml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | ssh_authorized_keys: 3 | %(ssh_auth_keys)s 4 | bootcmd: 5 | - set -ex 6 | - echo "Booting." 7 | power_state: 8 | mode: reboot 9 | output: 10 | all: '| tee -a /var/log/cloud-init-output.log' 11 | runcmd: 12 | %(runcmd_all)s 13 | %(runcmd_es)s 14 | %(runcmd_app)s 15 | users: 16 | %(users)s 17 | write_files: 18 | %(vimrc)s 19 | %(env)s 20 | %(upgrades)s 21 | -------------------------------------------------------------------------------- /cloud-config/app-es-template.yml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | ssh_authorized_keys: 3 | %(ssh_auth_keys)s 4 | bootcmd: 5 | - set -ex 6 | - echo "Booting." 7 | power_state: 8 | mode: reboot 9 | output: 10 | all: '| tee -a /var/log/cloud-init-output.log' 11 | runcmd: 12 | %(runcmd_all)s 13 | %(runcmd_es)s 14 | %(runcmd_app)s 15 | users: 16 | %(users)s 17 | write_files: 18 | %(vimrc)s 19 | %(env)s 20 | %(upgrades)s 21 | -------------------------------------------------------------------------------- /cloud-config/app-pg-template.yml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | ssh_authorized_keys: 3 | %(ssh_auth_keys)s 4 | bootcmd: 5 | - set -ex 6 | - echo "Booting." 7 | power_state: 8 | mode: reboot 9 | output: 10 | all: '| tee -a /var/log/cloud-init-output.log' 11 | runcmd: 12 | %(runcmd_all)s 13 | %(nagios_conf_non_es_nodes)s 14 | %(runcmd_app)s 15 | users: 16 | %(users)s 17 | write_files: 18 | %(vimrc)s 19 | %(env)s 20 | %(upgrades)s 21 | -------------------------------------------------------------------------------- /cloud-config/app-template.yml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | ssh_authorized_keys: 3 | %(ssh_auth_keys)s 4 | bootcmd: 5 | - set -ex 6 | - echo "Booting." 7 | power_state: 8 | mode: poweroff 9 | output: 10 | all: '| tee -a /var/log/cloud-init-output.log' 11 | runcmd: 12 | %(runcmd_all)s 13 | %(nagios_conf_non_es_nodes)s 14 | %(runcmd_app)s 15 | users: 16 | %(users)s 17 | write_files: 18 | %(vimrc)s 19 | %(env)s 20 | %(upgrades)s 21 | -------------------------------------------------------------------------------- /cloud-config/configs/apache/111-indexer-primary.conf: -------------------------------------------------------------------------------- 1 | WSGIDaemonProcess encoded-indexer user=encoded group=encoded processes=1 threads=1 display-name=encoded-indexer python-home=/srv/encoded/venv 2 | WSGIScriptAlias /_indexer /srv/encoded/wsgi/production-indexer/production_indexer.py process-group=encoded-indexer application-group=%{GLOBAL} 3 | 4 | 5 | Order deny,allow 6 | Allow from all 7 | 8 | Require all granted 9 | 10 | 11 | -------------------------------------------------------------------------------- /cloud-config/configs/apache/222-indexer-vis.conf: -------------------------------------------------------------------------------- 1 | WSGIDaemonProcess encoded-visindexer user=encoded group=encoded processes=1 threads=1 display-name=encoded-visindexer python-home=/srv/encoded/venv 2 | WSGIScriptAlias /_visindexer /srv/encoded/wsgi/production-visindexer/production_visindexer.py process-group=encoded-indexer application-group=%{GLOBAL} 3 | 4 | 5 | Order deny,allow 6 | Allow from all 7 | 8 | Require all granted 9 | 10 | 11 | -------------------------------------------------------------------------------- /cloud-config/configs/apache/enable-indexers.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$REMOTE_INDEXING" == 'true' ]; then 4 | if [ "$ENCD_INDEX_PRIMARY" == 'true' ]; then 5 | a2ensite 111-indexer-primary.conf 6 | fi 7 | if [ "$ENCD_INDEX_VIS" == 'true' ]; then 8 | a2ensite 222-indexer-vis.conf 9 | fi 10 | fi 11 | 12 | systemctl reload apache2 13 | -------------------------------------------------------------------------------- /cloud-config/configs/elasticsearch/es-cluster-elect.yml: -------------------------------------------------------------------------------- 1 | ## Elasticsearch Configuration: 2 | # 3 | # For details see 4 | # - encoded-elasticsearch.yml.20190930 5 | # - default-elasticsearch.yml.20190930 6 | # 7 | ## 8 | 9 | network.host: 0.0.0.0 10 | http.port: 9201 11 | transport.tcp.port: 9299 12 | discovery.type: ec2 13 | cloud.aws.region: us-west-2 14 | discovery.ec2.groups: elasticsearch-https, ssh-http-https 15 | indices.query.bool.max_clause_count: 8192 16 | 17 | # Self elect master node 18 | node.master: true 19 | node.data: true 20 | 21 | # We can only use 4 or 5 node clusters 22 | # since this is hard coded to 3. 23 | # N/2+1 formula. 24 | discovery.zen.minimum_master_nodes: 3 25 | 26 | # Cluster name is appened on deploy 27 | -------------------------------------------------------------------------------- /cloud-config/configs/elasticsearch/es-cluster-head.yml: -------------------------------------------------------------------------------- 1 | ## Elasticsearch Configuration: 2 | # 3 | # For details see 4 | # - encoded-elasticsearch.yml.20190930 5 | # - default-elasticsearch.yml.20190930 6 | # 7 | ## 8 | 9 | network.host: 0.0.0.0 10 | http.port: 9201 11 | transport.tcp.port: 9299 12 | discovery.type: ec2 13 | cloud.aws.region: us-west-2 14 | discovery.ec2.groups: elasticsearch-https, ssh-http-https 15 | indices.query.bool.max_clause_count: 8192 16 | 17 | # Is the only master node 18 | node.master: true 19 | node.data: false 20 | discovery.zen.minimum_master_nodes: 1 21 | 22 | # Cluster name is appened on deploy 23 | -------------------------------------------------------------------------------- /cloud-config/configs/elasticsearch/es-cluster-wait.yml: -------------------------------------------------------------------------------- 1 | ## Elasticsearch Configuration: 2 | # 3 | # For details see 4 | # - encoded-elasticsearch.yml.20190930 5 | # - default-elasticsearch.yml.20190930 6 | # 7 | ## 8 | 9 | network.host: 0.0.0.0 10 | http.port: 9201 11 | transport.tcp.port: 9299 12 | discovery.type: ec2 13 | cloud.aws.region: us-west-2 14 | discovery.ec2.groups: elasticsearch-https, ssh-http-https 15 | indices.query.bool.max_clause_count: 8192 16 | 17 | # Wait for master node 18 | node.master: false 19 | node.data: true 20 | discovery.zen.minimum_master_nodes: 1 21 | 22 | # Cluster name is appened on deploy 23 | -------------------------------------------------------------------------------- /cloud-config/configs/elasticsearch/es-demo.yml: -------------------------------------------------------------------------------- 1 | ## Elasticsearch Configuration: 2 | # 3 | # For details see 4 | # - encoded-demo-elasticsearch.yml.20190930 5 | # - default-demo-elasticsearch.yml.20190930 6 | # 7 | ## 8 | 9 | http.port: 9201 10 | indices.query.bool.max_clause_count: 8192 11 | thread_pool: 12 | search: 13 | size: 100 14 | queue_size: 2000 15 | index: 16 | queue_size: 400 17 | -------------------------------------------------------------------------------- /cloud-config/configs/postgresql/custom.conf: -------------------------------------------------------------------------------- 1 | hot_standby = on 2 | max_standby_archive_delay = -1 3 | wal_level = hot_standby 4 | archive_mode = on 5 | archive_timeout = 60 6 | checkpoint_timeout = 1h 7 | -------------------------------------------------------------------------------- /cloud-config/configs/postgresql/demo.conf: -------------------------------------------------------------------------------- 1 | archive_mode = off 2 | -------------------------------------------------------------------------------- /cloud-config/configs/postgresql/master.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/cloud-config/configs/postgresql/master.conf -------------------------------------------------------------------------------- /cloud-config/configs/postgresql/recovery.conf: -------------------------------------------------------------------------------- 1 | recovery_target_timeline = 'latest' 2 | -------------------------------------------------------------------------------- /cloud-config/es-nodes-template.yml: -------------------------------------------------------------------------------- 1 | #cloud-config 2 | ssh_authorized_keys: 3 | %(ssh_auth_keys)s 4 | bootcmd: 5 | - set -ex 6 | - echo "Booting." 7 | power_state: 8 | mode: reboot 9 | output: 10 | all: '| tee -a /var/log/cloud-init-output.log' 11 | runcmd: 12 | %(runcmd_all)s 13 | %(nagios_conf_es_nodes)s 14 | %(runcmd_es)s 15 | %(runcmd_es_nodes)s 16 | users: 17 | %(users)s 18 | write_files: 19 | %(vimrc)s 20 | %(env)s 21 | %(upgrades)s 22 | -------------------------------------------------------------------------------- /cloud-config/run-scripts/app-cloudwatchmon-pyreqs.txt: -------------------------------------------------------------------------------- 1 | boto==2.49.0 2 | boto3==1.17.52 3 | botocore==1.20.52 4 | cloudwatchmon==2.0.6 5 | jmespath==0.10.0 6 | pkg-resources==0.0.0 7 | python-dateutil==2.8.1 8 | s3transfer==0.3.7 9 | six==1.15.0 10 | urllib3==1.26.4 11 | -------------------------------------------------------------------------------- /cloud-config/run-scripts/app-pg-wale-pyreqs.txt: -------------------------------------------------------------------------------- 1 | PyYAML==5.2 2 | awscli==1.19.8 3 | boto3==1.17.8 4 | Babel==2.2.0 5 | argparse==1.2.1 6 | boto==2.49.0 7 | debtcollector==1.3.0 8 | envdir>=1.0.1 9 | envfile==1.0 10 | funcsigs==0.4 11 | futures==3.1.1 12 | gevent==20.5.2 13 | greenlet==0.4.14 14 | iso8601==0.1.11 15 | keystoneauth1==2.3.0 16 | monotonic==0.6 17 | msgpack-python==0.4.7 18 | netifaces==0.10.4 19 | oslo.config==3.9.0 20 | oslo.i18n==3.4.0 21 | oslo.serialization==2.4.0 22 | oslo.utils==3.7.0 23 | pbr==1.8.1 24 | positional==1.0.1 25 | prettytable==0.7.2 26 | python-dateutil==2.4.2 27 | python-keystoneclient==3.0.0.0 28 | python-swiftclient==3.0.0 29 | pytz==2015.7 30 | requests==2.25.1 31 | six==1.10.0 32 | stevedore==1.12.0 33 | wrapt==1.10.6 34 | -------------------------------------------------------------------------------- /cloud-config/template-parts/nagios_conf_es_nodes.yml: -------------------------------------------------------------------------------- 1 | - cloud-init-per once nagios-files-s3 aws s3 cp --region=us-west-2 --recursive s3://encoded-conf-prod/nagios-plugins /home/ubuntu/nagios-plugins 2 | - cloud-init-per once nagios-mv-conf mv /home/ubuntu/nagios-plugins/nagios_config_es_nodes/nrpe_local.cfg /etc/nagios/nrpe.d/nrpe_local.cfg 3 | - cloud-init-per once nagios-plugins-permission chmod -R 0755 /home/ubuntu/nagios-plugins 4 | - cloud-init-per once nagios-plugins mv /home/ubuntu/nagios-plugins/* /usr/lib/nagios/plugins/ 5 | -------------------------------------------------------------------------------- /cloud-config/template-parts/nagios_conf_non_es_nodes.yml: -------------------------------------------------------------------------------- 1 | - cloud-init-per once nagios-files-s3 aws s3 cp --region=us-west-2 --recursive s3://encoded-conf-prod/nagios-plugins /home/ubuntu/nagios-plugins 2 | - cloud-init-per once nagios-mv-conf mv /home/ubuntu/nagios-plugins/nagios_config_frontend_and_indexer_nodes/nrpe_local.cfg /etc/nagios/nrpe.d/nrpe_local.cfg 3 | - cloud-init-per once nagios-plugins-permission chmod -R 0755 /home/ubuntu/nagios-plugins 4 | - cloud-init-per once nagios-plugins mv /home/ubuntu/nagios-plugins/* /usr/lib/nagios/plugins/ 5 | 6 | -------------------------------------------------------------------------------- /cloud-config/template-parts/runcmd_app.yml: -------------------------------------------------------------------------------- 1 | - cloud-init-per once encd-pre sudo -u ubuntu %(SCRIPTS_DIR)s/ami-preapp.sh 2 | - cloud-init-per always encd-app sudo -u ubuntu %(SCRIPTS_DIR)s/app-wrapper.sh %(BATCHUPGRADE_VARS)s 3 | - cloud-init-per always encd-cloudwatch sudo -u ubuntu %(SCRIPTS_DIR)s/app-cloudwatchmon.sh 4 | -------------------------------------------------------------------------------- /cloud-config/template-parts/runcmd_es.yml: -------------------------------------------------------------------------------- 1 | - cloud-init-per always encd-elasticsearch sudo -u ubuntu %(SCRIPTS_DIR)s/ami-elasticsearch.sh 2 | -------------------------------------------------------------------------------- /cloud-config/template-parts/runcmd_es_nodes.yml: -------------------------------------------------------------------------------- 1 | - cloud-init-per always encd-cloudwatch sudo -u ubuntu %(SCRIPTS_DIR)s/app-cloudwatchmon.sh 2 | - cloud-init-per always encd-app-final sudo -u ubuntu %(SCRIPTS_DIR)s/app-final.sh 3 | -------------------------------------------------------------------------------- /cloud-config/template-parts/ssh_auth_keys.yml: -------------------------------------------------------------------------------- 1 | - %(SSH_KEY)s 2 | -------------------------------------------------------------------------------- /cloud-config/template-parts/upgrades.yml: -------------------------------------------------------------------------------- 1 | - path: /etc/apt/apt.conf.d/20auto-upgrades 2 | content: | 3 | APT::Periodic::Update-Package-Lists "1"; 4 | APT::Periodic::Unattended-Upgrade "1"; 5 | - path: /etc/apt/apt.conf.d/50unattended-upgrades 6 | content: | 7 | Unattended-Upgrade::Allowed-Origins { 8 | "${distro_id} ${distro_codename}-security"; 9 | }; 10 | Unattended-Upgrade::Automatic-Reboot "false"; 11 | -------------------------------------------------------------------------------- /cloud-config/template-parts/users.yml: -------------------------------------------------------------------------------- 1 | - default 2 | - name: build 3 | gecos: Build user 4 | inactive: true 5 | system: true 6 | shell: /bin/bash 7 | - name: encoded 8 | gecos: ENCODE Metadata Database daemon user 9 | inactive: true 10 | system: true 11 | homedir: /srv/encoded 12 | shell: /bin/bash 13 | -------------------------------------------------------------------------------- /cloud-config/template-parts/vimrc.yml: -------------------------------------------------------------------------------- 1 | - path: /etc/vim/vimrc 2 | append: true 3 | content: | 4 | set number 5 | filetype plugin indent on 6 | set tabstop=4 7 | set shiftwidth=4 8 | set expandtab 9 | -------------------------------------------------------------------------------- /conf/elasticsearch.yml: -------------------------------------------------------------------------------- 1 | cluster.name: elasticsearch_test_fixture 2 | discovery.type: single-node 3 | indices.query.bool.max_clause_count: 8192 4 | -------------------------------------------------------------------------------- /demo-config.ini: -------------------------------------------------------------------------------- 1 | [deployment] 2 | conf_dir = ./cloud-config 3 | conf_dir_remote = /home/ubuntu/encoded/cloud-config 4 | branch = 5 | username = 6 | identitiy_file = ~/.ssh/id_rsa.pub 7 | 8 | [aws_instance] 9 | 10 | [system] 11 | 12 | [app] 13 | -------------------------------------------------------------------------------- /docs/rendering-overview.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/docs/rendering-overview.pdf -------------------------------------------------------------------------------- /etc/logging-apache.conf: -------------------------------------------------------------------------------- 1 | CustomLog ${APACHE_LOG_DIR}/access.log vhost_combined_stats 2 | -------------------------------------------------------------------------------- /jest/environment.js: -------------------------------------------------------------------------------- 1 | import { configure } from 'enzyme'; 2 | import Adapter from 'enzyme-adapter-react-16'; 3 | 4 | configure({ adapter: new Adapter() }); 5 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es6", 4 | "module": "commonjs", 5 | "allowSyntheticDefaultImports": true 6 | }, 7 | "exclude": [ 8 | "node_modules", 9 | "bower_components", 10 | "jspm_packages", 11 | "tmp", 12 | "temp" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /node_shims/google-analytics/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | /* global ga */ 3 | global.ga = global.ga || function () { 4 | (ga.q = ga.q || []).push(arguments); 5 | }; 6 | ga.l = +new Date(); 7 | module.exports = global.ga; 8 | -------------------------------------------------------------------------------- /node_shims/google-analytics/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "google-analytics", 3 | "version": "0.1.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "MIT" 11 | } 12 | -------------------------------------------------------------------------------- /scripts/edw_compare_cron.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # edw_compare_cron.sh 4 | # Script for cron-based (e.g. nightly) inventory of ENCODE files at EDW and encoded app 5 | 6 | hostname=$1 7 | shift 8 | notify=$@ 9 | 10 | ext=`date +%b%d.%H` 11 | 12 | cd /srv/encoded 13 | out=/srv/cron.logs/edw_sync/compare.${ext} 14 | 15 | bin/read-edw-fileinfo -C -q >${out}.tsv 2> ${out}.log 16 | diff=`grep -c APP_DIFF ${out}.tsv` 17 | edw=`grep -c EDW_ONLY ${out}.tsv` 18 | app=`grep -c APP_ONLY ${out}.tsv` 19 | 20 | (cat ${out}.log; echo "Comparison file: ${out}.tsv") | mail -s "CRON: EDW file compare to ${hostname}. Diffs: ${diff}, EDW only: ${edw}, App only: ${app}" ${notify} $notify 21 | -------------------------------------------------------------------------------- /scripts/edw_import_cron.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # edw_import_cron.sh 4 | # Script for cron-based (e.g. hourly) import of new ENCODE files at EDW to encoded app 5 | # TODO: would be good to have lock file to suppress multiple instances (or add to command) 6 | 7 | hostname=$1 8 | shift 9 | notify=$@ 10 | 11 | ext=`date +%b%d.%H` 12 | cd /srv/encoded 13 | out=/srv/cron.logs/edw_sync/import.${ext}.log 14 | 15 | bin/read-edw-fileinfo -v -I > ${out} 2>&1 16 | success=`grep -c Success ${out}` 17 | fail=`grep -c Fail ${out}` 18 | 19 | mail -s "CRON: EDW file sync to ${hostname}. Succeeded: ${success}, Failed: ${fail}" ${notify} < ${out} 20 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 100 3 | -------------------------------------------------------------------------------- /src/encoded/audit/__init__.py: -------------------------------------------------------------------------------- 1 | def includeme(config): 2 | config.scan() 3 | -------------------------------------------------------------------------------- /src/encoded/audit/formatter.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | def audit_link(linkText, uri): 4 | """Generate link "markdown" from URI.""" 5 | return '{{{}|{}}}'.format(linkText, uri) 6 | 7 | def path_to_text(path): 8 | """Convert object path to the text portion.""" 9 | accession = re.match(r'\/.*\/(.*)\/', path) 10 | return accession.group(1) if accession else None 11 | 12 | def space_in_words(objects_string): 13 | """Insert a space between objects that have more than one 14 | capital letter eg. AntibodyChar --> Antibody Char""" 15 | add_space = re.sub(r"(\w)([A-Z])", r"\1 \2", objects_string) 16 | return add_space 17 | -------------------------------------------------------------------------------- /src/encoded/audit/ontology_data.py: -------------------------------------------------------------------------------- 1 | biosampleType_ontologyPrefix = { 2 | 'tissue': ['UBERON'], 3 | 'whole organisms': ['UBERON'], 4 | 'primary cell': ['CL'], 5 | 'cell line': ['EFO', 'CLO'], 6 | 'in vitro differentiated cells': ['CL', 'EFO'] 7 | } 8 | 9 | NTR_assay_lookup = { 10 | 'NTR:0000762': 'shRNA knockdown followed by RNA-seq', 11 | 'NTR:0000763': 'siRNA knockdown followed by RNA-seq', 12 | 'NTR:0003660': 'microRNA counts', 13 | 'NTR:0003814': 'CRISPR genome editing followed by RNA-seq', 14 | 'NTR:0000612': 'Switchgear', 15 | 'NTR:0004774': 'genetic modification followed by DNase-seq', 16 | 'NTR:0004619': 'CRISPRi followed by RNA-seq' 17 | } 18 | -------------------------------------------------------------------------------- /src/encoded/audit/treatment.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | AuditFailure, 3 | audit_checker, 4 | ) 5 | from .formatter import ( 6 | audit_link, 7 | path_to_text, 8 | ) 9 | 10 | @audit_checker('Treatment', frame='object') 11 | def audit_treatment_no_purpose(value, system): 12 | if "purpose" not in value: 13 | detail = ( 14 | f"{value['treatment_type']} treatment {value['treatment_term_name']} " 15 | f"has no specified purpose." 16 | ) 17 | yield AuditFailure('missing treatment purpose', detail, level='INTERNAL_ACTION') 18 | -------------------------------------------------------------------------------- /src/encoded/commands/__init__.py: -------------------------------------------------------------------------------- 1 | # package 2 | -------------------------------------------------------------------------------- /src/encoded/commands/alembic.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import alembic.config 3 | 4 | 5 | def main(): 6 | ''' 7 | Simple wrapper for alembic CLI. 8 | 9 | Example usage: 10 | 1. alembic revision --autogenerate -m 'Migration message here' 11 | 2. alembic upgrade head 12 | ''' 13 | alembic.config.main(sys.argv[1:]) 14 | 15 | 16 | if __name__ == '__main__': 17 | main() 18 | -------------------------------------------------------------------------------- /src/encoded/commands/specification.json: -------------------------------------------------------------------------------- 1 | { 2 | "ImageId": "ami-1c1eff2f", 3 | "KeyName": "cherry-lab-power-users", 4 | "SecurityGroupIds": [ "sg-022ea667" ], 5 | "InstanceType": "c4.4xlarge", 6 | "Placement": { 7 | "AvailabilityZone": "us-west-2c" 8 | }, 9 | "IamInstanceProfile": { 10 | "Arn": "arn:aws:iam::618537831167:instance-profile/demo-instance" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/encoded/glossary.py: -------------------------------------------------------------------------------- 1 | from pyramid.view import view_config 2 | 3 | 4 | def includeme(config): 5 | config.add_route('glossary', '/glossary{slash:/?}') 6 | config.scan(__name__) 7 | 8 | 9 | @view_config(route_name='glossary', request_method='GET', permission='search') 10 | def glossary(context, request): 11 | result = { 12 | '@id': '/glossary/', 13 | '@type': ['Glossary'], 14 | 'title': 'Glossary', 15 | '@graph': [], 16 | 'columns': [], 17 | 'notification': '', 18 | 'filters': [] 19 | } 20 | return result 21 | -------------------------------------------------------------------------------- /src/encoded/reports/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/reports/__init__.py -------------------------------------------------------------------------------- /src/encoded/reports/csv.py: -------------------------------------------------------------------------------- 1 | import csv 2 | 3 | 4 | class CSVGenerator: 5 | 6 | def __init__(self, delimiter='\t', lineterminator='\n'): 7 | self.writer = csv.writer( 8 | self, 9 | delimiter=delimiter, 10 | lineterminator=lineterminator 11 | ) 12 | 13 | def writerow(self, row): 14 | self.writer.writerow(row) 15 | return self.row 16 | 17 | def write(self, row): 18 | self.row = row.encode('utf-8') 19 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/analysis.md: -------------------------------------------------------------------------------- 1 | ## Changelog for analysis.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *complete* property. 5 | * Added *supersedes* and *superseded_by* properties. 6 | * Added *quality_standard* property 7 | * Added *quality_metrics* calculated property 8 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/antibody_approval.md: -------------------------------------------------------------------------------- 1 | ## Changelog for antibody_approval.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/bigwigcorrelate_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for bigwigcorrelate_quality_metric.json 2 | 3 | ### This schema has been discontinued 4 | 5 | * bigwigcorrelate_quality_metric has been removed from /schemas as it was not in use. 6 | * No objects were affected because there were none of this type. 7 | 8 | ### Schema version 5 9 | 10 | * *assay_term_id* is no longer allowed to be submitted, it will be automatically calculated based on the term_name 11 | * *notes* field is no longer allowed to have leading or trailing whitespace or contain just an empty string. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/biosample_characterization.md: -------------------------------------------------------------------------------- 1 | ## Changelog for biosample_characterization.json 2 | 3 | ### Minor changes since schema version 11 4 | 5 | * *review* has been added to the schema to allow other lab to review the characterization. 6 | * *antibody* is added to the schema to indicate the antibody used in the characterization. 7 | * Added *RT-qPCR* as an enum for *characterization_method* 8 | 9 | ### Schema version 11 10 | 11 | * *comment* has been replaced with *submitter_comment* 12 | 13 | ### Schema version 10 14 | 15 | * *status* property was restricted to one of 16 | "enum" : [ 17 | "in progress", 18 | "deleted", 19 | "released" 20 | ] -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/biosample_type.md: -------------------------------------------------------------------------------- 1 | ## Changelog for biosample_type.json 2 | 3 | ### Minor changes since schema version 1 4 | 5 | * Restricted *term_id* property to CL or NTR ontologies for in vitro differentiated cells. 6 | * Added an accepted dbxref to DepMap (https://depmap.org/portal/) 7 | * Added CLO ontology for cell lines. 8 | * Removed *single cell* from the *classification* property enum list 9 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/bpnet_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for bpnet_quality_metric.json -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/bru_library_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for bru_library_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/cart.md: -------------------------------------------------------------------------------- 1 | ## Changelog for cart.json 2 | 3 | ### Schema version 3 4 | 5 | * Added *description* and *doi* properties. 6 | * Added *unlisted*, *listed*, *released*, and *revoked* to the enum list for *status*, and removed *disabled* and *current*. Existing carts of status *disabled* or *current* are upgraded to *unlisted*. 7 | 8 | ### Schema version 2 9 | 10 | * Added *file_views* array property. 11 | 12 | ### Minor changes since schema version 1 13 | 14 | * Added optional *identifier* property. 15 | 16 | ### Schema version 1 17 | 18 | * New schema for cart added 19 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/collection_series.md: -------------------------------------------------------------------------------- 1 | ## Changelog for collection_series.json 2 | 3 | ### Schema version 2 4 | 5 | * Upgraded *internal_tags* as follows: 6 | * *ENCYCLOPEDIAv3* is now *ENCYCLOPEDIAv0.3* 7 | * *ENCYCLOPEDIAv4* is now *ENCYCLOPEDIAv1* 8 | * *ENCYCLOPEDIAv5* is now *ENCYCLOPEDIAv2* 9 | * *ENCYCLOPEDIAv6* is now *ENCYCLOPEDIAv3* 10 | 11 | ### Minor changes since schema version 1 12 | 13 | * Removed *control_type* calculated property -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/computational_model.md: -------------------------------------------------------------------------------- 1 | ## Changelog for computational_model.json 2 | 3 | ### Schema version 2 4 | 5 | * Upgraded *internal_tags* as follows: 6 | * *ENCYCLOPEDIAv3* is now *ENCYCLOPEDIAv0.3* 7 | * *ENCYCLOPEDIAv4* is now *ENCYCLOPEDIAv1* 8 | * *ENCYCLOPEDIAv5* is now *ENCYCLOPEDIAv2* 9 | * *ENCYCLOPEDIAv6* is now *ENCYCLOPEDIAv3* 10 | 11 | ### Minor changes since schema version 1 12 | * *software_used* list was updated to enforce item uniqueness. 13 | * Added *LRGASP* and *ENCYCLOPEDIAv6* to the *internal_tags* enum 14 | * Added *doi* property 15 | * Added *analyses* property 16 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/construct_characterization.md: -------------------------------------------------------------------------------- 1 | ## Changelog for construct_characterization.json 2 | 3 | ### This schema has been discontinued 4 | 5 | * construct_characterization has been removed from /schemas as it was not in use. 6 | * No objects were affected because there were none of this type. 7 | 8 | ### Schema version 11 9 | 10 | * *comment* has been replaced with *submitter_comment* 11 | 12 | ### Schema version 10 13 | 14 | * *status* property was restricted to one of 15 | "enum" : [ 16 | "current", 17 | "deleted", 18 | "disabled" 19 | ] 20 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/crispr.md: -------------------------------------------------------------------------------- 1 | ## Changelog for crispr.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | 5 | ### Schema version 3 6 | 7 | * *status* property was restricted to one of 8 | "enum" : [ 9 | "current", 10 | "deleted", 11 | "disabled" 12 | ] 13 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/differential_accessibility_series.md: -------------------------------------------------------------------------------- 1 | ## Changelog for differential_accessibility_series.json 2 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/donor_characterization.md: -------------------------------------------------------------------------------- 1 | ## Changelog for donor_characterization.json 2 | 3 | ### Schema version 11 4 | 5 | * *comment* has been replaced with *submitter_comment* 6 | 7 | ### Schema version 10 8 | 9 | * *status* property was restricted to one of 10 | "enum" : [ 11 | "current", 12 | "deleted", 13 | "disabled" 14 | ] 15 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/genetic_modification_characterization.md: -------------------------------------------------------------------------------- 1 | ## Changelog for genetic_modification_characterization.json 2 | 3 | ### Minor changes since schema version 4 4 | 5 | * *size*, *width*, and *height* in *attachment* were set to have a minimum of 0. 6 | * *review* has been added to the schema to allow other lab to review the characterization. 7 | * Added *application/octet-stream* enum value for .ab1 attachments. 8 | 9 | ### Schema version 4 10 | 11 | * *comment* has been replaced with *submitter_comment* 12 | 13 | ### Schema version 3 14 | 15 | * *status* property was restricted to one of 16 | "enum" : [ 17 | "in progress", 18 | "deleted", 19 | "released" 20 | ] 21 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/image.md: -------------------------------------------------------------------------------- 1 | ## Changelog for image.json 2 | 3 | ### Schema version 2 4 | 5 | * *status* property was restricted to one of 6 | "enum" : [ 7 | "in progress", 8 | "deleted", 9 | "released" 10 | ] 11 | 12 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/lab.md: -------------------------------------------------------------------------------- 1 | ## Changelog for lab.json 2 | 3 | ### Schema version 5 4 | 5 | * *status* property was restricted to one of 6 | "enum" : [ 7 | "current", 8 | "deleted", 9 | "disabled" 10 | ] 11 | 12 | ### Schema version 4 13 | 14 | * *aliases* now must be properly namespaced according lab.name:alphanumeric characters with no leading or trailing spaces 15 | * unsafe characters such as " # @ % ^ & | ~ ; ` [ ] { } and consecutive whitespaces will no longer be allowed in the alias 16 | 17 | ### Schema version 3 18 | 19 | * array property *awards* will now only allow for unique elements. 20 | 21 | ### Schema version 2 22 | 23 | * *status* values were changed to be lowercase -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/manatee_donor.md: -------------------------------------------------------------------------------- 1 | ## Changelog for manatee_donor.json 2 | 3 | ### Minor changes since schema version 1 4 | 5 | * *supersedes* list property was added along with the calculated list property *superseded_by* 6 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/modification_technique.md: -------------------------------------------------------------------------------- 1 | ## Changelog for modification_technique.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/mouse_donor.md: -------------------------------------------------------------------------------- 1 | ## Changelog for mouse_donor.json 2 | 3 | ### Minor changes since schema version 11 4 | 5 | * *supersedes* list property was added along with the calculated list property *superseded_by* 6 | 7 | ### Schema version 11 8 | 9 | * *parent_strains* list was limited to maximum 2 entries of strains of the same organism 10 | 11 | ### Schema version 10 12 | 13 | * *url*, *littermates* and *internal_tags* properties were removed 14 | 15 | ### Schema version 9 16 | 17 | * *status* values *proposed* and *preliminary* were removed 18 | * *status* and *dbxrefs* values are restricted to DCC access only 19 | 20 | ### Schema version 8 21 | 22 | * *alternate_accessions* now must match accession format, "ENCDO..." or "TSTDO..." -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/page.md: -------------------------------------------------------------------------------- 1 | ## Changelog for page.json 2 | 3 | ### Minor changes since schema version 3 4 | * Removed *month_released* calculated property. 5 | 6 | ### Schema version 3 7 | 8 | * *status* property was restricted to one of 9 | "enum" : [ 10 | "in progress", 11 | "deleted", 12 | "released" 13 | ] 14 | 15 | ### Schema version 2 16 | 17 | * *news_keywords* field changed from free-entry string to controlled enum 18 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/platform.md: -------------------------------------------------------------------------------- 1 | ## Changelog for platform.json 2 | 3 | ### Schema version 7 4 | 5 | * *status* property was restricted to one of 6 | "enum" : [ 7 | "released", 8 | "deleted", 9 | "in progress" 10 | ] 11 | 12 | ### Schema version 6 13 | 14 | * *status* property was restricted to one of 15 | "enum" : [ 16 | "current", 17 | "deleted", 18 | "disabled" 19 | ] 20 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/quality_standard.md: -------------------------------------------------------------------------------- 1 | ## Changelog for quality_standard.json 2 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/rnai.md: -------------------------------------------------------------------------------- 1 | ## Changelog for rnai.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | 5 | ### Schema version 5 6 | 7 | * *status* property was restricted to one of 8 | "enum" : [ 9 | "in progress", 10 | "deleted", 11 | "released" 12 | ] 13 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/rnai_characterization.md: -------------------------------------------------------------------------------- 1 | ## Change log for rnai_characterization.json 2 | 3 | ### This schema has been discontinued 4 | 5 | * rnai_characterization has been removed from /schemas as it was not in use. 6 | * No objects were affected because there were none of this type. 7 | 8 | ### Schema version 11 9 | 10 | * *comment* has been replaced with *submitter_comment* 11 | 12 | ### Schema version 10 13 | 14 | * *status* property was restricted to one of 15 | "enum" : [ 16 | "in progress", 17 | "deleted", 18 | "released" 19 | ] 20 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_alignment_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_alignment_quality_metric.json 2 | 3 | ### Schema version 3 4 | * Updated the attachment *mito_stats* mime type to allow both TXT and TSV 5 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 6 | * Added *seqFISH* to *assay_term_name* enum. 7 | * Added descriptions to all properties. 8 | * Removed *usable_fragments* property 9 | 10 | ### Schema version 2 11 | 12 | * Renamed *pct_properly_paired_reads*, *pct_mapped_reads*, *pct_singletons* to be *frac_properly_paired_reads*, *frac_mapped_reads*, *frac_singletons* respectively. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_analysis_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_analysis_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. 6 | * Added descriptions to all properties. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_counts_summary_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_counts_summary_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. 6 | * Added descriptions to all properties. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_library_complexity_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_library_complexity_quality_metric.json 2 | 3 | ### Minor changes since schema version 2 4 | 5 | * Added a property *positions_with_two_reads* 6 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 7 | * Added *seqFISH* to *assay_term_name* enum. 8 | * Added descriptions to all properties. 9 | 10 | ### Schema version 2 11 | 12 | * Renamed *pct_duplicate_reads* to be *frac_duplicate_reads*. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_multiplet_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_multiplet_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. 6 | * Added descriptions to all properties. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/sc_atac_read_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for sc_atac_read_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. 6 | * Added descriptions to all properties. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/scrna_seq_counts_summary_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for scrna_seq_counts_summary_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/segway_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for segway_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/software_version.md: -------------------------------------------------------------------------------- 1 | ## Changelog for software_version.json 2 | 3 | ### Schema version 4 4 | 5 | * *status* property was restricted to one of 6 | "enum" : [ 7 | "in progress", 8 | "deleted", 9 | "released" 10 | ] -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/star_solo_quality_metric.md: -------------------------------------------------------------------------------- 1 | ## Changelog for star_solo_quality_metric.json 2 | 3 | ### Minor changes since schema version 1 4 | * Added *genomic perturbation followed by RT-qPCR* to *assay_term_name* enum. 5 | * Added *seqFISH* to *assay_term_name* enum. -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/tale.md: -------------------------------------------------------------------------------- 1 | ## Changelog for tale.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | 5 | ### Schema version 3 6 | 7 | * *status* property was restricted to one of 8 | "enum" : [ 9 | "in progress", 10 | "deleted", 11 | "released" 12 | ] 13 | -------------------------------------------------------------------------------- /src/encoded/schemas/changelogs/talen.md: -------------------------------------------------------------------------------- 1 | ## Changelog for talen.json 2 | 3 | ### Deprecated object, removed in v66/67 4 | 5 | ### TALEN objects are being migrated into genetic modification. Please refrain from submitting these objects. 6 | 7 | * *RVD_sequence* property permissions were changed, only DCC members are allowed to submit it. It is done to prevent submission of TALEN objects since they are being migrated into genetic modification. 8 | -------------------------------------------------------------------------------- /src/encoded/searches/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/encoded/searches/interfaces.py: -------------------------------------------------------------------------------- 1 | REDIS_LRU_CACHE = 'redis_lru_cache' 2 | RNA_EXPRESSION = 'RNAExpression' 3 | RNA_CLIENT = 'rna_client' 4 | -------------------------------------------------------------------------------- /src/encoded/searches/mixins.py: -------------------------------------------------------------------------------- 1 | from snosearch.mixins import AggsToFacetsMixin 2 | 3 | 4 | class CartAggsToFacetsMixin(AggsToFacetsMixin): 5 | ''' 6 | Like AggsToFacetsMixin but builds (fake) facets from cart params instead 7 | of expanded @ids used by query. 8 | ''' 9 | 10 | def _get_post_filters(self): 11 | return self.query_builder._get_post_filters_with_carts() 12 | -------------------------------------------------------------------------------- /src/encoded/static/build-server/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /src/encoded/static/build/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything in this directory 2 | * 3 | # Except this file 4 | !.gitignore 5 | -------------------------------------------------------------------------------- /src/encoded/static/components/__tests__/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /src/encoded/static/components/__tests__/age-display.js: -------------------------------------------------------------------------------- 1 | import { ageDisplayToAgeParts } from '../search'; 2 | 3 | describe('Test ageDisplayToAgeParts', () => { 4 | it('returns the correct object for a simple age string', () => { 5 | const ageParts = ageDisplayToAgeParts('1 year'); 6 | expect(ageParts).toEqual({ age: '1', age_units: 'year' }); 7 | }); 8 | 9 | it('returns the correct object for a simple age string', () => { 10 | const ageParts = ageDisplayToAgeParts('11.5 day'); 11 | expect(ageParts).toEqual({ age: '11.5', age_units: 'day' }); 12 | }); 13 | }); 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/blocks/index.js: -------------------------------------------------------------------------------- 1 | import FallbackBlockEdit from './fallback'; 2 | import RichTextBlockView from './richtext'; 3 | import ItemBlockView from './item'; 4 | import SearchBlockEdit from './search'; 5 | import './teaser'; 6 | 7 | 8 | export { 9 | FallbackBlockEdit, 10 | RichTextBlockView, 11 | ItemBlockView, 12 | SearchBlockEdit, 13 | }; 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/add_elements.js: -------------------------------------------------------------------------------- 1 | import { addMultipleToCart } from './actions'; 2 | 3 | 4 | /** 5 | * Add encode item @ids to the store. 6 | * @param {array} elements Array of @ids to add to the cart 7 | * @param {func} dispatch Redux dispatch function for the cart store 8 | */ 9 | const cartAddElements = (elements, dispatch) => { 10 | dispatch(addMultipleToCart(elements)); 11 | }; 12 | 13 | export default cartAddElements; 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/cache_saved.js: -------------------------------------------------------------------------------- 1 | import { cacheSavedCart } from './actions'; 2 | 3 | 4 | /** 5 | * Cache the saved cart object to the cart Redux store. This has to be done every time we save an 6 | * updated cart object to the database. 7 | * @param {object} cartObj - Saved cart object to be cached 8 | * @param {func} dispatch - Redux dispatch function for the cart store 9 | */ 10 | const cartCacheSaved = (cartObj, dispatch) => { 11 | dispatch(cacheSavedCart(cartObj)); 12 | }; 13 | 14 | export default cartCacheSaved; 15 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/constants.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Pager controls for each tab. 3 | */ 4 | /** Number of dataset elements to display per page */ 5 | export const PAGE_ELEMENT_COUNT = 25; 6 | /** Number of genome-browser tracks to display per page */ 7 | export const PAGE_TRACK_COUNT = 20; 8 | /** Number of files to display per page */ 9 | export const PAGE_FILE_COUNT = 25; 10 | /** Number of datasets to display at a time in series manager modal */ 11 | export const SERIES_MANAGER_DATASET_COUNT = 6; 12 | 13 | 14 | /** 15 | * Series types that don't allow their related datasets to be removed from the cart independently 16 | * of the series. 17 | */ 18 | export const obligateSeriesTypes = ['SingleCellRnaSeries', 'FunctionalCharacterizationSeries']; 19 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/context.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | 4 | /** 5 | * Context to pass data from main cart view component to grandchild components. 6 | */ 7 | const CartViewContext = React.createContext({}); 8 | 9 | export default CartViewContext; 10 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/in_progress.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Function to indicate that a cart operation is in progress. 3 | */ 4 | import { cartOperationInProgress } from './actions'; 5 | 6 | 7 | /** 8 | * Indicate in the cart store that a cart operation is in progress. This lets components disable 9 | * themselves if needed during long cart operations. 10 | * @param {bool} inProgress True if cart operation is in progress 11 | * @param {func} dispatch Redux dispatch function for the cart store 12 | */ 13 | const cartSetOperationInProgress = (inProgress, dispatch) => { 14 | dispatch(cartOperationInProgress(inProgress)); 15 | }; 16 | 17 | export default cartSetOperationInProgress; 18 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/remove_elements.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Functions to remove multiple elements from the in-memory cart. 3 | */ 4 | import { removeMultipleFromCart } from './actions'; 5 | 6 | 7 | /** 8 | * Remove encode item @ids from the cart in the Redux store. 9 | * @param {array} elementAtIds Array of @ids to remove from the cart 10 | * @param {func} dispatch Redux dispatch function for the cart store 11 | */ 12 | const cartRemoveElements = (elementAtIds, dispatch) => { 13 | dispatch(removeMultipleFromCart(elementAtIds)); 14 | }; 15 | 16 | export default cartRemoveElements; 17 | -------------------------------------------------------------------------------- /src/encoded/static/components/cart/set_current.js: -------------------------------------------------------------------------------- 1 | import { setCurrentCart } from './actions'; 2 | 3 | 4 | /** 5 | * Set the current cart to the given @id. 6 | * @param {string} current @id of the cart to set as the current cart 7 | * @param {func} dispatch Redux dispatch function for the cart store 8 | */ 9 | const cartSetCurrent = (current, dispatch) => { 10 | dispatch(setCurrentCart(current)); 11 | }; 12 | 13 | export default cartSetCurrent; 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/facets/sort_desc.js: -------------------------------------------------------------------------------- 1 | import PropTypes from 'prop-types'; 2 | import _ from 'underscore'; 3 | import { FacetFunctionRegistry } from './registry'; 4 | 5 | 6 | /** 7 | * Render terms sorted by key in descending order. 8 | */ 9 | const SortDecs = (terms) => _.sortBy(terms, 'key').reverse(); 10 | 11 | SortDecs.propTypes = { 12 | terms: PropTypes.object.isRequired, 13 | }; 14 | 15 | FacetFunctionRegistry.sortTerms.register('publication_year', SortDecs); 16 | -------------------------------------------------------------------------------- /src/encoded/static/components/facets/supressed.js: -------------------------------------------------------------------------------- 1 | import FacetRegistry from './registry'; 2 | 3 | 4 | /** 5 | * Used for all facets that need suppression unconditionally. 6 | */ 7 | const SuppressedFacet = () => null; 8 | 9 | FacetRegistry.Facet.register('cart', SuppressedFacet); 10 | -------------------------------------------------------------------------------- /src/encoded/static/components/gene_search/__tests__/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /src/encoded/static/components/gene_search/constants.js: -------------------------------------------------------------------------------- 1 | export const MISMATCH = 'mismatch'; 2 | 3 | export const MATCH = 'match'; 4 | 5 | export const GENE_SEARCH_URL = ( 6 | '/search/?type=Gene' + 7 | '&field=title' + 8 | '&field=@id' + 9 | '&field=locations' + 10 | '&field=synonyms' + 11 | '&field=dbxrefs' + 12 | '&limit=50' 13 | ); 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/gene_search/index.js: -------------------------------------------------------------------------------- 1 | import GeneSearch from './search'; 2 | 3 | 4 | export default GeneSearch; 5 | -------------------------------------------------------------------------------- /src/encoded/static/components/gene_search/input.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import PropTypes from 'prop-types'; 3 | 4 | 5 | /** 6 | * Controlled input box that accepts user's query 7 | * and triggers onChange callback. 8 | */ 9 | const Input = React.forwardRef((props, ref) => ( 10 | 19 | )); 20 | 21 | 22 | Input.propTypes = { 23 | input: PropTypes.string.isRequired, 24 | onChange: PropTypes.func.isRequired, 25 | }; 26 | 27 | 28 | export default Input; 29 | -------------------------------------------------------------------------------- /src/encoded/static/components/inputs/index.js: -------------------------------------------------------------------------------- 1 | import FileInput from './file'; 2 | import { ObjectPicker, ItemPreview } from './object'; 3 | 4 | export { 5 | FileInput, 6 | ObjectPicker, 7 | ItemPreview, 8 | }; 9 | -------------------------------------------------------------------------------- /src/encoded/static/components/lib/index.js: -------------------------------------------------------------------------------- 1 | import ItemStore from './store'; 2 | 3 | export default ItemStore; 4 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/analysis_step/alignment-test-step-1.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/analysis-steps/1b7bec83-dd21-4086-8673-2e08cf8f1c0f/", 3 | "@type": ["AnalysisStep", "Item"], 4 | "step_label": "alignment-test-step", 5 | "major_version": 1, 6 | "title": "Alignment test step 1", 7 | "analysis_step_types": ["alignment"], 8 | "status": "released", 9 | "uuid": "ab7ec880-50ab-11e4-916c-0800200c9a66" 10 | }; 11 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/analysis_step/encode-2-step.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/analysis-steps/1b7bec83-dd21-4086-8673-2e08cf8f1c0f/", 3 | "@type": ["AnalysisStep", "Item"], 4 | "name": "encode-2-step", 5 | "major_version": 1, 6 | "title": "ENCODE 2 step", 7 | "analysis_step_types": [ 8 | "filtering", 9 | "file format conversion", 10 | "QA calculation", 11 | "signal generation", 12 | "peak calling" 13 | ], 14 | "input_file_types": ["bam", "fasta", "bed"], 15 | "output_file_types": ["bigWig", "narrowPeak"], 16 | "qa_stats_generated": ["NSC", "RSC", "SPOT"], 17 | "status": "released", 18 | "uuid": "1b7bec83-dd21-4086-8673-2e08cf8f1c0f" 19 | }; 20 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/analysis_step/step-run-1.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/analysis-step-runs/cbc4fbba-5ce6-49ef-b7a4-46ece2147b67/", 3 | "@type": ["AnalysisStepVersion", "Item"], 4 | "aliases": [], 5 | "schema_version": "2", 6 | "analysis_step_version": require('./step-version-1'), 7 | "workflow_run": {}, 8 | "status": "finished", 9 | "uuid": "cbc4fbba-5ce6-49ef-b7a4-46ece2147b67" 10 | }; 11 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/analysis_step/step-version-1.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/analysis-step-versions/871a52b2-6874-4927-98c6-1d0b74bbc194/", 3 | "@type": ["AnalysisStepVersion", "Item"], 4 | "status": "released", 5 | "aliases": [], 6 | "schema_version": "1", 7 | "minor_version": 1, 8 | "analysis_step": require('../analysis_step/encode-2-step'), 9 | "software_versions": [], 10 | "uuid": "871a52b2-6874-4927-98c6-1d0b74bbc194" 11 | }; 12 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/award.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/awards/RC2HG005602/", 3 | "@type": ["Award", "Item"], 4 | "name": "RC2HG005602", 5 | "project": "ENCODE", 6 | "rfa": "ENCODE3" 7 | }; 8 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/biosample_type/bone_marrow.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/biosample-types/tissue_UBERON_0002371/", 3 | "@type": ["BiosampleType", "Item"], 4 | "classification": "tissue", 5 | "term_id": "UBERON:0002371", 6 | "term_name": "bone marrow", 7 | "uuid": "5a9267e6-1585-4130-a35d-d7246868a46c" 8 | }; 9 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/biosample_type/helas3.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/biosample-types/cell_line_EFO_0002791/", 3 | "@type": ["BiosampleType", "Item"], 4 | "classification": "cell line", 5 | "term_id": "EFO:0002791", 6 | "term_name": "HeLa-S3", 7 | "uuid": "2ca8e02c-2c6e-4bcd-b361-668819050b93" 8 | }; 9 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/biosample_type/k562.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/biosample-types/cell_line_EFO_0002067/", 3 | "@type": ["BiosampleType", "Item"], 4 | "classification": "cell line", 5 | "term_id": "EFO:0002067", 6 | "term_name": "K562", 7 | "uuid": "5fc1f9d3-0115-4dcf-8a26-578a284d5a82" 8 | }; 9 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/dataset/ENCSR000AJW.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/datasets/ENCSR000AJW/", 3 | "@type": ["Dataset", "Item"], 4 | "accession": "ENCSR000AJW", 5 | "award": "U54HG004592", 6 | "dataset_type": "project", 7 | "description": "RNA Working Group Evaluation Dataset", 8 | "lab": "john-stamatoyannopoulos", 9 | "status": "released", 10 | "submitted_by": "facilisi.tristique@potenti.vivamus", 11 | "uuid": "e52a0b01-2fb8-4015-bcad-c902f1d786fb" 12 | }; 13 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/dataset/ENCSR999BLA.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/datasets/ENCSR999BLA/", 3 | "@type": ["Dataset", "Item"], 4 | "accession": "ENCSR999BLA", 5 | "award": "U54HG004576", 6 | "dataset_type": "composite", 7 | "description": "Testing dataset", 8 | "lab": "richard-myers", 9 | "status": "released", 10 | "submitted_by": "facilisi.tristique@potenti.vivamus", 11 | "uuid": "d2470afe-ac68-4489-8f51-90ddfbc8e00b" 12 | }; 13 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/document/myerschipseq.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/documents/df9dd0ec-c1cf-4391-a745-a933ab1af7a7/", 3 | "@type": ["Document", "Item"], 4 | "aliases": [ 5 | "ENCODE:Myers_Lab_ChIP-seq_Protocol_v042211" 6 | ], 7 | "attachment": { 8 | "download": "Myers_Lab_ChIP-seq_Protocol_v042211.pdf", 9 | "href": "@@download/attachment/Myers_Lab_ChIP-seq_Protocol_v042211.pdf", 10 | "type": "application/pdf" 11 | }, 12 | "award": require('../award'), 13 | "document_type": "general protocol", 14 | "lab": require('../lab'), 15 | "submitted_by": require('../submitter'), 16 | "uuid": "df9dd0ec-c1cf-4391-a745-a933ab1af7a7" 17 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/donor/encdo000hum.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/human-donors/ENCDO000HUM/", 3 | "@type": ["HumanDonor", "Donor", "Item"], 4 | "accession": "ENCDO000HUM", 5 | "award": "U41HG006992", 6 | "ethnicity": "unknown", 7 | "health_status": "unknown", 8 | "lab": "j-michael-cherry", 9 | "life_stage": "unknown", 10 | "organism": require('../organism/human'), 11 | "references": [ 12 | "PMID:23000965", 13 | "PMID:16395128" 14 | ], 15 | "sex": "unknown", 16 | "uuid": "d90607d9-a5fa-4988-8cbf-c7fe8fcd0998" 17 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/donor/encdo012aaa.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/mouse-donors/ENCDO012AAA/", 3 | "@type": ["MouseDonor", "Donor", "Item"], 4 | "accession": "ENCDO012AAA", 5 | "award": "U41HG006992", 6 | "lab": "j-michael-cherry", 7 | "organism": require('../organism/mouse'), 8 | "strain_background": "CD-1", 9 | "uuid": "a67605ad-45d9-4ec3-8470-18be07a676f0" 10 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/lab.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/labs/thomas-gingeras/", 3 | "@type": ["lab", "item"], 4 | "title": "Thomas Gingeras, CSHL" 5 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/lot_review/EFO-0002791.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "status": "awaiting characterization", 3 | "biosample_term_id": "EFO:0002791", 4 | "biosample_term_name": "HeLa-S3", 5 | "organisms": [], 6 | "targets":[] 7 | }; 8 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/organism/human.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/organisms/human/", 3 | "@type": ["Organism", "Item"], 4 | "name": "human", 5 | "scientific_name": "Homo sapiens", 6 | "taxon_id": "9606", 7 | "uuid": "7745b647-ff15-4ff3-9ced-b897d4e2983c" 8 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/organism/mouse.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/organisms/mouse/", 3 | "@type": ["Organism", "Item"], 4 | "name": "mouse", 5 | "scientific_name": "Mus musculus", 6 | "taxon_id": "10090", 7 | "uuid": "3413218c-3d86-498b-a0a2-9a406638e786" 8 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/organism/rabbit.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/organisms/rabbit/", 3 | "@type": ["Organism", "Item"], 4 | "status": "current", 5 | "name": "rabbit", 6 | "scientific_name": "Oryctolagus cuniculus", 7 | "schema_version": "2", 8 | "taxon_id": "9986", 9 | "uuid": "4f98fd6a-0e61-4988-9032-a5116f6d0607" 10 | }; 11 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/platform.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/platforms/NTR%3A0000007", 3 | "@type": ["Platform", "Item"], 4 | "dbxrefs": [ 5 | "UCSC-ENCODE-cv:Illumina_HiSeq_2000", 6 | "GEO:GPL11154", 7 | "GEO:GPL13112" 8 | ], 9 | "term_id": "NTR:0000007", 10 | "term_name": "Illumina HiSeq 2000", 11 | "title": "Illumina HiSeq 2000", 12 | "url": "http://www.illumina.com/documents/products/datasheets/datasheet_hiseq2000.pdf", 13 | "uuid": "03a96eaf-75da-44e2-b4f6-e349e8c3655e" 14 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/publication/supplementary-data-2.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "url": "http://funseq2.gersteinlab.org/static/data/ENCODE.annotation.gz", 3 | "supplementary_data_type": "enhancer annotations", 4 | "data_summary": "An update of the list in 2014 using the same methodology.", 5 | "file_format": "BED" 6 | }; 7 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/replicate/human.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/replicates/30a3e114-139a-4297-9287-4f23d2754c25/", 3 | "@type": ["Replicate", "Item"], 4 | "aliases": [], 5 | "biological_replicate_number": 1, 6 | "experiment": "/experiments/ENCSR999NOF/", 7 | "library": require('../library/sid38806'), 8 | "paired_ended": false, 9 | "submitted_by": "/users/0abbd494-b852-433c-b360-93996f679dae/", 10 | "technical_replicate_number": 1, 11 | "uuid": "30a3e114-139a-4297-9287-4f23d2754c25" 12 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/replicate/mouse.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/replicates/401d9e79-8a0a-42ed-ad1b-1d274fd0b8cb/", 3 | "@type": ["Replicate", "Item"], 4 | "aliases": [], 5 | "biological_replicate_number": 2, 6 | "experiment": "/experiments/ENCSR999NOF/", 7 | "library": require('../library/sid38807'), 8 | "paired_ended": false, 9 | "submitted_by": "/users/0abbd494-b852-433c-b360-93996f679dae/", 10 | "technical_replicate_number": 1, 11 | "uuid": "401d9e79-8a0a-42ed-ad1b-1d274fd0b8cb" 12 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/source.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/sources/atcc/", 3 | "@type": ["Source", "Item"], 4 | "aliases": [], 5 | "description": "American Type Culture Collection (ATCC)", 6 | "name": "atcc", 7 | "status": "released", 8 | "title": "ATCC", 9 | "url": "http://www.atcc.org/", 10 | "uuid": "eadabaf1-d5b6-4b48-8847-e86461f12101" 11 | }; 12 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/source/aviva.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/sources/aviva/", 3 | "@type": [ 4 | "Source", 5 | "Item" 6 | ], 7 | "status": "released", 8 | "uuid": "fa701215-07e6-4ffe-a8f4-20356d66f3e0", 9 | "title": "Aviva", 10 | "url": "http://www.avivasysbio.com", 11 | "description": "Aviva Systems Biology", 12 | "schema_version": "2", 13 | "name": "aviva", 14 | }; 15 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/submitter.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/users/0abbd494-b852-433c-b360-93996f679dae/", 3 | "@type": ["User", "Item"], 4 | "id": "0abbd494-b852-433c-b360-93996f679dae", 5 | "lab": "/labs/thomas-gingeras/", 6 | "title": "Ad Est" 7 | }; -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/treatment/CHEBI34730.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/treatments/3280b708-0f05-40fa-bff2-54e2b6505c13/", 3 | "@type": ["Treatment", "Item"], 4 | "amount": 97.2, 5 | "amount_units": "nM", 6 | "duration": 6, 7 | "duration_units": "hour", 8 | "dbxrefs": [ 9 | "UCSC-ENCODE-cv:diffProtB_6hr" 10 | ], 11 | "lab": "john-stamatoyannopoulos", 12 | "submitted_by": "blandit.orci@conubia.magna", 13 | "treatment_term_id": "CHEBI:34730", 14 | "treatment_term_name": "doxycycline hyclate", 15 | "treatment_type": "chemical", 16 | "uuid": "3280b708-0f05-40fa-bff2-54e2b6505c13" 17 | }; 18 | -------------------------------------------------------------------------------- /src/encoded/static/components/testdata/treatment/CHEBI44616.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "@id": "/treatments/2e33a097-412c-4646-87f9-858dfaaa7c06/", 3 | "@type": ["Treatment", "Item"], 4 | "amount": 600, 5 | "amount_units": "nM", 6 | "duration": 30, 7 | "duration_units": "minute", 8 | "dbxrefs": [ 9 | "UCSC-ENCODE-cv:4OHTAM_100nM_30m" 10 | ], 11 | "lab": "gregory-crawford", 12 | "submitted_by": "metus.donec@nisl.montes", 13 | "treatment_term_id": "CHEBI:44616", 14 | "treatment_term_name": "afimoxifene", 15 | "treatment_type": "chemical", 16 | "uuid": "2e33a097-412c-4646-87f9-858dfaaa7c06" 17 | }; 18 | -------------------------------------------------------------------------------- /src/encoded/static/components/testing.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import * as globals from './globals'; 3 | 4 | 5 | export default class TestingRenderErrorPanel extends React.Component { 6 | render() { 7 | console.log('log'); 8 | console.warn('warn'); 9 | return this.method_does_not_exist(); 10 | } 11 | } 12 | 13 | globals.panelViews.register(TestingRenderErrorPanel, 'TestingRenderError'); 14 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/__tests__/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/debounce.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This debounces the specified function by clearing the previous 3 | * timerID (if any) and returning the new timerID. If the delay 4 | * passes without the timer being reset then the function will fire. 5 | * @param {function} func - The function to call after specified delay. 6 | * @param {number} delay - Time in ms to wait before firing function. 7 | * @param {number} timerId - Previous timeout to clear before setting new timeout. 8 | * @return {number} The new timerID. 9 | */ 10 | const debounce = (func, delay, timerId) => { 11 | clearTimeout(timerId); 12 | return setTimeout(func, delay); 13 | }; 14 | 15 | 16 | export default debounce; 17 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/hits/biosample.js: -------------------------------------------------------------------------------- 1 | import Hit from './base'; 2 | 3 | 4 | class BiosampleHit extends Hit { 5 | /** 6 | * Overrides parent definition. 7 | * @return {array} [[field, value], ...] array from item. 8 | */ 9 | getValues() { 10 | return [ 11 | ['name', this.formatName()], 12 | ['description', this.formatDescription()], 13 | ]; 14 | } 15 | } 16 | 17 | 18 | export default BiosampleHit; 19 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/hits/experiment.js: -------------------------------------------------------------------------------- 1 | import Hit from './base'; 2 | 3 | 4 | class ExperimentHit extends Hit { 5 | /** 6 | * Overrides parent definition. 7 | * @return {array} [[field, value], ...] array from item. 8 | */ 9 | getValues() { 10 | return [ 11 | ['name', this.formatName()], 12 | ['title', this.formatTitle()], 13 | ['target', this.formatTarget()], 14 | ['details', this.formatDetails()], 15 | ['description', this.formatDescriptionWithOrganism()], 16 | ]; 17 | } 18 | } 19 | 20 | 21 | export default ExperimentHit; 22 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/index.js: -------------------------------------------------------------------------------- 1 | import * as globals from '../globals'; 2 | import { PageSearch } from './search'; 3 | 4 | 5 | globals.contentViews.register(PageSearch, 'TopHitsSearch'); 6 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/multi/__tests__/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /src/encoded/static/components/top_hits/multi/constants.js: -------------------------------------------------------------------------------- 1 | import TopHitsQuery from '../query'; 2 | import TopHitsResults from '../results'; 3 | 4 | 5 | /** 6 | * Used for specifying query objects and result components for multisearch. 7 | * Format: 8 | * [ 9 | * {string} name - key used to store results in React state, 10 | * {object} query - query object that has getResults method, 11 | * {element} results - React component that knows how to render results returned by query, 12 | * {string} title - Title used to display group of results, 13 | * ] 14 | */ 15 | const QUERIES = [ 16 | ['topHits', TopHitsQuery, TopHitsResults, 'Top results by type'], 17 | ]; 18 | 19 | 20 | export default QUERIES; 21 | -------------------------------------------------------------------------------- /src/encoded/static/dev-robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / 3 | -------------------------------------------------------------------------------- /src/encoded/static/font/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/font/FontAwesome.otf -------------------------------------------------------------------------------- /src/encoded/static/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/encoded/static/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/encoded/static/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/encoded/static/google63612883561ae8ff.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google63612883561ae8ff.html -------------------------------------------------------------------------------- /src/encoded/static/img/FunSeq2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/FunSeq2.png -------------------------------------------------------------------------------- /src/encoded/static/img/asc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/asc.gif -------------------------------------------------------------------------------- /src/encoded/static/img/badge-community.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-community.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-encode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-encode.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-encode2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-encode2.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-encode3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-encode3.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-encode4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-encode4.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-encore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-encore.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-ggr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-ggr.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-modencode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-modencode.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-modern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-modern.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-mouseencode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-mouseencode.png -------------------------------------------------------------------------------- /src/encoded/static/img/badge-roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/badge-roadmap.png -------------------------------------------------------------------------------- /src/encoded/static/img/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/bg.gif -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/insetSVGs/mouse_placenta.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/insetSVGs/mouse_placenta_deselected.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/organisms/Caenorhabditis-elegans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/bodyMap/organisms/Caenorhabditis-elegans.png -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/organisms/Drosophila-melanogaster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/bodyMap/organisms/Drosophila-melanogaster.png -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/organisms/Homo-sapiens.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/bodyMap/organisms/Homo-sapiens.png -------------------------------------------------------------------------------- /src/encoded/static/img/bodyMap/organisms/Mus-musculus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/bodyMap/organisms/Mus-musculus.png -------------------------------------------------------------------------------- /src/encoded/static/img/broadinstitute.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/broadinstitute.ico -------------------------------------------------------------------------------- /src/encoded/static/img/brokenImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/brokenImage.png -------------------------------------------------------------------------------- /src/encoded/static/img/checker.svg: -------------------------------------------------------------------------------- 1 | checker -------------------------------------------------------------------------------- /src/encoded/static/img/classic-image-5290.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/classic-image-5290.jpg -------------------------------------------------------------------------------- /src/encoded/static/img/close-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/close-icon.png -------------------------------------------------------------------------------- /src/encoded/static/img/close-icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/encoded/static/img/creative-commons-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/creative-commons-logo.png -------------------------------------------------------------------------------- /src/encoded/static/img/desc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/desc.gif -------------------------------------------------------------------------------- /src/encoded/static/img/disclosure-arrow.svg: -------------------------------------------------------------------------------- 1 | Disclosure Arrow -------------------------------------------------------------------------------- /src/encoded/static/img/dna-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/dna-bg.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-bg-gray.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-bg-gray.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-circle.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-logo-small-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-logo-small-150x150.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-logo-small-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-logo-small-2x.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-logo-small.png -------------------------------------------------------------------------------- /src/encoded/static/img/encode-logo-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/encode-logo-square.png -------------------------------------------------------------------------------- /src/encoded/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/favicon.ico -------------------------------------------------------------------------------- /src/encoded/static/img/fine-diagonal-lines.svg: -------------------------------------------------------------------------------- 1 | 2 | Background fine diagonal lines 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/encoded/static/img/getting-started.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/getting-started.jpg -------------------------------------------------------------------------------- /src/encoded/static/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /src/encoded/static/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /src/encoded/static/img/hiding-dots.svg: -------------------------------------------------------------------------------- 1 | Indicates hiddent content -------------------------------------------------------------------------------- /src/encoded/static/img/home-page-background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/home-page-background.jpg -------------------------------------------------------------------------------- /src/encoded/static/img/immune-cells/b_cell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/encoded/static/img/immune-cells/hematopoetic_cell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/encoded/static/img/immune-cells/nk_cell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/encoded/static/img/immune-cells/progenitor_cell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/encoded/static/img/immune-cells/t_cell.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/encoded/static/img/nhgri.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/nhgri.jpg -------------------------------------------------------------------------------- /src/encoded/static/img/orientation-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/orientation-icons.png -------------------------------------------------------------------------------- /src/encoded/static/img/pennant-encode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/pennant-encode.png -------------------------------------------------------------------------------- /src/encoded/static/img/pennant-ggr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/pennant-ggr.png -------------------------------------------------------------------------------- /src/encoded/static/img/pennant-nhgri.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/pennant-nhgri.png -------------------------------------------------------------------------------- /src/encoded/static/img/pennant-remc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/pennant-remc.png -------------------------------------------------------------------------------- /src/encoded/static/img/regulome.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/regulome.ico -------------------------------------------------------------------------------- /src/encoded/static/img/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/screen.png -------------------------------------------------------------------------------- /src/encoded/static/img/som-logo-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/som-logo-red.png -------------------------------------------------------------------------------- /src/encoded/static/img/som-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/som-logo.png -------------------------------------------------------------------------------- /src/encoded/static/img/spinner-orange-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/spinner-orange-bg.gif -------------------------------------------------------------------------------- /src/encoded/static/img/spinner1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/spinner1.gif -------------------------------------------------------------------------------- /src/encoded/static/img/su-logo-white-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/su-logo-white-2x.png -------------------------------------------------------------------------------- /src/encoded/static/img/su-logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/su-logo-white.png -------------------------------------------------------------------------------- /src/encoded/static/img/su-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/su-logo.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-DREAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-DREAM.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-ENTEx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-ENTEx.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-LRGASP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-LRGASP.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-PGP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-PGP.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-RegulomeDB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-RegulomeDB.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-SESCC.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-SESCC.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-dbGaP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/static/img/tag-dbGaP.png -------------------------------------------------------------------------------- /src/encoded/static/img/tag-degron.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 11 | 12 | Degron 13 | 14 | -------------------------------------------------------------------------------- /src/encoded/static/libs/__tests__/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "env": { 3 | "jest": true, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /src/encoded/static/libs/closest.js: -------------------------------------------------------------------------------- 1 | // eslint-disable-next-line consistent-return 2 | export default function closest(el, selector) { 3 | while (el) { 4 | if (el.matches(selector)) return el; 5 | el = el.parentElement; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/encoded/static/libs/compat.js: -------------------------------------------------------------------------------- 1 | /* jshint strict:false */ 2 | require('core-js/stable'); 3 | require('regenerator-runtime/runtime'); 4 | 5 | // Chrome 42 fetch does not have abort. 6 | window.fetch = undefined; 7 | require('whatwg-fetch'); 8 | -------------------------------------------------------------------------------- /src/encoded/static/libs/constants.js: -------------------------------------------------------------------------------- 1 | // UNICODE entity codes, needed in JSX string templates. Each property named after the equivalent 2 | // HTML entity. Add new entries to this object as needed. 3 | export const uc = { 4 | lsquo: '\u2018', // Right single quote 5 | rsquo: '\u2019', // Right single quote 6 | ldquo: '\u201c', // Left double quote 7 | rdquo: '\u201d', // Right double quote 8 | }; 9 | 10 | // Used to compare keyboard event key codes. 11 | export const keyCode = { 12 | TAB: 9, 13 | RETURN: 13, 14 | ESC: 27, 15 | SPACE: 32, 16 | }; 17 | -------------------------------------------------------------------------------- /src/encoded/static/libs/jsonScriptEscape.js: -------------------------------------------------------------------------------- 1 | 2 | const SUBS = { '&': '\\u0026', '<': '\\u003C', '>': '\\u003E' }; 3 | // eslint-disable-next-line no-useless-escape 4 | const unsafeRe = /[\<\>\&]/g; 5 | 6 | const sub = (match) => SUBS[match]; 7 | const jsonScriptEscape = (jsonString) => jsonString.replace(unsafeRe, sub); 8 | 9 | module.exports = jsonScriptEscape; 10 | -------------------------------------------------------------------------------- /src/encoded/static/libs/offset.js: -------------------------------------------------------------------------------- 1 | // http://www.quirksmode.org/js/findpos.html 2 | module.exports = function offset(el) { 3 | let curleft = 0; 4 | let curtop = 0; 5 | do { 6 | curleft += el.offsetLeft; 7 | curtop += el.offsetTop; 8 | // eslint-disable-next-line no-cond-assign 9 | } while (el = el.offsetParent); 10 | return { left: curleft, top: curtop }; 11 | }; 12 | -------------------------------------------------------------------------------- /src/encoded/static/libs/ordinal_suffix.js: -------------------------------------------------------------------------------- 1 | // based off https://stackoverflow.com/a/31615643/178550 2 | /** 3 | * Gets the number along with an ordinal from the set (th, st, nd, rd). 4 | * 5 | * @param {number or string} number (Implicitly converted to the number type if not already of type number) 6 | * @returns Number with ordinal suffix 7 | */ 8 | const getNumberWithOrdinal = (number) => { 9 | const suffix = ['th', 'st', 'nd', 'rd']; 10 | const percentage = number % 100; 11 | 12 | return number + (suffix[(percentage - 20) % 10] || suffix[percentage] || suffix[0]); 13 | }; 14 | 15 | export default getNumberWithOrdinal; 16 | -------------------------------------------------------------------------------- /src/encoded/static/libs/origin.js: -------------------------------------------------------------------------------- 1 | const url = require('url'); 2 | 3 | function same(from, to) { 4 | if (typeof to === 'undefined') { 5 | to = from; 6 | from = document.location.href; 7 | } 8 | if (typeof from === 'string') from = url.parse(from); 9 | if (typeof to === 'string') to = url.parse(url.resolve(from.href, to)); 10 | 11 | if (to.protocol === 'data:' || to.protocol === 'javascript:') return true; 12 | if (from.protocol !== to.protocol) return false; 13 | if (from.protocol === 'file:') return from.pathname === to.pathname; 14 | return from.host === to.host; 15 | } 16 | 17 | module.exports.same = same; 18 | -------------------------------------------------------------------------------- /src/encoded/static/libs/react-patches.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | // These patches must be executed before any call to require('react'). 3 | 4 | // There are currently no patches pending ;) 5 | -------------------------------------------------------------------------------- /src/encoded/static/mime.types: -------------------------------------------------------------------------------- 1 | application/font-woff woff 2 | text/autosql as 3 | text/markdown md 4 | image/tiff svs 5 | -------------------------------------------------------------------------------- /src/encoded/static/scss/encoded/_theme.scss: -------------------------------------------------------------------------------- 1 | .svg-icon { 2 | fill: #fff; 3 | } 4 | 5 | select { 6 | border: 1px solid #428bca !important; 7 | color: #428bca !important; 8 | font-family: $button-font; 9 | font-weight: 700; 10 | font-size: 1rem; 11 | 12 | &::-ms-expand { 13 | display: none; 14 | } 15 | } 16 | 17 | .beta-badge { 18 | position: relative; 19 | top: -2px; 20 | display: inline-block; 21 | margin-left: 5px; 22 | padding: 2px 4px; 23 | font-size: 0.6rem; 24 | color: #fff; 25 | background-color: #b24342; 26 | border-radius: 3px; 27 | } 28 | -------------------------------------------------------------------------------- /src/encoded/static/scss/encoded/modules/_breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | margin: 0; 3 | padding: 5px 0; 4 | background-color: transparent; 5 | 6 | > li { 7 | display: inline-block; 8 | font-weight: 500; 9 | font-size: 1rem; 10 | color: #808080; 11 | 12 | + li::before { 13 | content: "/\A0"; // Slash character, only after adjacent li 14 | padding: 0 5px; 15 | color: #ccc; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/encoded/static/scss/encoded/modules/_encode-software.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Everything within the ENCODE Software page area. 3 | */ 4 | $encode-software-border: 1px solid black; 5 | 6 | .encode-software { 7 | .nav-tabs { 8 | // modification of Tab panel to make entire tab-area clickable 9 | li { 10 | a { 11 | width: 100%; 12 | } 13 | 14 | .tab-inner { 15 | padding: 0; 16 | 17 | a { 18 | font-size: 1.2rem; 19 | padding: 5px; 20 | width: 100%; 21 | } 22 | } 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/encoded/static/scss/encoded/modules/_lists.scss: -------------------------------------------------------------------------------- 1 | // For displaying a list in a panel where you'd normally find the dl/dt/dd value pairs. 2 | .non-dl-list { 3 | list-style: none; 4 | margin: 0 0 0 60px; 5 | } 6 | 7 | // For displaying a single-item where you'd otherwise find lists 8 | .non-dl-item { 9 | margin-left: 60px; 10 | } 11 | -------------------------------------------------------------------------------- /src/encoded/static/scss/encoded/modules/_user.scss: -------------------------------------------------------------------------------- 1 | .access-keys { 2 | // Header for access key table 3 | @at-root #{&}__header { 4 | display: flex; 5 | 6 | @at-root #{&}-title { 7 | flex: 1 1 auto; 8 | } 9 | 10 | @at-root #{&}-control { 11 | flex: 0 1 auto; 12 | margin: -5px -5px -5px 0; 13 | } 14 | } 15 | 16 | // Message displayed when no access keys exist 17 | @at-root #{&}__empty-message { 18 | margin: 10px 0; 19 | text-align: center; 20 | font-style: italic; 21 | } 22 | 23 | @at-root #{&}__actions { 24 | button { 25 | display: inline-block; 26 | margin-right: 5px; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: 0.2em 0.25em 0.15em; 6 | border: solid 0.08em $fa-border-color; 7 | border-radius: 0.1em; 8 | } 9 | 10 | .pull-right { float: right; } 11 | .pull-left { float: left; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.pull-left { margin-right: 0.3em; } 15 | &.pull-right { margin-left: 0.3em; } 16 | } 17 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font-family: FontAwesome; 7 | font-style: normal; 8 | font-weight: normal; 9 | line-height: 1; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | //@import "larger"; 11 | //@import "fixed-width"; 12 | //@import "list"; 13 | //@import "bordered-pulled"; 14 | //@import "spinning"; 15 | //@import "rotated-flipped"; 16 | //@import "stacked"; 17 | @import "icons"; 18 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | -------------------------------------------------------------------------------- /src/encoded/static/scss/fontawesome/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/8121902.2P.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/8121902.2P.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ADNP_anti_GFP_Roche_11814460001_WB_White.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ADNP_anti_GFP_Roche_11814460001_WB_White.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/Antibody_Characterization_ENCODE3_February2014.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/Antibody_Characterization_ENCODE3_February2014.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/BACTransfectionProtocolK562Cells.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/BACTransfectionProtocolK562Cells.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/C2C12_Wold_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/C2C12_Wold_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/CH17_pBACGK1.1n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/CH17_pBACGK1.1n.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCBS000AAA-json.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCBS000AAA-json.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCBS000AAA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCBS000AAA.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCFF002DSJ.raw.srt.filt.nodup.srt.filt.nodup.sample.15.SE.tagAlign.gz.cc.plot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCFF002DSJ.raw.srt.filt.nodup.srt.filt.nodup.sample.15.SE.tagAlign.gz.cc.plot.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCFF150HADvENCFF315YLZ.IDRv2.log.txt: -------------------------------------------------------------------------------- 1 | Initial parameter values: [0.10 1.00 0.20 0.50] 2 | Final parameter values: [1.24 1.22 0.81 0.22] 3 | Number of reported peaks - 62691/62691 (100.0%) 4 | 5 | Number of peaks passing IDR cutoff of 0.02 - 3202/62691 (5.1%) 6 | 7 | -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCFF150HADvENCFF315YLZ.IDRv2.pooled_common_IDRv2.narrowPeak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCFF150HADvENCFF315YLZ.IDRv2.pooled_common_IDRv2.narrowPeak.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCODE2ChIP-seqpipelinespecifications.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCODE2ChIP-seqpipelinespecifications.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCODE2_ChIP_seq_pipeline_diagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCODE2_ChIP_seq_pipeline_diagram.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ENCODE_logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ENCODE_logo.gif -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/EPC_Stam_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/EPC_Stam_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/EncodeDatatypes2013-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/EncodeDatatypes2013-7.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/FLAG-ZNF124_HepG2_IP-MS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/FLAG-ZNF124_HepG2_IP-MS.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/GeneQuantificationPipeline.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/GeneQuantificationPipeline.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/Graveley_Group_RNA-Seq_Pipeline_02042013.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/Graveley_Group_RNA-Seq_Pipeline_02042013.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/H3K4me3 Millipore 07-473 JBC1888194.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/H3K4me3 Millipore 07-473 JBC1888194.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/H3K4me3_Millipore_07-473_lot_DAM1651667_WB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/H3K4me3_Millipore_07-473_lot_DAM1651667_WB.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/H3K4me3_Millipore_07-473_lot_DAM1731494.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/H3K4me3_Millipore_07-473_lot_DAM1731494.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/HAIB_TCF4_WH0006925M2_IP-WB.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/HAIB_TCF4_WH0006925M2_IP-WB.jpg -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/HAIB_TCF4_WH0006925M2_MassSpec.tsv.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/HAIB_TCF4_WH0006925M2_MassSpec.tsv.gz -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/Heart_STL003_excision_protocol.txt: -------------------------------------------------------------------------------- 1 | Heart_STL003 excision protocol 2 | 3 | Standard organ procurement. 4 | -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/K562_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/K562_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/LID48879.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/LID48879.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/MCF-7_Crawford_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/MCF-7_Crawford_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/MCF-7_Farnham_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/MCF-7_Farnham_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/Myers_Lab_ChIP-seq_Protocol_v042211.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/Myers_Lab_ChIP-seq_Protocol_v042211.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/PanIsletD_Crawford_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/PanIsletD_Crawford_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/PathologyImage_CMU-1.svs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/PathologyImage_CMU-1.svs -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SAEC_Stam_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SAEC_Stam_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SID38242.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SID38242.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SID38806.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SID38806.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SID38807.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SID38807.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SID38822.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SID38822.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/SID38823.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/SID38823.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/Stam_15_protocols.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/Stam_15_protocols.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/ZhBTc4_Stam_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/ZhBTc4_Stam_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/curl-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/curl-output.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/diffProtB_6hr_protocol.txt: -------------------------------------------------------------------------------- 1 | Oct4 repression with Doxycycline in ZhBTc4 ES cell culture harvested at 6 hours. Doxycycline added to a final concentration of 100 ng/ml. 2 | -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/encode-library-object-structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/encode-library-object-structure.jpg -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/frowny_gel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/frowny_gel.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/generic_from_mad_plot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/generic_from_mad_plot.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/hnRNPA1_aviva-1_WB_HeLa_Fu.TIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/hnRNPA1_aviva-1_WB_HeLa_Fu.TIF -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/hnRNPA1_aviva-2_WB_HeLa_Fu.TIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/hnRNPA1_aviva-2_WB_HeLa_Fu.TIF -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/hnRNPA1_santacruz_IP-WB_K562_Fu.TIF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/hnRNPA1_santacruz_IP-WB_K562_Fu.TIF -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_CTCF_sc-5916_validation_Myers-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_CTCF_sc-5916_validation_Myers-1.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_CTCF_sc-5916_validation_Myers-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_CTCF_sc-5916_validation_Myers-2.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_E2F1_HA-E2F1_validation_Farnham-1_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_E2F1_HA-E2F1_validation_Farnham-1_1.jpg -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_E2F1_HA-E2F1_validation_Farnham.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_E2F1_HA-E2F1_validation_Farnham.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_H3K4me3_validation_Bernstein.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_H3K4me3_validation_Bernstein.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_H3K9ac_ab4441_validation_Bernstein.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_H3K9ac_ab4441_validation_Bernstein.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/human_TAF1_validation_Myers.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/human_TAF1_validation_Myers.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/iCLIP_pipeline_ENCODE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/iCLIP_pipeline_ENCODE.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/jocelyn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/jocelyn.jpg -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/mouse_H3K4me3_07-473_validation_Hardison.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/mouse_H3K4me3_07-473_validation_Hardison.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/pLKO1_vector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/pLKO1_vector.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/rna_qc_attachment.txt: -------------------------------------------------------------------------------- 1 | File Total Reads Unmapped Reads Reads 1 Reads >1 Total align RNA type 2 | D01_MDDC_Lps_24h 20710352 20710291 (100.00%) 65 (0.00%) 6 (0.00%) 65 tRNA 3 | D01_MDDC_Lps_24h 20710362 20710291 (100.00%) 66 (0.00%) 6 (0.00%) 61 miRNA 4 | D01_MDDC_Lps_24h 20710562 20710291 (100.00%) 67 (0.00%) 6 (0.00%) 65 ncRNA 5 | D01_MDDC_Lps_24h 20710362 20710391 (156.00%) 68 (0.00%) 66 (0.00%) 63 rRNA -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/sample_strain_generation_protocol.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/sample_strain_generation_protocol.pdf -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/search-result-bone-chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/search-result-bone-chip.png -------------------------------------------------------------------------------- /src/encoded/tests/data/documents/selma.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/documents/selma.jpg -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/access_key.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "uuid": "0abbd123-b456-433c-b360-93996f679dae", 4 | "user": "/users/3787a0ac-f13a-40fc-a524-69628b04cd59/", 5 | "description": "Unencrypted secret key is 'bazqux', hashed using edw_hash. To use with cURL to make admin requests, pass -u foobar:bazqux", 6 | "access_key_id": "foobar", 7 | "secret_access_key_hash": "45c9H91zyXXZr4KFADhZzr2QFLgnbDT3OPFZOVFRiNhbYB9OujH5ceZIJn9mEYAe" 8 | } 9 | ] 10 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/atac_peak_enrichment_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "lab": "/labs/j-michael-cherry/", 5 | "award": "/awards/U24HG009397/", 6 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 7 | "uuid": "e61f4346-4a83-4ff1-ba89-17ae61508d85", 8 | "assay_term_name": "ATAC-seq", 9 | "quality_metric_of": [ "ENCFF182CHA" ], 10 | "frip": 0.989380104666, 11 | "min_size": 73, 12 | "25_pct": 73, 13 | "50_pct": 73, 14 | "75_pct": 117, 15 | "max_size": 862, 16 | "mean": 100.897043369, 17 | "peak_width_distribution_plot": "ENCFF150HADvENCFF315YLZ.IDRv2.pooled_common_IDRv2.narrowPeak.png" 18 | } 19 | ] 20 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/bpnet_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "lab": "/labs/j-michael-cherry/", 5 | "award": "/awards/U24HG009397/", 6 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 7 | "uuid": "a7eaa2a0-f631-11ec-b939-0242ac120002", 8 | "assay_term_name": "ChIP-seq", 9 | "quality_metric_of": [ "ENCFF000VUQ" ], 10 | "count_spearman_peaks": 23, 11 | "count_spearman_allregions": 102, 12 | "count_pearson_peaks": 1024, 13 | "count_pearson_allregions": 2119, 14 | "profile_normjsd_peaks": 105, 15 | "auprc": 203, 16 | "auroc": 211 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/chia_pet_alignment_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "8479e383-3492-4ffc-b2ea-10fb65589cde", 5 | "uuid": "6c7cedf0-ba8e-4d09-ac8e-f3009846f833", 6 | "assay_term_name": "ChIA-PET", 7 | "quality_metric_of": ["ENCFF203KVL"], 8 | "lab": "/labs/ali-mortazavi/", 9 | "award": "/awards/U54HG006998/", 10 | "total_rp": 80000000, 11 | "rp_bl": 263045978, 12 | "frp_bl": 0.48, 13 | "pet": 168582483, 14 | "um_pet": 126928363, 15 | "nr_pet": 59631512, 16 | "pet_red": 0.54 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/chia_pet_chr_interactions_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "39b4ccfe-c700-4ead-972e-71479c03c97e", 5 | "uuid": "9503c55d-84f1-4351-8ef1-a0d7f52768de", 6 | "assay_term_name": "ChIA-PET", 7 | "quality_metric_of": ["ENCFF727BIF"], 8 | "lab": "/labs/ali-mortazavi/", 9 | "award": "/awards/U54HG006998/", 10 | "intra_inter_pet_ratio": 3.42, 11 | "intra_inter_clust_pet2_ratio": 6.41, 12 | "intra_inter_clust_pet5_ratio": 200.65, 13 | "intra_inter_clust_pet10_ratio": 3816.83 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/chia_pet_peak_enrichment_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "56c6a019-a247-495c-8179-1639f4836ef8", 5 | "uuid": "53804f15-17b7-4bb9-b964-f9c7bdb396e5", 6 | "assay_term_name": "ChIA-PET", 7 | "quality_metric_of": ["ENCFF928TLJ"], 8 | "lab": "/labs/ali-mortazavi/", 9 | "award": "/awards/U54HG006998/", 10 | "binding_peaks": 241990 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/chipseq_filter_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "in progress", 4 | "lab": "/labs/robert-waterston/", 5 | "award": "/awards/U41HG007355/", 6 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 7 | "uuid": "517e4338-c02c-47a8-8728-4827592fe8db", 8 | "assay_term_name": "ChIP-seq", 9 | "quality_metric_of": [ "956cba28-ccff-4cbd-b1c8-39db4e3de572" ], 10 | "NSC": 1.02, 11 | "RSC": 0.98, 12 | "NRF": 0.926866, 13 | "PBC1": 0.94, 14 | "PBC2": 0.94, 15 | "fragment length": 180, 16 | "cross_correlation_plot": "ENCFF002DSJ.raw.srt.filt.nodup.srt.filt.nodup.sample.15.SE.tagAlign.gz.cc.plot.pdf" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/computational_model.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "computational model fileset", 4 | "computational_model_type": "imputation", 5 | "accession": "ENCSR860CMZ", 6 | "submitted_by": "facilisi.tristique@potenti.vivamus", 7 | "status": "released", 8 | "description": "Computational model fileset to group avocado imputation model.", 9 | "award": "U54HG007004", 10 | "lab": "j-michael-cherry", 11 | "related_files": [ 12 | "ENCFF000LSP", 13 | "ENCFF182CHA" 14 | ], 15 | "uuid": "bc5b62f7-ce28-4a1e-b6b3-81c9c5a86d7a", 16 | "date_released": "2020-01-23" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/cpg_correlation_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "lab": "/labs/robert-waterston/", 4 | "award": "/awards/U41HG007355/", 5 | "status": "released", 6 | "step_run": "7c81414f-a9c0-44ed-87fb-2e2207733d3b", 7 | "uuid": "23d36ff2-8219-4bf2-b163-2a922b1d8054", 8 | "assay_term_name": "whole-genome shotgun bisulfite sequencing", 9 | "quality_metric_of": [ "46e82a90-49e5-4c33-afab-9ec90d65faf3", "582d6675-0b2e-4886-b43d-f6efa9033b37" ], 10 | "attachment": "generic_from_star_final_out.txt", 11 | "CpG pairs": 43730532, 12 | "CpG pairs with atleast 10 reads each": 31107909, 13 | "Pearson correlation": 0.8993 14 | } 15 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/differential_accessibility_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "differential accessibility series", 4 | "accession": "ENCSR001DAS", 5 | "award": "UM1HG009390", 6 | "description": "Differential Accessibility series.", 7 | "lab": "ali-mortazavi", 8 | "status": "in progress", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR808ATA" 12 | ], 13 | "uuid": "c621f43b-4768-4953-9c39-a6548e7f288e", 14 | "date_released": "2020-09-11" 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/differentiation_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "differentiation series", 4 | "accession": "ENCSR210DSO", 5 | "award": "UM1HG009442", 6 | "description": "Differentiation series for T cells.", 7 | "lab": "michael-snyder", 8 | "status": "released", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR263RTC", 12 | "/experiments/ENCSR897MTC", 13 | "/experiments/ENCSR309ART" 14 | ], 15 | "uuid": "530a0fd5-1dbc-4633-9476-0d0ddbf4e1c6", 16 | "date_released": "2021-01-13" 17 | } 18 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/dnase_footprinting_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 5 | "uuid": "f04a106e-9d40-44c4-8535-5185232eb20e", 6 | "assay_term_name": "DNase-seq", 7 | "quality_metric_of": ["ENCFF081AVF"], 8 | "lab": "/labs/john-stamatoyannopoulos/", 9 | "award": "/awards/U54HG007010/", 10 | "footprint_count": 5045, 11 | "dispersion_model": "gene_quantification_qc.json" 12 | } 13 | ] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/duplicates_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "7c81414f-a9c0-44ed-87fb-2e2207733d3b", 5 | "uuid": "49a550d0-f701-42ed-a101-e0a1292268d3", 6 | "assay_term_name": "DNase-seq", 7 | "quality_metric_of": [ "1050b698-f505-4ce5-96e5-6909e3a2acc7", "46e82a90-49e5-4c33-afab-9ec90d65faf3" ], 8 | "attachment": "generic_from_star_final_out.txt", 9 | "lab": "/labs/robert-waterston/", 10 | "award": "/awards/U41HG007355/", 11 | "Reads Examined": 22939315, 12 | "Read Duplicates": 1252636, 13 | "Percent Duplication": 0.055817 14 | } 15 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/expected_publication_data_batch_download.tsv: -------------------------------------------------------------------------------- 1 | "http://localhost/metadata/?type=PublicationData&%40id=%2Fpublication-data%2FENCSR727WCB%2F" 2 | http://localhost/files/ENCFF002ENO/@@download/ENCFF002ENO.tsv 3 | http://localhost/files/ENCFF002ENS/@@download/ENCFF002ENS.tsv 4 | http://localhost/files/ENCFF037HIC/@@download/ENCFF037HIC.hic 5 | http://localhost/files/ENCFF002COS/@@download/ENCFF002COS.bed.gz 6 | http://localhost/files/ENCFF003COS/@@download/ENCFF003COS.bigBed -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/filtering_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "7c81414f-a9c0-44ed-87fb-2e2207733d3b", 5 | "uuid": "64d891f8-0cd0-47e6-88d9-f2c20666417f", 6 | "assay_term_name": "DNase-seq", 7 | "quality_metric_of": [ "1050b698-f505-4ce5-96e5-6909e3a2acc7", "46e82a90-49e5-4c33-afab-9ec90d65faf3" ], 8 | "attachment": "generic_from_star_final_out.txt", 9 | "lab": "/labs/robert-waterston/", 10 | "award": "/awards/U41HG007355/", 11 | "pre-filter all reads": 55410550, 12 | "pre-filter mapped reads": 46460519, 13 | "post-filter all reads": 35143010, 14 | "post-filter mapped reads": 35143010 15 | } 16 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/functional_characterization_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "functional characterization series", 4 | "accession": "ENCSR000FCS", 5 | "award": "ENCODE2", 6 | "description": "MPRA experiments series.", 7 | "lab": "thomas-gingeras", 8 | "status": "released", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "references": [ 11 | "9c52b8c0-bdfd-11e4-bb52-0800200c9a66" 12 | ], 13 | "related_datasets": [ 14 | "/experiments/ENCSR222MPR", 15 | "/experiments/ENCSR333MPR" 16 | ], 17 | "uuid": "cc54569d-6a9c-4c47-bd85-9f406a0ddbbc", 18 | "date_released": "2020-01-10" 19 | } 20 | ] 21 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/gene_quantification_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "lab": "/labs/thomas-gingeras/", 5 | "award": "/awards/U54HG007004/", 6 | "step_run": "7c81414f-a9c0-44ed-87fb-2e2207733d3b", 7 | "uuid": "aa0a0168-d36d-4c1c-89ff-b85bb45d9f5b", 8 | "assay_term_name": "RNA-seq", 9 | "quality_metric_of": [ "ENCFF413RGP" ], 10 | "number_of_genes_detected": 783 11 | } 12 | ] 13 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/gene_silencing_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "gene silencing series", 4 | "accession": "ENCSR001GSS", 5 | "award": "UM1HG009390", 6 | "description": "Gene silencing series.", 7 | "lab": "tim-reddy", 8 | "status": "released", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR611ZAL", 12 | "/experiments/ENCSR001EPI" 13 | ], 14 | "uuid": "c0114093-5696-43f6-9a8d-b1b19072e846", 15 | "date_released": "2020-09-28" 16 | } 17 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/histone_chipseq_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "nreads": 29125217, 4 | "nreads_in_peaks": 3481409, 5 | "npeak_overlap": 27796, 6 | "Ft": 0.1195324656293548, 7 | "assay_term_name": "ChIP-seq", 8 | "quality_metric_of": ["ENCFF001MXB"], 9 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 10 | "uuid": "0f0951c2-f306-40e9-ad6c-1ad066e4ad78", 11 | "status": "in progress", 12 | "lab": "bradley-bernstein", 13 | "award": "U54HG006991" 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/mad_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "lab": "/labs/robert-waterston/", 5 | "award": "/awards/U41HG007355/", 6 | "step_run": "7c81414f-a9c0-44ed-87fb-2e2207733d3b", 7 | "uuid": "d0bc520f-1421-4993-9451-89f274afaa71", 8 | "assay_term_name": "RNA-seq", 9 | "quality_metric_of": [ "46e82a90-49e5-4c33-afab-9ec90d65faf3", "e6addc7e-0320-4e11-8351-69e9b9cc08dc" ], 10 | "attachment": "generic_from_mad_plot.png", 11 | "MAD of log ratios": 1.377, 12 | "Pearson correlation": 0.630935, 13 | "SD of log ratios": 1.974, 14 | "Spearman correlation": 0.6782071 15 | } 16 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/manatee_donor.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "accession": "ENCDO001TEE", 4 | "award": "U41HG006992", 5 | "lab": "j-michael-cherry", 6 | "organism": "manatee", 7 | "uuid": "a033440c-0007-4f43-9fad-4cec7df4cd03" 8 | } 9 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/multiomics_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "multiomics series", 4 | "analyses": ["ENCAN050LQR"], 5 | "accession": "ENCSR001MUL", 6 | "award": "UM1HG009390", 7 | "description": "Multiomics series.", 8 | "lab": "ali-mortazavi", 9 | "status": "in progress", 10 | "submitted_by": "facilisi.tristique@potenti.vivamus", 11 | "related_datasets": [ 12 | "/experiments/ENCSR000LSC", 13 | "/experiments/ENCSR000SSC" 14 | ], 15 | "uuid": "2ca86d6c-5081-4f85-9279-e8b89687d646", 16 | "date_released": "2020-09-11" 17 | } 18 | ] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/pulse_chase_time_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "pulse chase time series", 4 | "accession": "ENCSR001PCT", 5 | "award": "UM1HG009390", 6 | "description": "Pulse chase time series.", 7 | "lab": "ali-mortazavi", 8 | "status": "in progress", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR200BRU", 12 | "/experiments/ENCSR600BRU" 13 | ], 14 | "uuid": "c5917215-ccc7-465d-85e7-cd87b8feaba3", 15 | "date_released": "2020-09-11" 16 | } 17 | ] 18 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | 3 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/replication_timing_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "replication timing series", 4 | "accession": "ENCSR300REP", 5 | "award": "ENCODE2", 6 | "description": "Replication timing series Repli-seq on the SK-N-SH cell line.", 7 | "lab": "john-stamatoyannopoulos", 8 | "status": "released", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR001REP", 12 | "/experiments/ENCSR002REP", 13 | "/experiments/ENCSR003REP" 14 | ], 15 | "uuid": "af29c3e8-beb4-435a-b60f-cafc2ee190c7", 16 | "date_released": "2016-01-01" 17 | } 18 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/scrna_seq_counts_summary_quality_metric.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "status": "released", 4 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 5 | "uuid": "60ec3b4b-6068-488a-8384-07ccf74c9943", 6 | "assay_term_name": "single-cell RNA sequencing assay", 7 | "quality_metric_of": ["ENCFF789ARC"], 8 | "lab": "/labs/john-stamatoyannopoulos/", 9 | "award": "/awards/U54HG007010/", 10 | "total_counts_vs_pct_mitochondria": "generic_from_mad_plot.png", 11 | "total_counts_vs_genes_by_count": "generic_from_mad_plot.png", 12 | "counts_violin_plot": "generic_from_mad_plot.png" 13 | } 14 | ] 15 | -------------------------------------------------------------------------------- /src/encoded/tests/data/inserts/treatment_time_series.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "_test": "treatment time series", 4 | "accession": "ENCSR300TIM", 5 | "award": "ENCODE2", 6 | "description": "Treatment time series involving TCF4 ChIP-seq on A549 cell line treated with 100 nM dexamethasone.", 7 | "lab": "john-stamatoyannopoulos", 8 | "status": "released", 9 | "submitted_by": "facilisi.tristique@potenti.vivamus", 10 | "related_datasets": [ 11 | "/experiments/ENCSR001SER", 12 | "/experiments/ENCSR002SER", 13 | "/experiments/ENCSR003SER" 14 | ], 15 | "uuid": "467c72a2-4f84-4c8f-96b0-ec8715e28185", 16 | "date_released": "2016-01-01" 17 | } 18 | ] -------------------------------------------------------------------------------- /src/encoded/tests/data/upload_credentials/external_bucket_list_empty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/data/upload_credentials/external_bucket_list_empty -------------------------------------------------------------------------------- /src/encoded/tests/data/upload_credentials/external_bucket_list_many: -------------------------------------------------------------------------------- 1 | test-bucket-one 2 | test-bucket-two 3 | test-bucket-three 4 | -------------------------------------------------------------------------------- /src/encoded/tests/data/upload_credentials/external_bucket_list_one: -------------------------------------------------------------------------------- 1 | test-bucket-one 2 | -------------------------------------------------------------------------------- /src/encoded/tests/features/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/tests/features/__init__.py -------------------------------------------------------------------------------- /src/encoded/tests/features/batch_hubs.feature: -------------------------------------------------------------------------------- 1 | @batchhubs 2 | Feature: Batch Hubs 3 | Background: 4 | When I visit "/search/?type=Experiment&status=released" 5 | And I wait for the content to load 6 | 7 | 8 | Scenario: Batch Visualize 9 | When I press "visualize-control" 10 | Then I should see "Open visualization browser" 11 | And I should see 8 elements with the css selector ".browser-selector__assembly-option" 12 | And I should see 10 elements with the css selector ".browser-selector__browser" 13 | 14 | When I press "Close" 15 | Then I should not see "Open visualization browser" 16 | -------------------------------------------------------------------------------- /src/encoded/tests/features/matrix_deeply_profiled_uniform_batch.feature: -------------------------------------------------------------------------------- 1 | @matrix 2 | Feature: Title 3 | 4 | Scenario: Title updates 5 | When I visit "/" 6 | And I wait for the content to load 7 | Then the title should contain the text "ENCODE" 8 | When I press "Data" 9 | And I click the link with text that contains "Deeply profiled cell lines" 10 | And I wait for the content to load 11 | Then the title should contain the text "Deeply Profiled Cell Lines – ENCODE" 12 | -------------------------------------------------------------------------------- /src/encoded/tests/features/matrix_sescc_stem_cell.feature: -------------------------------------------------------------------------------- 1 | @matrix 2 | Feature: Matrix 3 | Scenario: SESCC-Stem-Cell-Matrix 4 | When I visit "/" 5 | And I wait for the content to load 6 | Then the title should contain the text "ENCODE" 7 | 8 | When I press "Data" 9 | And I click the link with text that contains "Stem cell differentiation" 10 | And I wait for the content to load 11 | Then the title should contain the text "Stem cell differentiation" 12 | -------------------------------------------------------------------------------- /src/encoded/tests/features/no_at_type.feature: -------------------------------------------------------------------------------- 1 | @search 2 | Feature: Search 3 | Background: 4 | When I visit "/searchv2_raw/?type=Experiment" 5 | And I wait for the content to load 6 | 7 | 8 | Scenario: Search 9 | Then I should see 1 elements with the css selector ".view-detail.panel pre" 10 | And I should not see "Server Rendering Error" 11 | -------------------------------------------------------------------------------- /src/encoded/tests/features/page.feature: -------------------------------------------------------------------------------- 1 | @page 2 | Feature: Portal pages 3 | 4 | Scenario: Render page layout 5 | When I visit "/pages/testpage/" 6 | And I wait for the content to load 7 | Then I should see an element with the css selector "div.layout__block--33" 8 | 9 | Scenario: Override column class 10 | When I visit "/test-section/" 11 | And I wait for the content to load 12 | Then I should see an element with the css selector ".class_override" 13 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_admin_user.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from pytest_bdd import scenarios 3 | 4 | pytestmark = [ 5 | pytest.mark.bdd, 6 | pytest.mark.usefixtures('index_workbook', 'admin_user'), 7 | ] 8 | 9 | 10 | scenarios( 11 | 'page.feature', 12 | strict_gherkin=False, 13 | ) 14 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_audit.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | 12 | def test_auditview(testapp, index_workbook): 13 | res = testapp.get('/audit/?type=Experiment') 14 | assert res.json['matrix'] 15 | 16 | 17 | scenarios( 18 | 'audit.feature', 19 | strict_gherkin=False, 20 | ) 21 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_batch_hubs.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'batch_hubs.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_cart_public.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from pytest_bdd import scenarios 3 | 4 | pytestmark = [ 5 | pytest.mark.bdd, 6 | pytest.mark.usefixtures('index_workbook'), 7 | ] 8 | 9 | scenarios( 10 | 'cart_public.feature', 11 | strict_gherkin=False, 12 | ) 13 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_cart_submitter.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from pytest_bdd import scenarios 3 | 4 | pytestmark = [ 5 | pytest.mark.bdd, 6 | pytest.mark.usefixtures('index_workbook', 'submitter_user'), 7 | ] 8 | 9 | scenarios( 10 | 'cart.feature', 11 | strict_gherkin=False, 12 | ) 13 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_encyclopedia.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'encyclopedia.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_home.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'home.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_nodata.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'title.feature', 13 | 'toolbar.feature', 14 | strict_gherkin=False, 15 | ) 16 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_report.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'report.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_series_search.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'series_search.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_single_cell.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'single_cell.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_software.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'software.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_submitter_user.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from pytest_bdd import scenarios 3 | 4 | pytestmark = [ 5 | pytest.mark.bdd, 6 | pytest.mark.usefixtures('index_workbook', 'submitter_user'), 7 | ] 8 | 9 | 10 | scenarios( 11 | 'user.feature', 12 | strict_gherkin=False, 13 | ) 14 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_summary.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'summary.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_views.py: -------------------------------------------------------------------------------- 1 | """ These scenarios do not require the workbook fixture, but get it anyway. 2 | """ 3 | import pytest 4 | from pytest_bdd import scenarios 5 | 6 | pytestmark = [ 7 | pytest.mark.bdd, 8 | pytest.mark.usefixtures('index_workbook'), 9 | ] 10 | 11 | scenarios( 12 | 'views.feature', 13 | strict_gherkin=False, 14 | ) 15 | -------------------------------------------------------------------------------- /src/encoded/tests/features/test_workbook.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from pytest_bdd import scenarios 3 | 4 | pytestmark = [ 5 | pytest.mark.bdd, 6 | pytest.mark.usefixtures('index_workbook'), 7 | ] 8 | 9 | scenarios( 10 | 'antibodies.feature', 11 | 'biosamples.feature', 12 | 'experiments.feature', 13 | 'search.feature', 14 | 'advanced_query_search.feature', 15 | 'targets.feature', 16 | 'no_at_type.feature', 17 | strict_gherkin=False, 18 | ) 19 | -------------------------------------------------------------------------------- /src/encoded/tests/features/title.feature: -------------------------------------------------------------------------------- 1 | @title 2 | Feature: Title 3 | 4 | Scenario: Title updates 5 | When I visit "/" 6 | And I wait for the content to load 7 | Then the title should contain the text "ENCODE" 8 | When I press "Data" 9 | And I click the link to "/search/?type=Experiment&control_type!=*&status=released&perturbed=false" 10 | And I wait for the content to load 11 | Then the title should contain the text "Search – ENCODE" 12 | -------------------------------------------------------------------------------- /src/encoded/tests/features/toolbar.feature: -------------------------------------------------------------------------------- 1 | @toolbar 2 | Feature: Toolbar 3 | 4 | Scenario: Active section 5 | When I visit "/" 6 | #Then I should see an element with the css selector "#global-sections > li.active > a[href='/']" 7 | Then I should not see an element with the css selector "#global-sections > li.active > a:not([href='/'])" 8 | And I should see an element with the css selector "#user-actions-footer > [data-trigger='login']" 9 | And I should see "Search the ENCODE Portal" 10 | -------------------------------------------------------------------------------- /src/encoded/tests/features/user.feature: -------------------------------------------------------------------------------- 1 | Feature: User Profile 2 | 3 | Scenario Outline: View profile 4 | When I visit "/" 5 | And I press "J. Michael Cherry" 6 | 7 | # This stopped working with ENCD-6117. It was commmented out in order to make progress 8 | # This needs to be investigated and addressed in a subsequent ticket 9 | 10 | # And I click the link with text that contains "Profile" 11 | # Then I should see "J. Michael Cherry, Stanford" 12 | # And I should see an element with the css selector ".access-keys__table" 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/chia_pet_peak_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def chia_pet_peak_quality_metric(testapp, award, encode_lab, analysis_step_run_chia_peak_calling, chia_peaks): 6 | item = { 7 | "step_run": analysis_step_run_chia_peak_calling['@id'], 8 | "award": award["uuid"], 9 | "lab": encode_lab["uuid"], 10 | "assay_term_name": 'ChIA-PET', 11 | "quality_metric_of": [chia_peaks['@id']], 12 | "binding_peaks": 7831 13 | } 14 | 15 | return testapp.post_json('/chia_pet_peak_enrichment_quality_metric', item).json['@graph'][0] 16 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/chip_library_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def chip_library_quality_metric_severe_bottlenecking_poor_complexity(testapp, analysis_step_run_chip_encode4, file_bam_1_chip, lab, award): 6 | item = { 7 | 'step_run': analysis_step_run_chip_encode4['@id'], 8 | "quality_metric_of": [file_bam_1_chip['@id']], 9 | 'award': award['@id'], 10 | 'lab': lab['@id'], 11 | 'assay_term_name': 'ChIP-seq', 12 | 'NRF': 0.4, 13 | 'PBC1': 0.35, 14 | 'PBC2': 0 15 | } 16 | 17 | return testapp.post_json('/chip-library-quality-metrics', item).json['@graph'][0] 18 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/chip_peak_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def chip_peak_enrichment_quality_metric_1(award, lab): 6 | return{ 7 | "step_run": "63b1b347-f008-4103-8d20-0e12f54d1882", 8 | "award": award["uuid"], 9 | "lab": lab["uuid"], 10 | "quality_metric_of": ["ENCFF003COS"], 11 | "FRiP": 0.253147998729 12 | } 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/chipseq_filter_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def chipseq_filter_quality_metric(testapp, analysis_step_run_bam, file_bam_1_1, lab, award): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'award': award['@id'], 9 | 'lab': lab['@id'], 10 | 'quality_metric_of': [file_bam_1_1['@id']], 11 | 'NRF': 0.1, 12 | 'PBC1': 0.3, 13 | 'PBC2': 11 14 | } 15 | 16 | return testapp.post_json('/chipseq-filter-quality-metrics', item).json['@graph'][0] 17 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/cpg_correlation_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def cpg_correlation_quality_metric(testapp, analysis_step_run_bam, file_bed_methyl, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'award': award['@id'], 9 | 'lab': lab['@id'], 10 | 'quality_metric_of': [file_bed_methyl['@id']], 11 | 'Pearson correlation': 0.5} 12 | return testapp.post_json('/cpg_correlation_quality_metric', item).json['@graph'][0] 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/dnase_footprinting_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def dnase_footprinting_quality_metric( 6 | testapp, analysis_step_run_dnase_encode4, GRCh38_file, award, lab 7 | ): 8 | item = { 9 | 'step_run': analysis_step_run_dnase_encode4['@id'], 10 | 'quality_metric_of': [GRCh38_file['@id']], 11 | 'footprint_count': 1, 12 | 'award': award['@id'], 13 | 'lab': lab['@id'] 14 | } 15 | 16 | return testapp.post_json( 17 | '/dnase_footprinting_quality_metric', item 18 | ).json['@graph'][0] 19 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/duplicates_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | @pytest.fixture 4 | def duplicates_quality_metric(testapp, analysis_step_run_bam, file_bam_1_1, lab, award): 5 | item = { 6 | 'step_run': analysis_step_run_bam['@id'], 7 | 'quality_metric_of': [file_bam_1_1['@id']], 8 | 'Percent Duplication': 0.23, 9 | 'award': award['@id'], 10 | 'lab': lab['@id'] 11 | } 12 | 13 | return testapp.post_json('/duplicates_quality_metric', item).json['@graph'][0] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/gembs_alignment_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def gembs_quality_metric(testapp, analysis_step_run_bam, file_bam_1_1, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'award': award['@id'], 9 | 'lab': lab['@id'], 10 | 'quality_metric_of': [file_bam_1_1['@id']], 11 | 'conversion_rate': 0.05, 12 | 'average_coverage': 2} 13 | return testapp.post_json('/gembs_alignment_quality_metric', item).json['@graph'][0] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/histone_chipseq_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def histone_chipseq_quality_metric_frip( 6 | testapp, 7 | award, 8 | lab, 9 | analysis_step_run_chip_encode4, 10 | file_bed_narrowPeak_chip_peaks2 11 | ): 12 | item = { 13 | "step_run": analysis_step_run_chip_encode4['@id'], 14 | "award": award["uuid"], 15 | "lab": lab["uuid"], 16 | "assay_term_name": 'ChIP-seq', 17 | "quality_metric_of": [file_bed_narrowPeak_chip_peaks2['@id']], 18 | } 19 | return testapp.post_json( 20 | '/histone-chipseq-quality-metrics', item 21 | ).json['@graph'][0] 22 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/long_read_rna_mapping_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def long_read_rna_mapping_quality_metric_2_1( 6 | testapp, 7 | analysis_step_run_bam, 8 | file_bam_2_1, 9 | award, 10 | lab 11 | ): 12 | item = { 13 | 'step_run': analysis_step_run_bam['@id'], 14 | 'quality_metric_of': [file_bam_2_1['@id']], 15 | 'full_length_non_chimeric_read_count': 500000, 16 | 'mapping_rate': 0.5, 17 | 'award': award['@id'], 18 | 'lab': lab['@id'] 19 | } 20 | return testapp.post_json('/long_read_rna_mapping_quality_metric', item).json['@graph'][0] 21 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/long_read_rna_quantification_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def long_read_rna_quantification_quality_metric_1_2(testapp, analysis_step_run_bam, file_tsv_1_2, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'quality_metric_of': [file_tsv_1_2['@id']], 9 | 'genes_detected': 5000, 10 | 'award': award['@id'], 11 | 'lab': lab['@id'] 12 | } 13 | return testapp.post_json('/long_read_rna_quantification_quality_metric', item).json['@graph'][0] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/mad_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def mad_quality_metric_1_2(testapp, analysis_step_run_bam, file_tsv_1_2, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'quality_metric_of': [file_tsv_1_2['@id']], 9 | 'Spearman correlation': 0.1, 10 | 'MAD of log ratios': 3.1, 11 | 'award': award['@id'], 12 | 'lab': lab['@id'] 13 | } 14 | 15 | return testapp.post_json('/mad_quality_metric', item).json['@graph'][0] 16 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/manatee_donor.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def manatee_donor(lab, award, manatee, testapp): 6 | item = { 7 | 'lab': lab['uuid'], 8 | 'award': award['uuid'], 9 | 'organism': manatee['uuid'], 10 | } 11 | return testapp.post_json('/ManateeDonor', item, status=201).json['@graph'][0] 12 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/micro_rna_mapping_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def micro_rna_mapping_quality_metric_2_1( 6 | testapp, 7 | analysis_step_run_bam, 8 | file_bam_2_1, 9 | award, 10 | lab 11 | ): 12 | item = { 13 | 'step_run': analysis_step_run_bam['@id'], 14 | 'quality_metric_of': [file_bam_2_1['@id']], 15 | 'aligned_reads': 4000000, 16 | 'award': award['@id'], 17 | 'lab': lab['@id'] 18 | } 19 | return testapp.post_json('/micro_rna_mapping_quality_metric', item).json['@graph'][0] 20 | 21 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/micro_rna_quantification_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def micro_rna_quantification_quality_metric_1_2(testapp, analysis_step_run_bam, file_tsv_1_2, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'quality_metric_of': [file_tsv_1_2['@id']], 9 | 'expressed_mirnas': 250, 10 | 'award': award['@id'], 11 | 'lab': lab['@id'] 12 | } 13 | return testapp.post_json('/micro_rna_quantification_quality_metric', item).json['@graph'][0] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/organism_development_series.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def organism_development_series_17(testapp, lab, base_experiment_submitted, award): 6 | item = { 7 | 'award': award['uuid'], 8 | 'lab': lab['uuid'], 9 | 'related_datasets': [base_experiment_submitted['@id']], 10 | 'schema_version': '17', 11 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 12 | } 13 | return item 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/project.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def project_17(testapp, lab, award): 6 | item = { 7 | 'award': award['@id'], 8 | 'lab': lab['@id'], 9 | 'schema_version': '17', 10 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 11 | } 12 | return item 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/replication_timing_series.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def replication_timing_series_17(testapp, lab, base_experiment_submitted, award): 6 | item = { 7 | 'award': award['uuid'], 8 | 'lab': lab['uuid'], 9 | 'related_datasets': [base_experiment_submitted['@id']], 10 | 'schema_version': '17', 11 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 12 | } 13 | return item 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/samtools_stats_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def samtools_stats_quality_metric(testapp, analysis_step_run_bam, file_bam_1_1, award, lab): 6 | item = { 7 | 'step_run': analysis_step_run_bam['@id'], 8 | 'quality_metric_of': [file_bam_1_1['@id']], 9 | 'award': award['@id'], 10 | 'lab': lab['@id'], 11 | 'average length': 100 12 | } 13 | return testapp.post_json('/samtools_stats_quality_metric', item).json['@graph'][0] -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/sc_atac_library_complexity_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def sc_atac_library_complexity_quality_metric_1(analysis_step_run, file, award, lab): 6 | return { 7 | 'award': award['uuid'], 8 | 'lab': lab['uuid'], 9 | 'step_run': analysis_step_run['uuid'], 10 | 'quality_metric_of': [file['uuid']], 11 | 'pct_duplicate_reads': 0.2 12 | } 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/sc_atac_multiplet_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from ...constants import TSV_GZ 3 | 4 | 5 | @pytest.fixture 6 | def sc_atac_multiplet_quality_metric(analysis_step_run, file, award, lab): 7 | return { 8 | 'award': award['uuid'], 9 | 'lab': lab['uuid'], 10 | 'step_run': analysis_step_run['uuid'], 11 | 'quality_metric_of': [file['uuid']], 12 | 'barcode_pairs_expanded': { 13 | 'download': 'test.tsv.gz', 14 | 'type': 'application/x-gzip', 15 | 'href': TSV_GZ 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/treatment_concentration_series.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def treatment_concentration_series(testapp, lab, award): 6 | item = { 7 | 'award': award['uuid'], 8 | 'lab': lab['uuid'], 9 | } 10 | return testapp.post_json('/treatment_concentration_series', item, status=201).json['@graph'][0] 11 | 12 | 13 | @pytest.fixture 14 | def treatment_concentration_series_17(testapp, lab, award): 15 | item = { 16 | 'award': award['uuid'], 17 | 'lab': lab['uuid'], 18 | 'schema_version': '17', 19 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 20 | } 21 | return item 22 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/treatment_time_series.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def treatment_time_series(testapp, lab, award): 6 | item = { 7 | 'award': award['uuid'], 8 | 'lab': lab['uuid'], 9 | } 10 | return testapp.post_json('/treatment_time_series', item, status=201).json['@graph'][0] 11 | 12 | 13 | @pytest.fixture 14 | def treatment_time_series_18(testapp, lab, award): 15 | item = { 16 | 'award': award['uuid'], 17 | 'lab': lab['uuid'], 18 | 'schema_version': '18', 19 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 20 | } 21 | return item 22 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/ucsc_browser_composite.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def ucsc_browser_composite_17(testapp, lab, award): 6 | item = { 7 | 'award': award['@id'], 8 | 'lab': lab['@id'], 9 | 'schema_version': '17', 10 | 'internal_tags': ['ENCYCLOPEDIAv3', 'ENCYCLOPEDIAv4', 'ENCYCLOPEDIAv5', 'ENCYCLOPEDIAv6'] 11 | } 12 | return item 13 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/schemas/worm_donor.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.fixture 5 | def worm_donor(lab, award, worm, testapp): 6 | item = { 7 | 'lab': lab['uuid'], 8 | 'award': award['uuid'], 9 | 'organism': worm['uuid'], 10 | 'dbxrefs': ['CGC:OP520'], 11 | 'genotype': 'blahblahblah' 12 | } 13 | return testapp.post_json('/WormDonor', item, status=201).json['@graph'][0] 14 | -------------------------------------------------------------------------------- /src/encoded/tests/fixtures/testapp.py: -------------------------------------------------------------------------------- 1 | from pytest import fixture 2 | 3 | 4 | @fixture 5 | def anonhtmltestapp(app): 6 | from webtest import TestApp 7 | return TestApp(app) 8 | 9 | 10 | @fixture 11 | def htmltestapp(app): 12 | from webtest import TestApp 13 | environ = { 14 | 'REMOTE_USER': 'TEST', 15 | } 16 | return TestApp(app, environ) 17 | 18 | 19 | @fixture 20 | def submitter_testapp(app): 21 | '''TestApp with JSON accept header for non-admin user. 22 | ''' 23 | from webtest import TestApp 24 | environ = { 25 | 'HTTP_ACCEPT': 'application/json', 26 | 'REMOTE_USER': 'TEST_SUBMITTER', 27 | } 28 | return TestApp(app, environ) -------------------------------------------------------------------------------- /src/encoded/tests/test_audit_conditions.py: -------------------------------------------------------------------------------- 1 | def test_rfa(award, biosample, root): 2 | from ..audit.conditions import rfa 3 | rfa_condition = rfa(award['rfa']) 4 | context = root.get_by_uuid(biosample['uuid']) 5 | system = { 6 | "context": context, 7 | "root": root, 8 | } 9 | assert rfa_condition(biosample, system) 10 | 11 | def test_rfa_file_failure(award, file, root): 12 | from ..audit.conditions import rfa 13 | rfa_condition = rfa('GGR', 'Roadmap') 14 | context = root.get_by_uuid(file['uuid']) 15 | system = { 16 | "context": context, 17 | "root": root, 18 | } 19 | assert rfa_condition(file, system) is False -------------------------------------------------------------------------------- /src/encoded/tests/test_audit_pipeline.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_audit_pipeline_assay_term_names(testapp, pipeline_without_assay_term_names): 5 | res = testapp.get(pipeline_without_assay_term_names['@id'] + '@@index-data') 6 | errors = res.json['audit'] 7 | errors_list = [] 8 | for error_type in errors: 9 | errors_list.extend(errors[error_type]) 10 | assert any(error['category'] == 'missing assay_term_names' for error in errors_list) 11 | -------------------------------------------------------------------------------- /src/encoded/tests/test_audit_treatment.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_audit_treatment_no_purpose(testapp, treatment_12): 5 | res = testapp.get(treatment_12['@id'] + '@@index-data') 6 | errors = res.json['audit'] 7 | errors_list = [] 8 | for error_type in errors: 9 | errors_list.extend(errors[error_type]) 10 | assert any(error['category'] == 'missing treatment purpose' for error in errors_list) 11 | -------------------------------------------------------------------------------- /src/encoded/tests/test_create_mapping.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | from encoded.loadxl import ORDER 3 | 4 | 5 | @pytest.mark.parametrize('item_type', ORDER) 6 | def test_create_mapping(registry, item_type): 7 | from snovault.elasticsearch.create_mapping import type_mapping 8 | from snovault import TYPES 9 | mapping = type_mapping(registry[TYPES], item_type) 10 | assert mapping 11 | -------------------------------------------------------------------------------- /src/encoded/tests/test_edw_hash.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | TEST_HASHES = { 4 | "test": "Jnh+8wNnELksNFVbxkya8RDrxJNL13dUWTXhp5DCx/quTM2/cYn7azzl2Uk3I2zc", 5 | "test2": "sh33L5uQeLr//jJULb7mAnbVADkkWZrgcXx97DCacueGtEU5G2HtqUv73UTS0EI0", 6 | "testing100" * 10: "5rznDSIcDPd/9rjom6P/qkJGtJSV47y/u5+KlkILROaqQ6axhEyVIQTahuBYerLG", 7 | } 8 | 9 | 10 | @pytest.mark.parametrize(('password', 'pwhash'), TEST_HASHES.items()) 11 | def test_edw_hash(password, pwhash): 12 | from encoded.edw_hash import EDWHash 13 | assert EDWHash.hash(password) == pwhash 14 | -------------------------------------------------------------------------------- /src/encoded/tests/test_ontology_slims.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_organ_slims(testapp, biosample_ontology_slim): 5 | res = testapp.post_json('/biosample', biosample_ontology_slim) 6 | location = res.location 7 | item = testapp.get(location + '?frame=embedded').json 8 | assert 'brain' in item['biosample_ontology']['organ_slims'] 9 | -------------------------------------------------------------------------------- /src/encoded/tests/test_reports_csv.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_reports_csv_csv_generator(): 5 | from encoded.reports.csv import CSVGenerator 6 | csv = CSVGenerator() 7 | row = csv.writerow(['a', 'b', '123']) 8 | assert row == b'a\tb\t123\n' 9 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_analysis_step_run.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.mark.parametrize( 5 | 'status', 6 | [ 7 | 'released', 8 | 'in progress', 9 | 'deleted', 10 | ] 11 | ) 12 | def test_analysis_step_run_valid_statuses(status, testapp, analysis_step_run): 13 | testapp.patch_json(analysis_step_run['@id'], {'status': status}) 14 | res = testapp.get(analysis_step_run['@id'] + '@@embedded').json 15 | assert res['status'] == status 16 | 17 | 18 | def test_analysis_step_run_invalid_statuses(testapp, analysis_step_run): 19 | with pytest.raises(Exception): 20 | testapp.patch_json(analysis_step_run['@id'], {'status': 'virtual'}) 21 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_cart.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_cart_released_without_description(testapp, cart_0_0, submitter): 5 | cart_0_0.update({'status': 'released', 'submitted_by': submitter['uuid']}) 6 | testapp.post_json('/cart', cart_0_0, status=422) 7 | cart_0_0.update({'description': 'Released carts must have a description.'}) 8 | testapp.post_json('/cart', cart_0_0, status=201) 9 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_computational_model.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_unique_software(testapp, computational_model_unique_software): 5 | res = testapp.post_json('/computational_model', computational_model_unique_software, expect_errors=True) 6 | assert res.status_code == 201 7 | 8 | def test_non_unique_software(testapp, computational_model_non_unique_software): 9 | res = testapp.post_json('/computational_model',computational_model_non_unique_software, expect_errors=True) 10 | assert res.status_code == 422 11 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_gene.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_gene_assembly_locations(testapp, gene_locations_wrong_assembly): 5 | testapp.post_json('/gene', gene_locations_wrong_assembly, status=422) 6 | gene_locations_wrong_assembly.update({'locations': [{'assembly': 'hg19', 'chromosome': 'chr18', 'start': 47808713, 'end': 47814692}]}) 7 | testapp.post_json('/gene', gene_locations_wrong_assembly, status =201) 8 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_hic_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_hic_qc_single_ended_dependencies(testapp, hic_quality_metric_single_ended_1): 5 | testapp.post_json('/hic_quality_metric', hic_quality_metric_single_ended_1) 6 | 7 | 8 | def test_hic_qc_paired_ended_dependencies(testapp, hic_quality_metric_paired_ended_1): 9 | testapp.post_json('/hic_quality_metric', hic_quality_metric_paired_ended_1) 10 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_pipeline.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | @pytest.mark.parametrize( 5 | 'status', 6 | [ 7 | 'released', 8 | 'in progress', 9 | 'archived', 10 | 'deleted', 11 | 'revoked', 12 | ] 13 | ) 14 | def test_pipeline_valid_statuses(status, testapp, pipeline): 15 | testapp.patch_json(pipeline['@id'], {'status': status}) 16 | res = testapp.get(pipeline['@id'] + '@@embedded').json 17 | assert res['status'] == status 18 | 19 | 20 | def test_pipeline_invalid_statuses(testapp, pipeline): 21 | with pytest.raises(Exception): 22 | testapp.patch_json(pipeline['@id'], {'status': 'active'}) 23 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_publication_data.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_publication_data(testapp, publication_data_no_references, publication): 5 | testapp.post_json('/publication_data', publication_data_no_references, status=422) 6 | publication_data_no_references.update({'references': [publication['@id']]}) 7 | testapp.post_json('/publication_data', publication_data_no_references, status=201) 8 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_reference.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_reference_elements_selection_method(testapp, reference): 5 | reference.update({'reference_type': 'index', 'elements_selection_method': ['accessible genome regions']}) 6 | testapp.post_json('/reference', reference, status=422) 7 | reference.update({'reference_type': 'functional elements', 'elements_selection_method': ['accessible genome regions']}) 8 | testapp.post_json('/reference', reference, status=201) 9 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_replicate.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_replicate_rbns_post(testapp, replicate_rbns): 5 | testapp.post_json('/replicate', replicate_rbns) 6 | 7 | 8 | def test_replicate_rbns_unit_requirement(testapp, replicate_rbns_no_units): 9 | testapp.post_json('/replicate', replicate_rbns_no_units, status=422) 10 | -------------------------------------------------------------------------------- /src/encoded/tests/test_schema_treatment.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_treatment_patch_prod_source(testapp, treatment_5): 5 | testapp.patch_json( 6 | treatment_5['@id'], 7 | { 8 | 'treatment_term_name': 'ethanol', 9 | 'treatment_type': 'chemical' 10 | }, 11 | status=200, 12 | ) 13 | def test_treatment_patch_amount_units(testapp, treatment_5): 14 | testapp.patch_json( 15 | treatment_5['@id'], 16 | { 17 | 'treatment_type': 'injection', 18 | 'amount': 20, 19 | 'amount_units': 'μg/kg' 20 | }, 21 | status=200, 22 | ) -------------------------------------------------------------------------------- /src/encoded/tests/test_types_pipeline.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_analysis_step_name_calcprop(testapp, analysis_step): 5 | assert analysis_step['@id'] == '/analysis-steps/fastqc-step-v-1/' 6 | assert analysis_step['name'] == 'fastqc-step-v-1' 7 | assert analysis_step['major_version'] == 1 8 | 9 | 10 | def test_analysis_step_version_name_calcprop(testapp, analysis_step, analysis_step_version): 11 | assert analysis_step_version['minor_version'] == 0 12 | assert analysis_step_version['name'] == 'fastqc-step-v-1-0' 13 | assert analysis_step_version['@id'] == '/analysis-step-versions/fastqc-step-v-1-0/' 14 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_access_key.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_access_key_upgrade(upgrader, access_key_1): 5 | value = upgrader.upgrade('access_key', access_key_1, target_version='2') 6 | assert value['schema_version'] == '2' 7 | assert value['status'] == 'current' 8 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_analysis_step_version.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_analysis_step_version_3_4(upgrader, analysis_step_version_3): 5 | # http://redmine.encodedcc.org/issues/4987 6 | # Allow minor versions to start from 0, was previously defaulted to 1. The first version of a step should start as #.0 not #.1 7 | value = upgrader.upgrade('analysis_step_version', analysis_step_version_3, current_version='3', target_version='4') 8 | assert value['schema_version'] == '4' 9 | assert 'version' not in value 10 | assert 'minor_version' in value 11 | assert value['minor_version'] == 0 12 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_atac_alignment_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | def test_upgrade_atac_alignment_enrichment_quality_metric_1_2( 2 | upgrader, atac_alignment_enrichment_quality_metric_1 3 | ): 4 | value = upgrader.upgrade( 5 | 'atac_alignment_enrichment_quality_metric', 6 | atac_alignment_enrichment_quality_metric_1, 7 | current_version='1', 8 | target_version='2', 9 | ) 10 | assert value['schema_version'] == '2' 11 | assert 'fri_blacklist' not in value 12 | assert value['fri_exclusion_list'] == 0.0013046877081284722 13 | 14 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_chip_peak_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_upgrade_chip_peak_enrichment_quality_metric_1_2(upgrader, chip_peak_enrichment_quality_metric_1): 5 | value = upgrader.upgrade( 6 | "chip_peak_enrichment_quality_metric", 7 | chip_peak_enrichment_quality_metric_1, 8 | current_version="1", 9 | target_version="2", 10 | ) 11 | assert value["schema_version"] == "2" 12 | assert value.get("frip") == 0.253147998729 13 | assert 'FRiP' not in value 14 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_chip_replication_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_upgrade_chip_replication_quality_metric_1_2(upgrader, chip_replication_quality_metric_1): 5 | value = upgrader.upgrade( 6 | "chip_replication_quality_metric", 7 | chip_replication_quality_metric_1, 8 | current_version="1", 9 | target_version="2", 10 | ) 11 | assert value["schema_version"] == "2" 12 | assert value.get("idr_dispersion_plot") == "ENCFF002DSJ.raw.srt.filt.nodup.srt.filt.nodup.sample.15.SE.tagAlign.gz.cc.plot.pdf" 13 | assert 'IDR_dispersion_plot' not in value -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_gene.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_gene_upgrade_remove_go_annotations( 5 | upgrader, 6 | gene_1, 7 | ): 8 | new_gene = upgrader.upgrade( 9 | 'gene', gene_1, current_version='1', target_version='2' 10 | ) 11 | assert new_gene['schema_version'] == '2' 12 | assert 'go_annotations' not in new_gene 13 | 14 | def test_gene_upgrade_remove_go_annotations( 15 | upgrader, 16 | gene_2, 17 | ): 18 | new_gene = upgrader.upgrade( 19 | 'gene', gene_2, current_version='2', target_version='3' 20 | ) 21 | assert new_gene['schema_version'] == '3' 22 | assert 'locations' not in new_gene 23 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_gene_type_quantification_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_genetic_modification_upgrade_1_2(upgrader, gene_type_quantification_quality_metric_1): 5 | value = upgrader.upgrade('gene_type_quantification_quality_metric', gene_type_quantification_quality_metric_1, 6 | current_version='1', target_version='2') 7 | assert value['schema_version'] == '2' 8 | assert 'protein_coding' in value 9 | assert 'pseudogene' not in value 10 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_hic_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_hic_quality_metric_1_2( 5 | upgrader, hic_quality_metric_paired_ended_2 6 | ): 7 | value = upgrader.upgrade('hic_quality_metric', hic_quality_metric_paired_ended_2, current_version='1', target_version='2') 8 | assert value['run_type'] == 'paired-ended' 9 | value = upgrader.upgrade('hic_quality_metric', hic_quality_metric_paired_ended_2, current_version='1', target_version='2') 10 | assert 'chimeric_ambiguous' not in value 11 | assert '3_or_more_alignments' in value 12 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_hotspot_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_upgrade_hotspot_quality_metric_8_9(upgrader, hotspot_quality_metric_8): 5 | value = upgrader.upgrade( 6 | 'hotspot_quality_metric', 7 | hotspot_quality_metric_8, 8 | current_version='8', 9 | target_version='9', 10 | ) 11 | assert value['schema_version'] == '9' 12 | assert 'SPOT1 score' not in value 13 | assert value['spot1_score'] == 0.5555 14 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_lab.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_lab_upgrade(upgrader, lab_1_0): 5 | value = upgrader.upgrade('lab', lab_1_0, target_version='2') 6 | assert value['schema_version'] == '2' 7 | assert value['status'] == 'current' 8 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_sc_atac_library_complexity_quality_metric.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_sc_atac_library_complexity_quality_metric_1_2(upgrader, sc_atac_library_complexity_quality_metric_1): 5 | value = upgrader.upgrade('sc_atac_library_complexity_quality_metric', sc_atac_library_complexity_quality_metric_1, current_version='1', target_version='2') 6 | assert 'pct_duplicate_reads' not in value 7 | assert 'frac_duplicate_reads' in value 8 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_star_qc.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_star_quality_metric_upgrade(registry, star_quality_metric_0, 5 | bam_file, lab, award): 6 | from snovault import UPGRADER 7 | upgrader = registry[UPGRADER] 8 | value = upgrader.upgrade('star_quality_metric', 9 | star_quality_metric_0, registry=registry, 10 | current_version='2', target_version='3') 11 | assert value['lab'] == lab['@id'] and value['award'] == award['@id'] 12 | -------------------------------------------------------------------------------- /src/encoded/tests/test_upgrade_transgenic_enhancer_experiment.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | 4 | def test_transgenic_enhancer_experiment_upgrade_1_to_2(upgrader, transgenic_enhancer_experiment): 5 | value = upgrader.upgrade('transgenic_enhancer_experiment', transgenic_enhancer_experiment, current_version='1', target_version='2') 6 | assert value['schema_version'] == '2' 7 | assert value['assay_term_name'] == 'enhancer reporter assay' 8 | -------------------------------------------------------------------------------- /src/encoded/types/rna_expression.py: -------------------------------------------------------------------------------- 1 | from pyramid.security import DENY_ALL 2 | from snovault import collection 3 | from snovault import load_schema 4 | 5 | from .base import Item 6 | 7 | 8 | @collection( 9 | name='rna-expressions', 10 | acl=[ 11 | DENY_ALL, 12 | ] 13 | ) 14 | class RNAExpression(Item): 15 | item_type = 'rna-expression' 16 | schema = load_schema('encoded:schemas/rna_expression.json') 17 | -------------------------------------------------------------------------------- /src/encoded/upgrade/access_key.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('access_key', '', '2') 5 | def access_key_0_2(value, system): 6 | # http://encode.stanford.edu/issues/1295 7 | value['status'] = 'current' 8 | -------------------------------------------------------------------------------- /src/encoded/upgrade/analysis_step_version.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('analysis_step_version', '3', '4') 5 | def analysis_step_version_3_4(value, system): 6 | # http://redmine.encodedcc.org/issues/4987 7 | if 'version' in value: 8 | if value['version'] > 0: 9 | value['minor_version'] = value['version'] - 1 10 | else: 11 | value['minor_version'] = 0 12 | value.pop('version', None) 13 | 14 | # http://redmine.encodedcc.org/issues/5050 15 | 16 | if value.get('status') == 'replaced': 17 | value['status'] = 'deleted' 18 | -------------------------------------------------------------------------------- /src/encoded/upgrade/atac_alignment_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | import json 2 | 3 | from snovault import upgrade_step 4 | 5 | 6 | @upgrade_step('atac_alignment_enrichment_quality_metric', '1', '2') 7 | def atac_alignment_enrichment_quality_metric_1_2(value, system): 8 | if 'fri_blacklist' in value: 9 | value['fri_exclusion_list'] = value['fri_blacklist'] 10 | value.pop('fri_blacklist') 11 | -------------------------------------------------------------------------------- /src/encoded/upgrade/cart.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('cart', '', '2') 5 | def cart_0_2(value, system): 6 | if 'file_views' not in value: 7 | value['file_views'] = [] 8 | 9 | 10 | @upgrade_step('cart', '1', '2') 11 | def cart_1_2(value, system): 12 | if 'file_views' not in value: 13 | value['file_views'] = [] 14 | 15 | 16 | @upgrade_step('cart', '2', '3') 17 | def cart_2_3(value, system): 18 | if value['status'] in ['disabled', 'current']: 19 | value['status'] = 'unlisted' 20 | -------------------------------------------------------------------------------- /src/encoded/upgrade/chip_peak_enrichment_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step 4 | ) 5 | 6 | @upgrade_step('chip_peak_enrichment_quality_metric', '1', '2') 7 | def chip_peak_enrichment_quality_metric_1_2(value, system): 8 | if 'FRiP' in value: 9 | value['frip'] = value['FRiP'] 10 | value.pop('FRiP') 11 | -------------------------------------------------------------------------------- /src/encoded/upgrade/chip_replication_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step 4 | ) 5 | @upgrade_step('chip_replication_quality_metric', '1', '2') 6 | def chip_peak_enrichment_quality_metric_1_2(value, system): 7 | if 'IDR_dispersion_plot' in value: 8 | value['idr_dispersion_plot'] = value['IDR_dispersion_plot'] 9 | value.pop('IDR_dispersion_plot') 10 | -------------------------------------------------------------------------------- /src/encoded/upgrade/complexity_xcorr_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('complexity_xcorr_quality_metric', '3', '4') 8 | def complexity_xcorr_quality_metric_3_4(value, system): 9 | return 10 | 11 | 12 | @upgrade_step('complexity_xcorr_quality_metric', '4', '5') 13 | def complexity_xcorr_quality_metric_4_5(value, system): 14 | # http://redmine.encodedcc.org/issues/2491 15 | if 'assay_term_id' in value: 16 | del value['assay_term_id'] 17 | 18 | if 'notes' in value: 19 | if value['notes']: 20 | value['notes'] = value['notes'].strip() 21 | else: 22 | del value['notes'] 23 | -------------------------------------------------------------------------------- /src/encoded/upgrade/correlation_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('correlation_quality_metric', '3', '4') 8 | def correlation_quality_metric_3_4(value, system): 9 | return 10 | 11 | 12 | @upgrade_step('correlation_quality_metric', '4', '5') 13 | def correlation_quality_metric_4_5(value, system): 14 | # http://redmine.encodedcc.org/issues/2491 15 | if 'assay_term_id' in value: 16 | del value['assay_term_id'] 17 | 18 | if 'notes' in value: 19 | if value['notes']: 20 | value['notes'] = value['notes'].strip() 21 | else: 22 | del value['notes'] 23 | -------------------------------------------------------------------------------- /src/encoded/upgrade/duplicates_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('duplicates_quality_metric', '3', '4') 8 | def duplicates_quality_metric_3_4(value, system): 9 | # http://redmine.encodedcc.org/issues/2491 10 | if 'assay_term_id' in value: 11 | del value['assay_term_id'] 12 | 13 | if 'notes' in value: 14 | if value['notes']: 15 | value['notes'] = value['notes'].strip() 16 | else: 17 | del value['notes'] 18 | -------------------------------------------------------------------------------- /src/encoded/upgrade/edwbamstats_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('edwbamstats_quality_metric', '3', '4') 8 | def edwbamstats_quality_metric_3_4(value, system): 9 | return 10 | 11 | 12 | @upgrade_step('edwbamstats_quality_metric', '4', '5') 13 | def edwbamstats_quality_metric_4_5(value, system): 14 | # http://redmine.encodedcc.org/issues/2491 15 | if 'assay_term_id' in value: 16 | del value['assay_term_id'] 17 | 18 | if 'notes' in value: 19 | if value['notes']: 20 | value['notes'] = value['notes'].strip() 21 | else: 22 | del value['notes'] 23 | -------------------------------------------------------------------------------- /src/encoded/upgrade/filtering_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('filtering_quality_metric', '3', '4') 8 | def filtering_quality_metric_3_4(value, system): 9 | return 10 | 11 | 12 | @upgrade_step('filtering_quality_metric', '4', '5') 13 | def filtering_quality_metric_4_5(value, system): 14 | # http://redmine.encodedcc.org/issues/2491 15 | if 'assay_term_id' in value: 16 | del value['assay_term_id'] 17 | 18 | if 'notes' in value: 19 | if value['notes']: 20 | value['notes'] = value['notes'].strip() 21 | else: 22 | del value['notes'] 23 | -------------------------------------------------------------------------------- /src/encoded/upgrade/gene.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('gene', '1', '2') 5 | def gene_1_2(value, system): 6 | # https://encodedcc.atlassian.net/browse/ENCD-5005 7 | # go_annotations are replaced by a link on UI to GO 8 | value.pop('go_annotations', None) 9 | 10 | @upgrade_step('gene', '2', '3') 11 | def gene_2_3(value, system): 12 | # https://encodedcc.atlassian.net/browse/ENCD-6228 13 | if value.get('locations') == []: 14 | value.pop('locations', None) 15 | -------------------------------------------------------------------------------- /src/encoded/upgrade/lab.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('lab', '', '2') 5 | def lab_0_2(value, system): 6 | # http://redmine.encodedcc.org/issues/1295 7 | # http://redmine.encodedcc.org/issues/1307 8 | 9 | if 'status' in value: 10 | value['status'] = value['status'].lower() 11 | 12 | 13 | @upgrade_step('lab', '2', '3') 14 | def lab_2_3(value, system): 15 | # http://redmine.encodedcc.org/issues/3063 16 | if 'awards' in value: 17 | value['awards'] = list(set(value['awards'])) 18 | -------------------------------------------------------------------------------- /src/encoded/upgrade/page.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('page', '', '2') 5 | def page_0_2(value, system): 6 | # http://redmine.encodedcc.org/issues/4570 7 | 8 | allowedKeywords = [ 9 | "3D chromatin structure", 10 | "DNA accessibility", 11 | "DNA binding", 12 | "DNA methylation", 13 | "Transcription", 14 | "RNA binding", 15 | "Genotyping", 16 | "Proteomics", 17 | "Conferences", 18 | "Encyclopedia", 19 | "Replication Timing", 20 | "DNA sequencing" 21 | ] 22 | if 'news_keywords' in value: 23 | value['news_keywords'] = [kw for kw in value['news_keywords'] if kw in allowedKeywords] 24 | -------------------------------------------------------------------------------- /src/encoded/upgrade/sc_atac_library_complexity_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('sc_atac_library_complexity_quality_metric', '1', '2') 5 | def sc_atac_library_complexity_quality_metric_1_2(value, system): 6 | # https://encodedcc.atlassian.net/browse/ENCD-6183 7 | if 'pct_duplicate_reads' in value: 8 | value['frac_duplicate_reads'] = value.pop('pct_duplicate_reads') 9 | -------------------------------------------------------------------------------- /src/encoded/upgrade/transgenic_enhancer_assay.py: -------------------------------------------------------------------------------- 1 | from snovault import upgrade_step 2 | 3 | 4 | @upgrade_step('transgenic_enhancer_experiment', '1', '2') 5 | def transgenic_enhancer_experiment_1_2(value, system): 6 | value['assay_term_name'] = 'enhancer reporter assay' 7 | -------------------------------------------------------------------------------- /src/encoded/upgrade/trimming_quality_metric.py: -------------------------------------------------------------------------------- 1 | from snovault import ( 2 | CONNECTION, 3 | upgrade_step, 4 | ) 5 | 6 | 7 | @upgrade_step('trimming_quality_metric', '3', '4') 8 | def trimming_quality_metric_3_4(value, system): 9 | return 10 | 11 | 12 | @upgrade_step('trimming_quality_metric', '4', '5') 13 | def trimming_quality_metric_4_5(value, system): 14 | # http://redmine.encodedcc.org/issues/2491 15 | if 'assay_term_id' in value: 16 | del value['assay_term_id'] 17 | 18 | if 'notes' in value: 19 | if value['notes']: 20 | value['notes'] = value['notes'].strip() 21 | else: 22 | del value['notes'] 23 | -------------------------------------------------------------------------------- /src/encoded/upgrade/upgrade_data/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ENCODE-DCC/encoded/5c29ad5b94ae582880653a6caec432f304e80613/src/encoded/upgrade/upgrade_data/__init__.py -------------------------------------------------------------------------------- /wsgi/production-indexer/production_indexer.py: -------------------------------------------------------------------------------- 1 | import configparser 2 | from logging.config import fileConfig 3 | from pathlib import Path 4 | 5 | from paste.deploy import loadapp 6 | 7 | configfile = str(Path(__file__).resolve().parents[2] / "production.ini") 8 | 9 | try: 10 | fileConfig(configfile) 11 | except configparser.NoSectionError: 12 | pass 13 | 14 | application = loadapp("config:" + configfile, name="indexer") 15 | -------------------------------------------------------------------------------- /wsgi/production-visindexer/production_visindexer.py: -------------------------------------------------------------------------------- 1 | import configparser 2 | from logging.config import fileConfig 3 | from pathlib import Path 4 | 5 | from paste.deploy import loadapp 6 | 7 | configfile = str(Path(__file__).resolve().parents[2] / "production.ini") 8 | 9 | try: 10 | fileConfig(configfile) 11 | except configparser.NoSectionError: 12 | pass 13 | 14 | application = loadapp("config:" + configfile, name="visindexer") 15 | -------------------------------------------------------------------------------- /wsgi/production/production.py: -------------------------------------------------------------------------------- 1 | import configparser 2 | from logging.config import fileConfig 3 | from pathlib import Path 4 | 5 | from paste.deploy import loadapp 6 | 7 | configfile = str(Path(__file__).resolve().parents[2] / "production.ini") 8 | 9 | try: 10 | fileConfig(configfile) 11 | except configparser.NoSectionError: 12 | pass 13 | 14 | application = loadapp("config:" + configfile, name=None) 15 | --------------------------------------------------------------------------------