Skip to content

Commit

Permalink
Add Custom Default Annotation Value Filters at Project Level
Browse files Browse the repository at this point in the history
These override the Search level Default Annotation Value Filters set in
the Proxl XML file and set at import.
  • Loading branch information
danjasuw committed Jun 20, 2019
1 parent 1901552 commit 7193993
Show file tree
Hide file tree
Showing 59 changed files with 3,827 additions and 93 deletions.
Binary file not shown.
102 changes: 99 additions & 3 deletions database_scripts/install/create_empty_database.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2559,9 +2559,101 @@ CREATE TABLE proxl_xml_file_import_submit_import_program_key_per_user_history (
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- -----------------------------------------------------
-- Table project_level_default_fltr_ann_cutoffs_tbl
-- -----------------------------------------------------
DROP TABLE IF EXISTS project_level_default_fltr_ann_cutoffs_tbl ;

CREATE TABLE project_level_default_fltr_ann_cutoffs_tbl (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
project_id INT(10) UNSIGNED NOT NULL,
search_program_name VARCHAR(200) NOT NULL,
psm_peptide_type ENUM('psm', 'peptide', 'psm_per_peptide') NOT NULL,
annotation_type_name VARCHAR(255) NOT NULL,
annotation_cutoff_value DOUBLE NOT NULL,
created_auth_user_id INT UNSIGNED NOT NULL,
created_date_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_updated_auth_user_id INT NOT NULL,
last_updated_date_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'User Entered Annotation Cutoffs that apply to all searches in the project';

CREATE UNIQUE INDEX unique_record_index ON project_level_default_fltr_ann_cutoffs_tbl (project_id ASC, search_program_name ASC, psm_peptide_type ASC, annotation_type_name ASC);


-- -----------------------------------------------------
-- Table project_level_default_fltr_ann_cutoffs_cutoff_as_string_tbl
-- -----------------------------------------------------
DROP TABLE IF EXISTS project_level_default_fltr_ann_cutoffs_cutoff_as_string_tbl ;

CREATE TABLE project_level_default_fltr_ann_cutoffs_cutoff_as_string_tbl (
project_level_default_fltr_ann_cutoffs_id INT(10) UNSIGNED NOT NULL,
annotation_cutoff_value_string VARCHAR(45) NOT NULL,
PRIMARY KEY (project_level_default_fltr_ann_cutoffs_id),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_as_str_fk
FOREIGN KEY (project_level_default_fltr_ann_cutoffs_id)
REFERENCES project_level_default_fltr_ann_cutoffs_tbl (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table project_level_default_fltr_ann_cutoffs_prev_tbl
-- -----------------------------------------------------
DROP TABLE IF EXISTS project_level_default_fltr_ann_cutoffs_prev_tbl ;

CREATE TABLE project_level_default_fltr_ann_cutoffs_prev_tbl (
id INT(10) UNSIGNED NOT NULL,
project_id INT(10) UNSIGNED NOT NULL,
psm_peptide_type ENUM('psm', 'peptide', 'psm_per_peptide') NOT NULL,
search_program_name VARCHAR(200) NOT NULL,
annotation_type_name VARCHAR(255) NOT NULL,
annotation_cutoff_value DOUBLE NOT NULL,
created_auth_user_id INT UNSIGNED NOT NULL,
created_date_time DATETIME NOT NULL,
last_updated_auth_user_id INT NOT NULL,
last_updated_date_time DATETIME NOT NULL,
id_prev_record INT NOT NULL AUTO_INCREMENT,
copy_create_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id_prev_record),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_prv
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Prev data - User Entered Annotation Cutoffs that apply to all searches in the project';

CREATE INDEX id_idex ON project_level_default_fltr_ann_cutoffs_prev_tbl (id ASC);


-- -----------------------------------------------------
-- Table project_level_default_fltr_ann_cutoffs_cutoff_as_string_prev_tbl
-- -----------------------------------------------------
DROP TABLE IF EXISTS project_level_default_fltr_ann_cutoffs_cutoff_as_string_prev_tbl ;

CREATE TABLE project_level_default_fltr_ann_cutoffs_cutoff_as_string_prev_tbl (
project_level_default_fltr_ann_cutoffs_id INT(10) UNSIGNED NOT NULL,
annotation_cutoff_value_string VARCHAR(45) NOT NULL,
id_prev_record INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
project_id INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (id_prev_record),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_as_str_prev_fk
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX prj_lvl_dfltfltr_ann_ctffs_as_str_prev_fk_idx ON project_level_default_fltr_ann_cutoffs_cutoff_as_string_prev_tbl (project_id ASC);



DELIMITER $$
Expand All @@ -2583,3 +2675,7 @@ END$$

DELIMITER ;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@

-- 2019_06_Update_1__add__project_level_default_fltr_ann_cutoffs.txt

CREATE TABLE project_level_default_fltr_ann_cutoffs_tbl (
id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
project_id INT(10) UNSIGNED NOT NULL,
search_program_name VARCHAR(200) NOT NULL,
psm_peptide_type ENUM('psm', 'peptide', 'psm_per_peptide') NOT NULL,
annotation_type_name VARCHAR(255) NOT NULL,
annotation_cutoff_value DOUBLE NOT NULL,
created_auth_user_id INT UNSIGNED NOT NULL,
created_date_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
last_updated_auth_user_id INT NOT NULL,
last_updated_date_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE INDEX unique_record_index (project_id ASC, search_program_name ASC, psm_peptide_type ASC, annotation_type_name ASC),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'User Entered Annotation Cutoffs that apply to all searches i' /* comment truncated */ /*n the project*/;


CREATE TABLE project_level_default_fltr_ann_cutoffs_cutoff_as_string_tbl (
project_level_default_fltr_ann_cutoffs_id INT(10) UNSIGNED NOT NULL,
annotation_cutoff_value_string VARCHAR(45) NOT NULL,
PRIMARY KEY (project_level_default_fltr_ann_cutoffs_id),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_as_str_fk
FOREIGN KEY (project_level_default_fltr_ann_cutoffs_id)
REFERENCES project_level_default_fltr_ann_cutoffs_tbl (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB;


CREATE TABLE project_level_default_fltr_ann_cutoffs_prev_tbl (
id INT(10) UNSIGNED NOT NULL,
project_id INT(10) UNSIGNED NOT NULL,
psm_peptide_type ENUM('psm', 'peptide', 'psm_per_peptide') NOT NULL,
search_program_name VARCHAR(200) NOT NULL,
annotation_type_name VARCHAR(255) NOT NULL,
annotation_cutoff_value DOUBLE NOT NULL,
created_auth_user_id INT UNSIGNED NOT NULL,
created_date_time DATETIME NOT NULL,
last_updated_auth_user_id INT NOT NULL,
last_updated_date_time DATETIME NOT NULL,
id_prev_record INT NOT NULL AUTO_INCREMENT,
copy_create_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id_prev_record),
INDEX id_idex (id ASC),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_prv
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Prev data - User Entered Annotation Cutoffs that apply to al' /* comment truncated */ /*l searches in the project*/;

CREATE TABLE project_level_default_fltr_ann_cutoffs_cutoff_as_string_prev_tbl (
project_level_default_fltr_ann_cutoffs_id INT(10) UNSIGNED NOT NULL,
annotation_cutoff_value_string VARCHAR(45) NOT NULL,
id_prev_record INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
project_id INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (id_prev_record),
INDEX prj_lvl_dfltfltr_ann_ctffs_as_str_prev_fk_idx (project_id ASC),
CONSTRAINT prj_lvl_dfltfltr_ann_ctffs_as_str_prev_fk
FOREIGN KEY (project_id)
REFERENCES project (id)
ON DELETE CASCADE
ON UPDATE NO ACTION)
ENGINE = InnoDB;


31 changes: 29 additions & 2 deletions proxl_web_app/front_end/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -159,13 +159,16 @@ task createHandlebarsOutputDirs {

dirToCreate = rootDir + "project_page__saved_views_section"
mkdirSuccess = project.file( dirToCreate ).mkdirs()

dirToCreate = rootDir + "project_page__saved_views_section_loggedin_users"
dirToCreate = rootDir + "project_page__saved_views_section"
mkdirSuccess = project.file( dirToCreate ).mkdirs()

dirToCreate = rootDir + "project_page__share_data_section_loggedin_users"
mkdirSuccess = project.file( dirToCreate ).mkdirs()

dirToCreate = rootDir + "project_page__ann_cutoff_defaults_project_level"
mkdirSuccess = project.file( dirToCreate ).mkdirs()

dirToCreate = rootDir + "project_list"
mkdirSuccess = project.file( dirToCreate ).mkdirs()

Expand Down Expand Up @@ -689,6 +692,29 @@ task handlebarsPrecompile_project_page__share_data_section_loggedin_users(type:
]
}

// Handlebars Precompile for input handlebars_templates/project_page__ann_cutoff_defaults_project_level

task handlebarsPrecompile_project_page__ann_cutoff_defaults_project_level(type: NodeTask) {

def precompile_Input_Directory = "handlebars_templates/project_page__ann_cutoff_defaults_project_level"
def precompile_Output_File = "handlebars_templates_precompiled/project_page__ann_cutoff_defaults_project_level/project_page__ann_cutoff_defaults_project_level_template-bundle.js"

// Gradle Build Avoidance information. Must specify correct inputs and outputs.
inputs.dir( precompile_Input_Directory )
outputs.file( precompile_Output_File )

def osName = System.getProperty("os.name").toLowerCase();
if (osName.contains("windows")) {
script = project.file('node_modules/handlebars/bin/handlebars')
} else {
script = project.file('node_modules/.bin/handlebars')
}
args = [ '--amd' , // parameters must be before file list
'--min',
'-f', precompile_Output_File,
precompile_Input_Directory
]
}

// Handlebars Precompile for input handlebars_templates/project_list

Expand Down Expand Up @@ -844,6 +870,7 @@ task frontEndBuild(type: GradleBuild) {
'handlebarsPrecompile_project_page__share_data_section_loggedin_users',
'handlebarsPrecompile_project_page__saved_views_section',
'handlebarsPrecompile_project_page__saved_views_section_loggedin_users',
'handlebarsPrecompile_project_page__ann_cutoff_defaults_project_level',
'handlebarsPrecompile_save_view',
'handlebarsPrecompile_merged_pages_shared',
'handlebarsPrecompile_peptide_page',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_ann_type_entry.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Root
Annotation Type Entry
--}}

<tr class=" selector_ann_type_containing_row ">
<td style="padding-left: 20px;">{{ annType_Entry.annTypeName }}</td>
<td style="padding-right: 10px;">
<input type="text" maxlength="30" style="width: 150px;"
data-peptide_psm="{{ peptidePSM }}"
data-index_per_type="{{ annType_Entry.indexPerType }}"
data-index_overall="{{ annType_Entry.indexOverall }}"
class=" {{ cssSelectorClasses }} "
value="{{ annType_Entry.existingCutoffValue }}">
</td>
<td>
<div class=" selector_found_values ">
{{#if annType_Entry.foundValuesString }}
Found:
{{ annType_Entry.foundValuesString }}
{{/if}}
</div>
<div class=" error-text selector_invalid_entry " style=" display: none;" >
value has to be a decimal number
</div>
</td>
</tr>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_background.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Background
--}}
<div id="project_page__ann_cutoff_defaults_project_level_overlay_background"
class="project-level-ann-cutoff-defaults-modal-dialog-overlay-background" >
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_peptide_list_header_entry.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Root
Peptide List Entry
--}}
<tr>
<td colspan="3">
<div style="margin-left: 10px; font-weight: bold;">
Peptide filters
</div>
</td>
</tr>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_psm_list_header_entry.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Root
PSM List Entry
--}}
<tr>
<td colspan="3">
<div style="margin-left: 10px; font-weight: bold;">
PSM filters
</div>
</td>
</tr>
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_root.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Root
--}}
<div id="project_page__ann_cutoff_defaults_project_level_overlay_root"
class=" project-level-ann-cutoff-defaults-modal-dialog-overlay-div overlay-outer-div "
style=" width: 600px; " >

<div class="project-level-ann-cutoff-defaults-modal-dialog-overlay-header" style="width:100%; " >

<h1 id="project_page__ann_cutoff_defaults_project_level_x_exit"
class="project-level-ann-cutoff-defaults-modal-dialog-overlay-X-for-exit-overlay "
>X</h1>

<h1 class="project-level-ann-cutoff-defaults-modal-dialog-overlay-header-text" >Set Custom Filters for Project</h1>
</div>
<div class="project-level-ann-cutoff-defaults-modal-dialog-overlay-body selector_project_page__ann_cutoff_defaults_project_level_body "
style="max-height: 630px; overflow-y: auto;">

<div style="margin-top: 10px; margin-bottom: 10px;">
<div >
All data in project will be filtered using these values.
</div>
<div >
Remove all values to disable project-level filtering.
</div>
</div>
<table border="0" id="project_page__ann_cutoff_defaults_project_level_main_table" class=" main-cutoffs-table " >
<tbody >
</tbody>
</table>

<div style="margin-top: 10px;">
<input type="button" value="Save"
id="project_page__ann_cutoff_defaults_project_level_save_button">&nbsp;

<input type="button" value="Cancel"
id="project_page__ann_cutoff_defaults_project_level_cancel_button">
</div>
</div>

</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{{!-- project_page__ann_cutoff_defaults_project_level_overlay_search_program_entry.handlebars in 'project_page__ann_cutoff_defaults_project_level'
Project Page - Set Annotation Defaults at Project Level Overlay Root
Search Program Entry
--}}

<tr>
<td colspan="3">
<div style="margin-top: 10px; margin-bottom: 5px; font-weight: bold;">
{{ dataPerSearchProgramName_Entry.searchProgramName }}
</div>
</td>
</tr>

0 comments on commit 7193993

Please sign in to comment.