Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge discvr-23.7 to discvr-23.11 #144

Merged
merged 34 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
9027662
Use more accurate VCF category
bbimber Oct 27, 2023
0cb902e
Add additional help/tutorial videos
bbimber Oct 27, 2023
f1e5e71
Update annotation categories for mGAP summary
bbimber Oct 27, 2023
828a149
Hide link to video not yet created
bbimber Oct 27, 2023
c15e695
Correct typo
bbimber Oct 28, 2023
4daac3c
Dialog changes (#137)
hextraza Oct 30, 2023
37f0896
Disable variant search links for now
bbimber Oct 30, 2023
d7f6807
Update logic for MCC transfers (#138)
bbimber Nov 1, 2023
aca539b
Update information captured by mGAP users (#139)
bbimber Nov 1, 2023
47de29a
Debug MCC alias cross-folder issues
bbimber Nov 1, 2023
7ff58ba
Improve test coverage for MCC alias cross-folder issues (#140)
bbimber Nov 2, 2023
2934cc9
Add MCC Pedigree query
bbimber Nov 2, 2023
e50446a
Improve mGAP video dialogs
bbimber Nov 3, 2023
c359723
Drop SnpSift in favor of annotating dbNSFP using Funcotator
bbimber Nov 5, 2023
0c4f182
Update logic to replace problem characters for Funcotator fields
bbimber Nov 6, 2023
edd73df
Add another image to version control
bbimber Nov 7, 2023
20e101c
Fix handling of dbNSFP special characters
bbimber Nov 8, 2023
b05683c
Delete funcotator index on failure
bbimber Nov 9, 2023
7e8612d
Add birth to MCC pedigree table
bbimber Nov 15, 2023
1d816b7
Bugfix to automatic resource setting for JBrowseLucenePipelineJob
bbimber Nov 15, 2023
a96f56d
Add fields to MCC query
bbimber Nov 15, 2023
576d925
Switch the mGAP download window to point to the separated symlinks, a…
bbimber Nov 15, 2023
785e9bb
Update mGAP Release download window
bbimber Nov 15, 2023
d8e9d82
Update Annotation table metadata
bbimber Nov 16, 2023
79114f1
Correct SQL error
bbimber Nov 16, 2023
da147c4
Add debugging information to MCC alias assignment
bbimber Nov 23, 2023
d15b6c5
If duplicates aliases are found in MccTest, leave UI on the query
bbimber Nov 25, 2023
29b76b0
MccTest fix
bbimber Nov 25, 2023
ee877a5
Improve tolerance for bad double values in mGapReleaseGenerator
bbimber Nov 26, 2023
028bea9
Improve parsing of polyphen
bbimber Nov 26, 2023
80889cf
Fix MccTest on case-sensitive DBs (#141)
bbimber Nov 27, 2023
181588d
Add columns to track lucene index in mGAP release (#143)
bbimber Nov 28, 2023
7e9a579
Add calculated_status_codes.tsv to PMR
bbimber Nov 30, 2023
42b8a7c
Merge discvr-23.7 to discvr-23.11
bbimber Dec 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions MccColony/resources/queries/study/demographics/.qview.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
</properties>
</column>
<column name="dam"/>
<column name="damMccAlias"/>
<column name="sire"/>
<column name="sireMccAlias"/>
<column name="birth"/>
<column name="death"/>
<column name="species"/>
Expand Down
9 changes: 9 additions & 0 deletions PMR/resources/data/calculated_status_codes.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
code meaning
Alive
Dead
ERROR
No Record
Shipped
u Unknown
Unknown
Fetus
2 changes: 1 addition & 1 deletion PMR/resources/queries/study/pedigree.sql
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ d.id.demographics.species,
'Demographics' as source

FROM study.demographicsParents d
WHERE d.numParents > 0
WHERE d.numParents > 0 and d.id.demographics.species IS NOT NULL
2 changes: 1 addition & 1 deletion PMR/resources/views/populateData.html
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@
},{
label: 'Calculated Status Code',
populateFn: 'populateFromFile',
moduleName: 'ehr',
moduleName: 'pmr',
schemaName: 'ehr_lookups',
queryName: 'calculated_status_codes',
pk: 'rowid'
Expand Down
3 changes: 3 additions & 0 deletions mGAP/resources/etls/prime-seq.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@
<column>sitesOnlyVcfId/name</column>
<column>novelSitesVcfId/dataid/DataFileUrl</column>
<column>novelSitesVcfId/name</column>
<column>luceneIndex/dataid/DataFileUrl</column>
<column>luceneIndex/name</column>
<column>humanJbrowseId</column>
<column>objectId</column>
</sourceColumns>
Expand All @@ -119,6 +121,7 @@
<column source="variantTable/dataid/DataFileUrl" target="variantTable" transformClass="org.labkey.mgap.columnTransforms.OutputFileTransform" />
<column source="sitesOnlyVcfId/dataid/DataFileUrl" target="sitesOnlyVcfId" transformClass="org.labkey.mgap.columnTransforms.OutputFileTransform" />
<column source="novelSitesVcfId/dataid/DataFileUrl" target="novelSitesVcfId" transformClass="org.labkey.mgap.columnTransforms.OutputFileTransform" />
<column source="luceneIndex/dataid/DataFileUrl" target="luceneIndex" transformClass="org.labkey.mgap.columnTransforms.LuceneIndexTransform" />
<column source="jbrowseId" transformClass="org.labkey.mgap.columnTransforms.JBrowseSessionTransform"/>
<column source="liftedVcfId/dataid/DataFileUrl" target="liftedVcfId" transformClass="org.labkey.mgap.columnTransforms.LiftedVcfTransform" />
<column source="humanJbrowseId" transformClass="org.labkey.mgap.columnTransforms.JBrowseHumanSessionTransform"/>
Expand Down
2 changes: 2 additions & 0 deletions mGAP/resources/queries/mGAP/userRequests/.qview.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<column name="lastName"/>
<column name="title"/>
<column name="institution"/>
<column name="category"/>
<column name="country"/>
<column name="reason"/>
<column name="userId"/>
<column name="hasAccess"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE mGAP.userRequests ADD country varchar(1000);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE mGAP.variantCatalogReleases ADD luceneIndex int;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE mGAP.userRequests ADD country varchar(1000);
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ALTER TABLE mGAP.variantCatalogReleases ADD luceneIndex int;
22 changes: 13 additions & 9 deletions mGAP/resources/schemas/mgap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,15 @@
<fkColumnName>RowId</fkColumnName>
</fk>
</column>
<column columnName="luceneIndex">
<columnTitle>Lucene Index File</columnTitle>
<nullable>true</nullable>
<fk>
<fkDbSchema>sequenceanalysis</fkDbSchema>
<fkTable>outputfiles</fkTable>
<fkColumnName>rowid</fkColumnName>
</fk>
</column>
<column columnName="totalSubjects">
<columnTitle>Total Subjects</columnTitle>
</column>
Expand Down Expand Up @@ -366,6 +375,10 @@
<columnTitle>Category</columnTitle>
<nullable>true</nullable>
</column>
<column columnName="country">
<columnTitle>Country</columnTitle>
<nullable>true</nullable>
</column>
<column columnName="reason">
<columnTitle>Reason For Request</columnTitle>
<nullable>false</nullable>
Expand Down Expand Up @@ -1173,20 +1186,16 @@
<column columnName="infoKey">
<columnTitle>INFO Key</columnTitle>
<nullable>true</nullable>
<isHidden>true</isHidden>
</column>
<column columnName="sourceField">
<columnTitle>Source Field</columnTitle>
<nullable>true</nullable>
<isHidden>true</isHidden>
</column>
<column columnName="dataType">
<columnTitle>Data Type</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="dataNumber">
<columnTitle>Data Number</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="url">
<columnTitle>Website URL</columnTitle>
Expand All @@ -1202,23 +1211,18 @@
</column>
<column columnName="toolName">
<columnTitle>Tool Name</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="formatString">
<columnTitle>Format String</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="hidden">
<columnTitle>Hidden?</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="isIndexed">
<columnTitle>Is Indexed?</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="allowableValues">
<columnTitle>Allowable Values</columnTitle>
<isHidden>true</isHidden>
</column>
<column columnName="container">
<isHidden>true</isHidden>
Expand Down
17 changes: 5 additions & 12 deletions mGAP/resources/views/overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,24 @@
<script>
$( function() {
$( "i.mgap-video-icon" ).on("click", function(e){
const el = $(e.target);
const videoName = el.attr('data-video');
const title = el.attr('data-video-title');

LDK.Assert.assertNotEmpty('Missing data-video attribute.', videoName);

mGAP.Utils.showVideoDialog(videoName, title);
mGAP.Utils.showVideoDialog(e);
});
} );
</script>
<div class="colDiv">
<div style="flex: 1;margin-right: 20px;">
Non-human primates, such as Rhesus macaques, are a powerful genetic model of human disease. mGAP seeks to fill several major voids to promote genomic analyses and the study of human genetic disease in this key pre-clinical model.
The database provides open access to rhesus macaque genomic and phenotypic data. Our dataset was originally generated using animals from the large, pedigreed colony of Indian-origin rhesus macaques housed at the Oregon National Primate Research Center (ONPRC); however, it has
since <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-externalData.view">been expanded to include data from other National Primate Research Centers and NHP colonies.</a>.
The database provides open access to rhesus macaque genomic and phenotypic data, with data primarily generated using subjects from <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-externalData.view">the National Primate Research Center system and other captive NHP colonies.</a>.
<br><br>
<span style="font-weight: bold">NEW: Click the video icons (<i class="fa-solid fa-video mgap-video-icon"></i>) load help videos, or <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-tutorials.view">view our tutorials page</a> for more detail.</span>
<span style="font-weight: bold">NEW: Click the video icon (<i class="fa-solid fa-video mgap-video-icon" data-video="overview" data-video-title="mGAP Overview"></i>) to load an overview video describing mGAP's features. There are additional icons/videos below, or <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-tutorials.view">view our tutorials page</a> for more detail.</span>
<br>
<h4><span style="text-decoration: underline">Short Variant Catalog:</span> <img style="vertical-align: sub" width="40px" src="<%=contextPath%>/mgap/images/SNV.png" alt="SNV"></h4>
The primary dataset generated by mGAP is a catalog of short variants (summarized to the right). Raw sequence data are <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mgap-dataProcessing.view">analyzed using a vetted pipeline</a> designed to produce high-confidence genotype calls.
The resulting variants are <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mgap-annotation.view">annotated using a wide range of data sources</a>, including predicted function, overlap with regulatory elements and association with phenotypes and diseases.
<br>
<ul style="padding-top: 10px;">
<li>Use the <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-genomeBrowser.view?">Genome Browser</a> to view and search data. <i class="fa-solid fa-video mgap-video-icon" data-video="genome-browser" data-video-title="Genome Browser Overview"></i></li>
<li>Use our new <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-genomeBrowser.view?target=variantSearch">Full-text Search</a> tool to query variants based on gene, or using our <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mgap-annotation.view">extensive annotations</a> <i class="fa-solid fa-video mgap-video-icon" data-video="variant-search" data-video-title="Variant Full-text Search (BETA)"></i></li>
<!-- <li>Use our new <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-genomeBrowser.view?target=variantSearch">Full-text Search</a> tool to query variants based on gene, or using our <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mgap-annotation.view">extensive annotations</a> &lt;!&ndash;<i class="fa-solid fa-video mgap-video-icon" data-video="variant-search" data-video-title="Variant Full-text Search (BETA)"></i>&ndash;&gt;</li>-->
<li>View our list of <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-variantList.view">Predicted Damaging Variants</a>, which is a list of predicted high-impact or disease associated variants, generated from each release <i class="fa-solid fa-video mgap-video-icon" data-video="predicted-damaging-variants" data-video-title="Predicted Damaging Variants"></i></li>
<li>Unlike many datasets, mGAP has genotype-level data, <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/project-begin.view?pageId=clinical">often connected to living animals from pedigreed breeding colonies</a></li>
<li>Download raw data, including <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/project-begin.view?pageId=datasets">sequence data</a> and <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/project-begin.view?pageId=variants">variant data</a></li>
Expand All @@ -49,7 +42,7 @@ <h4><span style="text-decoration: underline;">Structural Variant Catalog:</span>
We have released a draft dataset with structural variants generated from PacBio sequencing of 44 Rhesus macaques. These data complement the short variant catalog by detecting categories of variants not readily accomplished with short read Illumina data.
<br>
<ul style="padding-top: 10px;">
<li>Use the <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-genomeBrowser.view?activeTracks=mGAP Structural Variants 1.0&loc=4:137,917,074..137,937,929">Genome Browser</a> to view and search structural variant data</li>
<li>Use the <a class="mgap-link" href="<%=contextPath%><%=containerPath%>/mGap-genomeBrowser.view?activeTracks=mGAP Structural Variants 1.0&location=11:6,936,982..7,002,783">Genome Browser</a> to view and search structural variant data</li>
</ul>

<h4><span style="text-decoration: underline;">NHP Models of Human Disease:</span> <img style="vertical-align: sub" width="40px" src="<%=contextPath%>/mgap/images/phenotypes.png" alt="Phenotypes"></h4>
Expand Down
2 changes: 1 addition & 1 deletion mGAP/resources/views/quickLinks.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
'<li><a href="' + LABKEY.ActionURL.buildURL('mgap', 'variantList', null) + '">Predicted Damaging Variants</a></li>' +
(jbrowseId ? '<li><a href="' + LABKEY.ActionURL.buildURL('jbrowse', 'browser', null, {database: jbrowseId}) + '">Genome Browser (Macaque)</a></li>' : '') +
(humanJbrowseId ? '<li><a href="' + LABKEY.ActionURL.buildURL('jbrowse', 'browser', null, {database: humanJbrowseId}) + '">Genome Browser (Human)</a></li>' : '') +
'<li><a href="' + LABKEY.ActionURL.buildURL('mgap', 'genomeBrowser', null, {target: 'variantSearch'}) + '">Full-text Variant Search (BETA)</a></li>' +
// '<li><a href="' + LABKEY.ActionURL.buildURL('mgap', 'genomeBrowser', null, {target: 'variantSearch'}) + '">Full-text Variant Search (BETA)</a></li>' +
'</ul>'
);
}
Expand Down
12 changes: 10 additions & 2 deletions mGAP/resources/views/requestLogin.html
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,15 @@
name: 'category',
width: 500,
allowBlank: false,
storeValues: ['Academic/NPRC', 'Academic/Non-NPRC', 'Foundation', 'Industry', 'Other']
storeValues: ['NPRC', 'Academic/Non-NPRC', 'Foundation', 'Industry', 'NIH', 'Other']
},{
xtype: 'ldk-simplecombo',
labelWidth: 130,
fieldLabel: 'Country',
name: 'country',
width: 500,
allowBlank: false,
storeValues: ['United States', 'International']
},{
xtype: 'textarea',
labelAlign: 'top',
Expand All @@ -86,7 +94,7 @@
}

var values = form.getValues();
if (values.email != values.emailConfirmation){
if (values.email !== values.emailConfirmation){
Ext4.Msg.alert('Error', 'Emails do not match');
return;
}
Expand Down
55 changes: 34 additions & 21 deletions mGAP/resources/views/tutorials.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,49 @@
$( document ).ready(function() {
const videos = [{
Title: 'Overview',
src: 'overview',
name: 'overview',
},{
Title: 'Genome Browser Overview',
src: 'genome-browser',
name: 'genome-browser',
},{
Title: 'Phenotypes and Phenotype Searches',
src: 'phenotypes-and-models',
name: 'phenotypes-and-models',
},{
Title: 'Predicted Damaging Variant List',
name: 'predicted-damaging-variants',
},{
Title: 'Using the Variant Table',
src: 'mgap-table-view-tutorial',
name: 'mgap-table-view-tutorial',
}]

// $('#tileview').dxTileView({
// items: videos,
// height: 390,
// baseItemHeight: 120,
// baseItemWidth: 185,
// itemMargin: 10,
// itemTemplate(itemData, itemIndex, itemElement) {
// const $image = $('<div>')
// .addClass('image')
// .css('background-image', `url(${itemData.src})`);
//
// itemElement
// .append(`<div>${itemData.Title}</div>`)
// .append($image);
// },
// });
videos.forEach(itemData => {
const videoURL = LABKEY.ActionURL.getContextPath() + '/mgap/videos/' + itemData.name + ".mp4";

const $video = $(`<video src="${videoURL}" type="video/mp4" alt="Overview" width="200"/>`)
.css('background-image', `url(${videoURL})`)
.attr('data-video', itemData.name)
.attr('data-video-title', itemData.Title)
.addClass('mgap-video-icon')
.css('border', 'solid')
.on("click", function(e){
mGAP.Utils.showVideoDialog(e);
});

const $div = $('<div>')
.css('float', 'left')
.css('text-align', 'center')
.css('margin', '10px')
.css('width', '245')
.css('height', '175')
.append(`<div>${itemData.Title}</div>`)
.append($video)

$('div.thumbnail-panel').append($div)
})
});
})(jQuery);
</script>

<div id="tileview">Videos will be added shortly</div>
Click any of the thumbnails below to view the help video. If you have additional questions, <a href="<%=contextPath%><%=containerPath%>/mgap-contact.view">click here</a> to send a help or feature request, or email <a href="mailto:mgap@ohsu.edu">mgap@ohsu.edu</a>.
<br><br>
<div class="thumbnail-panel" />
Loading