From 5813a1a3006dc67278eb094513c455b9cb2fa91f Mon Sep 17 00:00:00 2001
From: zsloan
Date: Mon, 4 Dec 2017 17:50:14 +0000
Subject: Fixed drop-down scripts to more appropriately deal with BXD300 groups
(though there's still a minor issue with a few datasets)
Added some header data to mapping output file
Fixed links in Network Group nodes/edges
---
wqflask/maintenance/gen_select_dataset.py | 5 +-
.../wqflask/marker_regression/marker_regression.py | 26 +++---
.../new/javascript/dataset_menu_structure.json | 96 ++++++++++++++++++++++
.../new/javascript/dataset_select_menu_orig.js | 5 ++
.../wqflask/static/new/javascript/network_graph.js | 11 +--
5 files changed, 122 insertions(+), 21 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/maintenance/gen_select_dataset.py b/wqflask/maintenance/gen_select_dataset.py
index 6553f090..1123f997 100644
--- a/wqflask/maintenance/gen_select_dataset.py
+++ b/wqflask/maintenance/gen_select_dataset.py
@@ -96,13 +96,14 @@ def get_groups(species):
Cursor.execute("""select InbredSet.Name, InbredSet.FullName from InbredSet,
Species,
ProbeFreeze, GenoFreeze, PublishFreeze where Species.Name = '%s'
- and InbredSet.SpeciesId = Species.Id and InbredSet.Name != 'BXD300' and
+ and InbredSet.SpeciesId = Species.Id and
(PublishFreeze.InbredSetId = InbredSet.Id
or GenoFreeze.InbredSetId = InbredSet.Id
or ProbeFreeze.InbredSetId = InbredSet.Id)
group by InbredSet.Name
order by InbredSet.Name""" % species_name)
- groups[species_name] = list(Cursor.fetchall())
+ results = Cursor.fetchall()
+ groups[species_name] = list(results)
return groups
diff --git a/wqflask/wqflask/marker_regression/marker_regression.py b/wqflask/wqflask/marker_regression/marker_regression.py
index 9e01be3e..bcb14451 100644
--- a/wqflask/wqflask/marker_regression/marker_regression.py
+++ b/wqflask/wqflask/marker_regression/marker_regression.py
@@ -277,7 +277,7 @@ class MarkerRegression(object):
if ('lod_score' in marker.keys()) or ('lrs_value' in marker.keys()):
self.qtl_results.append(marker)
- export_mapping_results(self.qtl_results, self.mapping_results_path, self.mapping_scale, self.score_type)
+ export_mapping_results(self.dataset, self.this_trait, self.qtl_results, self.mapping_results_path, self.mapping_scale, self.score_type)
self.trimmed_markers = trim_markers_for_table(results)
@@ -608,29 +608,35 @@ def create_snp_iterator_file(group):
with gzip.open(snp_file_base, "wb") as fh:
pickle.dump(data, fh, pickle.HIGHEST_PROTOCOL)
-def export_mapping_results(markers, results_path, mapping_scale, score_type):
+def export_mapping_results(dataset, trait, markers, results_path, mapping_scale, score_type):
with open(results_path, "w+") as output_file:
- output_file.write("Name\tChr\t")
+ output_file.write("Population: " + dataset.group.species.title() + " " + dataset.group.name + "\n")
+ output_file.write("Data Set: " + dataset.fullname + "\n")
+ if dataset.type == "ProbeSet":
+ output_file.write("Gene Symbol: " + trait.symbol + "\n")
+ output_file.write("Location: " + str(trait.chr) + " @ " + str(trait.mb) + " Mb\n")
+ output_file.write("\n")
+ output_file.write("Name,Chr,")
if mapping_scale == "physic":
- output_file.write("Mb\t" + score_type)
+ output_file.write("Mb," + score_type)
else:
- output_file.write("Cm\t" + score_type)
+ output_file.write("Cm," + score_type)
if "additive" in markers[0].keys():
- output_file.write("\tAdditive")
+ output_file.write(",Additive")
if "dominance" in markers[0].keys():
- output_file.write("\tDominance")
+ output_file.write(",Dominance")
output_file.write("\n")
for i, marker in enumerate(markers):
logger.debug("THE MARKER:", marker)
- output_file.write(marker['name'] + "\t" + str(marker['chr']) + "\t" + str(marker['Mb']) + "\t")
+ output_file.write(marker['name'] + "," + str(marker['chr']) + "," + str(marker['Mb']) + ",")
if "lod_score" in marker.keys():
output_file.write(str(marker['lod_score']))
else:
output_file.write(str(marker['lrs_value']))
if "additive" in marker.keys():
- output_file.write("\t" + str(marker['additive']))
+ output_file.write("," + str(marker['additive']))
if "dominance" in marker.keys():
- output_file.write("\t" + str(marker['dominance']))
+ output_file.write("," + str(marker['dominance']))
if i < (len(markers) - 1):
output_file.write("\n")
diff --git a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
index 75767f47..8bdd91db 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
+++ b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
@@ -2020,6 +2020,21 @@
"BR_M2_1106_R",
"UCHSC BXD Whole Brain M430 2.0 (Nov06) RMA"
],
+ [
+ "113",
+ "IBR_M_0606_R",
+ "INIA Brain mRNA M430 (Jun06) RMA"
+ ],
+ [
+ "101",
+ "IBR_M_0106_P",
+ "INIA Brain mRNA M430 (Jan06) PDNN"
+ ],
+ [
+ "102",
+ "IBR_M_0106_R",
+ "INIA Brain mRNA M430 (Jan06) RMA"
+ ],
[
"95",
"BR_U_1105_P",
@@ -2064,6 +2079,36 @@
]
],
"Cerebellum mRNA": [
+ [
+ "72",
+ "GCB_M2_0505_R",
+ "GE-NIAAA Cerebellum mRNA M430v2 (May05) RMA"
+ ],
+ [
+ "73",
+ "GCB_M2_0505_P",
+ "GE-NIAAA Cerebellum mRNA M430v2 (May05) PDNN"
+ ],
+ [
+ "71",
+ "GCB_M2_0505_M",
+ "GE-NIAAA Cerebellum mRNA M430v2 (May05) MAS5"
+ ],
+ [
+ "56",
+ "CB_M_0305_R",
+ "SJUT Cerebellum mRNA M430 (Mar05) RMA"
+ ],
+ [
+ "55",
+ "CB_M_0305_P",
+ "SJUT Cerebellum mRNA M430 (Mar05) PDNN"
+ ],
+ [
+ "54",
+ "CB_M_0305_M",
+ "SJUT Cerebellum mRNA M430 (Mar05) MAS5"
+ ],
[
"46",
"CB_M_1004_R",
@@ -2909,6 +2954,39 @@
]
]
},
+ "BXD300": {
+ "Genotypes": [
+ [
+ "None",
+ "BXD300Geno",
+ "BXD300 Genotypes"
+ ]
+ ],
+ "Liver mRNA": [
+ [
+ "105",
+ "LV_G_0106_B",
+ "UNC Agilent G4121A Liver LOWESS Stanford (Jan06) Both Sexes"
+ ],
+ [
+ "103",
+ "LV_G_0106_M",
+ "UNC Agilent G4121A Liver LOWESS Stanford (Jan06) Males"
+ ],
+ [
+ "104",
+ "LV_G_0106_F",
+ "UNC Agilent G4121A Liver LOWESS Stanford (Jan06) Females"
+ ]
+ ],
+ "Phenotypes": [
+ [
+ "None",
+ "BXD300Publish",
+ "BXD300 Published Phenotypes"
+ ]
+ ]
+ },
"BXH": {
"Bone Femur mRNA": [
[
@@ -3765,6 +3843,10 @@
"BXD-Bone",
"BXD Bone"
],
+ [
+ "BXD300",
+ "BXD300"
+ ],
[
"BXH",
"BXH"
@@ -4905,6 +4987,20 @@
"Phenotypes"
]
],
+ "BXD300": [
+ [
+ "Phenotypes",
+ "Phenotypes"
+ ],
+ [
+ "Genotypes",
+ "Genotypes"
+ ],
+ [
+ "Liver mRNA",
+ "Liver mRNA"
+ ]
+ ],
"BXH": [
[
"Phenotypes",
diff --git a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
index fd96eb78..d5ce6f84 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
+++ b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
@@ -24,6 +24,11 @@ $(function() {
console.log("in populate group");
species = $('#species').val();
group_list = this.jdata.groups[species];
+ for (_i = 0, _len = group_list.length; _i < (_len - 1); _i++) {
+ if (group_list[_i][0] == "BXD300"){
+ group_list.splice(_i, 1)
+ }
+ }
redo_dropdown($('#group'), group_list);
if ($('#type').length > 0) { //This is to determine if it's the index page or the submit_trait page (which only has species and group selection and no make default option)
return populate_type();
diff --git a/wqflask/wqflask/static/new/javascript/network_graph.js b/wqflask/wqflask/static/new/javascript/network_graph.js
index 0129bcae..0ecf4743 100644
--- a/wqflask/wqflask/static/new/javascript/network_graph.js
+++ b/wqflask/wqflask/static/new/javascript/network_graph.js
@@ -82,7 +82,7 @@ window.onload=function() {
cy.nodes().qtip({
content: function(){
qtip_content = ''
- gn_link = ''+''+this.data().id +''+'
'
+ gn_link = ''+''+this.data().id +''+'
'
qtip_content += gn_link
if (typeof(this.data().geneid) !== 'undefined'){
ncbi_link = 'NCBI'+'
'
@@ -92,15 +92,8 @@ window.onload=function() {
omim_link = 'OMIM'+'
'
qtip_content += omim_link
}
- //qtip_content = gn_link + ncbi_link + omim_link
return qtip_content
- //return ''+''+this.data().id +''+''
},
- // content: {
- // title: ''+''+this.target() +''+'',
- // text: this.target,
- // button: true
- // },
position: {
my: 'top center',
at: 'bottom center'
@@ -119,7 +112,7 @@ window.onload=function() {
correlation_line = 'Sample r: ' + this.data().correlation + '
'
p_value_line = 'Sample p(r): ' + this.data().p_value + '
'
overlap_line = 'Overlap: ' + this.data().overlap + '
'
- scatter_plot = 'View Scatterplot'
+ scatter_plot = 'View Scatterplot'
return correlation_line + p_value_line + overlap_line + scatter_plot
},
position: {
--
cgit v1.2.3
From d692e4f79f61691ecac7a14d0d7c7e93ead919e4 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Wed, 6 Dec 2017 16:40:19 +0000
Subject: Fixed drop-down group order
---
wqflask/maintenance/gen_select_dataset.py | 2 +-
.../new/javascript/dataset_menu_structure.json | 98 +++++++++++++---------
2 files changed, 60 insertions(+), 40 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/maintenance/gen_select_dataset.py b/wqflask/maintenance/gen_select_dataset.py
index 1123f997..f62d0cc1 100644
--- a/wqflask/maintenance/gen_select_dataset.py
+++ b/wqflask/maintenance/gen_select_dataset.py
@@ -101,7 +101,7 @@ def get_groups(species):
or GenoFreeze.InbredSetId = InbredSet.Id
or ProbeFreeze.InbredSetId = InbredSet.Id)
group by InbredSet.Name
- order by InbredSet.Name""" % species_name)
+ order by InbredSet.FullName""" % species_name)
results = Cursor.fetchall()
groups[species_name] = list(results)
return groups
diff --git a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
index 8bdd91db..eabddbc4 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
+++ b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
@@ -2218,6 +2218,26 @@
"819",
"UCLA_BXD_Aor_Jan16",
"UCLA BXD Aorta Affy M430 2.0 (Jan16) RMA"
+ ],
+ [
+ "485",
+ "EPFL-LISPBXDHeCD0114",
+ "EPFL/LISP BXD CD Heart Affy Mouse Gene 2.0 ST Gene Level (Jan14) RMA"
+ ],
+ [
+ "486",
+ "EPFL-LISPBXDHeHFD0114",
+ "EPFL/LISP BXD HFD Heart Affy Mouse Gene 2.0 ST Gene Level (Jan14) RMA"
+ ],
+ [
+ "487",
+ "EPFL-LISPBXDHeCDEx0114",
+ "EPFL/LISP BXD CD Heart Affy Mouse Gene 2.0 ST Exon Level (Jan14) RMA"
+ ],
+ [
+ "488",
+ "EPFL-LISPBXDHeHFDEx0114",
+ "EPFL/LISP BXD HFD Heart Affy Mouse Gene 2.0 ST Exon Level (Jan14) RMA"
]
],
"Hematopoietic Cells mRNA": [
@@ -3729,6 +3749,10 @@
]
],
"human": [
+ [
+ "HB",
+ "Brain, Aging: AD, HD, Normal Gene Expression (Harvard/Merck)"
+ ],
[
"AD-cases-controls",
"Brain, Aging: AD, Normal Gene Expression (Liang)"
@@ -3741,6 +3765,14 @@
"Aging-Brain-UCI",
"Brain, Aging: Normal Gene Expression (UCI/Cotman)"
],
+ [
+ "HCP",
+ "Brain, Cognition, Human Connectome Project"
+ ],
+ [
+ "HSB",
+ "Brain, Development: Normal Gene Expression (Yale/Sestan)"
+ ],
[
"Brain-Normal-NIH-Gibbs",
"Brain: Normal Gene Expression (NIH/Gibbs)"
@@ -3749,10 +3781,6 @@
"CANDLE",
"Child Development: CANDLE Cohort with Genotypes (TUCI/UTHSC)"
],
- [
- "CEPH-2004",
- "Lymphoblastoid Cells: Gene Expression (CEPH, Williams)"
- ],
[
"GTEx",
"GTEx v3 All Tissues, RNA-Seq with Genotypes"
@@ -3761,14 +3789,6 @@
"GTEx_v5",
"GTEx v5 All Tissues, RNA-Seq with Genotypes"
],
- [
- "HB",
- "Brain, Aging: AD, HD, Normal Gene Expression (Harvard/Merck)"
- ],
- [
- "HCP",
- "Brain, Cognition, Human Connectome Project"
- ],
[
"HLC",
"Liver: Normal Gene Expression with Genotypes (Merck)"
@@ -3778,8 +3798,8 @@
"Lung: Normal Gene Expression (Merck)"
],
[
- "HSB",
- "Brain, Development: Normal Gene Expression (Yale/Sestan)"
+ "CEPH-2004",
+ "Lymphoblastoid Cells: Gene Expression (CEPH, Williams)"
],
[
"Islets-Gerling",
@@ -3804,8 +3824,8 @@
"B6BTBRF2"
],
[
- "B6D2",
- "Glaucoma and Aged Retina, UTHSC"
+ "Linsenbardt-Boehm",
+ "B6D2 EtOH Selected Advanced Intercross"
],
[
"B6D2F2",
@@ -3815,10 +3835,6 @@
"B6D2F2-PSU",
"B6D2F2 PSU"
],
- [
- "B6D2RI",
- "BXD Aged"
- ],
[
"BDF2-1999",
"BDF2 UCLA"
@@ -3827,18 +3843,22 @@
"BDF2-2005",
"BDF2-2005"
],
- [
- "BHF2",
- "BHF2 (Apoe Null) UCLA"
- ],
[
"BHHBF2",
"BH/HB F2 UCLA"
],
+ [
+ "BHF2",
+ "BHF2 (Apoe Null) UCLA"
+ ],
[
"BXD",
"BXD"
],
+ [
+ "B6D2RI",
+ "BXD Aged"
+ ],
[
"BXD-Bone",
"BXD Bone"
@@ -3852,8 +3872,8 @@
"BXH"
],
[
- "C57BL-6JxC57BL-6NJF2",
- "Reduced Complexity Cross (B6JxB6N F2)"
+ "CTB6F2",
+ "CastB6/B6Cast F2 UCLA"
],
[
"CFW",
@@ -3871,10 +3891,6 @@
"CMS",
"Chronic Mild Stress"
],
- [
- "CTB6F2",
- "CastB6/B6Cast F2 UCLA"
- ],
[
"CXB",
"CXB"
@@ -3883,6 +3899,10 @@
"EMSR",
"Ethanol-Medicated Stress Reduction"
],
+ [
+ "B6D2",
+ "Glaucoma and Aged Retina, UTHSC"
+ ],
[
"HS",
"Heterogeneous Stock"
@@ -3891,10 +3911,6 @@
"HS-CC",
"Heterogeneous Stock Collaborative Cross"
],
- [
- "Linsenbardt-Boehm",
- "B6D2 EtOH Selected Advanced Intercross"
- ],
[
"LXS",
"LXS"
@@ -3907,6 +3923,10 @@
"NZBXFVB-N2",
"NZB/FVB N2 NCI"
],
+ [
+ "C57BL-6JxC57BL-6NJF2",
+ "Reduced Complexity Cross (B6JxB6N F2)"
+ ],
[
"Scripps-2013",
"Scripps C57BL/6J"
@@ -3923,6 +3943,10 @@
]
],
"rat": [
+ [
+ "HXBBXH",
+ "HXB/BXH"
+ ],
[
"HSNIH-Palmer",
"NIH Heterogeneous Stock (Palmer)"
@@ -3931,10 +3955,6 @@
"HSNIH-RGSMC",
"NIH Heterogeneous Stock (RGSMC 2013)"
],
- [
- "HXBBXH",
- "HXB/BXH"
- ],
[
"SRxSHRSPF2",
"UIOWA SRxSHRSP F2"
@@ -3968,7 +3988,7 @@
],
[
"rat",
- "Rat (rn3)"
+ "Rat (rn6)"
],
[
"drosophila",
--
cgit v1.2.3
From 9a0eaa6d0231c0d4415f89b0ad80ac67274d8551 Mon Sep 17 00:00:00 2001
From: zsloan
Date: Wed, 20 Dec 2017 19:08:26 +0000
Subject: Fixed the way PLINK outputs phenotype files (though there's still
some problem preventing it from working)
Added some code related to new plotly probability plot, though it's commented out until it looks how I want it to
Added some code for adding the BNW link to GN2, though it's not working yet
Updated dataset menu structure JSON file
---
wqflask/wqflask/marker_regression/plink_mapping.py | 6 +++---
.../static/new/javascript/dataset_menu_structure.json | 6 +++---
wqflask/wqflask/static/new/javascript/search_results.js | 15 ++++++++++++---
wqflask/wqflask/templates/show_trait.html | 3 ++-
wqflask/wqflask/templates/show_trait_details.html | 4 ++++
wqflask/wqflask/templates/show_trait_statistics.html | 2 +-
wqflask/wqflask/views.py | 6 ++++++
7 files changed, 31 insertions(+), 11 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/wqflask/marker_regression/plink_mapping.py b/wqflask/wqflask/marker_regression/plink_mapping.py
index 3d31da1a..4de88f00 100644
--- a/wqflask/wqflask/marker_regression/plink_mapping.py
+++ b/wqflask/wqflask/marker_regression/plink_mapping.py
@@ -14,7 +14,7 @@ def run_plink(this_trait, dataset, species, vals, maf):
gen_pheno_txt_file(dataset, vals)
#gen_pheno_txt_file_plink(this_trait, dataset, vals, pheno_filename = plink_output_filename)
- plink_command = PLINK_COMMAND + ' --noweb --bfile %s/%s --no-fid --no-parents --no-sex --maf %s --missing-phenotype -9 --out %s/%s --assoc ' % (
+ plink_command = PLINK_COMMAND + ' --noweb --bfile %s/%s --no-pheno --no-fid --no-parents --no-sex --maf %s --out %s%s --assoc ' % (
flat_files('mapping'), dataset.group.name, maf, TMPDIR, plink_output_filename)
logger.debug("plink_command:", plink_command)
@@ -48,7 +48,7 @@ def gen_pheno_txt_file(this_dataset, vals):
this_val = -9
else:
this_val = vals[i]
- outfile.write(line[1] + " " + line[1] + " " + line[2] + " " + line[3] + " " + line[4] + " " + str(this_val) + "\n")
+ outfile.write("0 " + line[1] + " " + line[2] + " " + line[3] + " " + line[4] + " " + str(this_val) + "\n")
def gen_pheno_txt_file_plink(this_trait, dataset, vals, pheno_filename = ''):
ped_sample_list = get_samples_from_ped_file(dataset)
@@ -106,7 +106,7 @@ def parse_plink_output(output_filename, species):
threshold_p_value = 1
- result_fp = open("%s/%s.qassoc"% (TMPDIR, output_filename), "rb")
+ result_fp = open("%s%s.qassoc"% (TMPDIR, output_filename), "rb")
header_line = result_fp.readline()# read header line
line = result_fp.readline()
diff --git a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
index eabddbc4..8de85a86 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
+++ b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json
@@ -1918,12 +1918,12 @@
[
"797",
"EPFL_AdiPro0416",
- "EPFL/ETHZ BXD Brown Adipose, Total Tissue Proteome, Chow Diet (Apr16) Light SWATH **"
+ "EPFL/ETHZ BXD Brown Adipose, Total Tissue Proteome, Chow Diet (Apr16) Light SWATH"
],
[
"798",
"EPFL_AdiMitPro0416",
- "EPFL/ETHZ BXD Brown Adipose, Isolated Mitochondria Proteome, Chow Diet (Apr16) Light SWATH **"
+ "EPFL/ETHZ BXD Brown Adipose, Isolated Mitochondria Proteome, Chow Diet (Apr16) Light SWATH"
]
],
"Adipose mRNA": [
@@ -3583,7 +3583,7 @@
[
"799",
"FGUCAS_BAdip0516",
- "FGUCAS BXH/HXB Brown Adipose Affy Rat Gene 2.0 ST (May16) log2 **"
+ "FGUCAS BXH/HXB Brown Adipose Affy Rat Gene 2.0 ST (May16) log2"
]
],
"Adrenal Gland mRNA": [
diff --git a/wqflask/wqflask/static/new/javascript/search_results.js b/wqflask/wqflask/static/new/javascript/search_results.js
index 40fdff70..2b878087 100644
--- a/wqflask/wqflask/static/new/javascript/search_results.js
+++ b/wqflask/wqflask/static/new/javascript/search_results.js
@@ -154,11 +154,15 @@ $(function() {
}
};
+ submit_bnw = function() {
+ trait_data = get_traits_from_table("trait_table", "submit_bnw")
+ }
+
export_traits = function() {
- trait_data = get_traits_from_table("trait_table")
+ trait_data = get_traits_from_table("trait_table", "export_csv")
};
- get_traits_from_table = function(table_name) {
+ get_traits_from_table = function(table_name, destination) {
trait_table = $('#'+table_name);
table_dict = {};
@@ -199,7 +203,11 @@ $(function() {
json_table_dict = JSON.stringify(table_dict);
$('input[name=export_data]').val(json_table_dict);
- $('#export_form').attr('action', '/export_traits_csv');
+ if (destination == "export_csv"){
+ $('#export_form').attr('action', '/export_traits_csv');
+ } else{
+ $('#export_form').attr('action', '/submit_bnw');
+ }
$('#export_form').submit();
};
@@ -208,6 +216,7 @@ $(function() {
$("#invert").click(invert);
$("#add").click(add);
$("#remove").click(remove);
+ $("#submit_bnw").click(submit_bnw);
$("#export_traits").click(export_traits);
$('.trait_checkbox, .btn').click(change_buttons);
});
\ No newline at end of file
diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html
index d41f4dfb..a291baf3 100644
--- a/wqflask/wqflask/templates/show_trait.html
+++ b/wqflask/wqflask/templates/show_trait.html
@@ -141,7 +141,8 @@
-
+
+
diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html
index a0c40c7f..2a62733e 100644
--- a/wqflask/wqflask/templates/show_trait_details.html
+++ b/wqflask/wqflask/templates/show_trait_details.html
@@ -70,6 +70,10 @@
Genotation
+
+ GTEx Portal
+
+
{% endif %}
diff --git a/wqflask/wqflask/templates/show_trait_statistics.html b/wqflask/wqflask/templates/show_trait_statistics.html
index 48ac468a..aa95b083 100644
--- a/wqflask/wqflask/templates/show_trait_statistics.html
+++ b/wqflask/wqflask/templates/show_trait_statistics.html
@@ -105,7 +105,6 @@
{% endfor %}
-
{% endif %}
@@ -113,6 +112,7 @@