Mercurial > repos > eduardo > trinotateviz
comparison static/js/app_bak.js @ 0:c03cf513baf3 draft default tip
planemo upload commit af9b813e424144b8bd7d9b9ce6e3a3c93bc9f549-dirty
| author | eduardo |
|---|---|
| date | Mon, 01 May 2017 14:56:39 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:c03cf513baf3 |
|---|---|
| 1 var app = angular.module('app', ['ngTouch', 'ui.grid','ui.grid.expandable', 'ui.grid.pagination']); | |
| 2 | |
| 3 app.service('transcriptome', [ | |
| 4 '$http', 'uiGridConstants', function($http, uiGridConstants) { | |
| 5 | |
| 6 var paginationOptions = { | |
| 7 pageNumber: 1, | |
| 8 pageSize: 25, | |
| 9 sort: null | |
| 10 }; | |
| 11 var query ={ | |
| 12 baseurl: '/api/datasets/'+hdaId+'?provider=sqlite-dict&data_type=raw_data&query=', | |
| 13 groupby: '%20group%20by%20gene_id%20', | |
| 14 genesel: 'select%20t.gene_id,sum(e.frag_count)%20as%20e_count%20from%20expression%20e,transcript%20t%20', | |
| 15 diffsel:"select%20feature_name as gene_id,sample_id_A||'vs'||sample_id_b%20as%20contrast,log_fold_change%20as%20logfc,p_value,fdr%20from%20diff_expression%20d%20", | |
| 16 diffwhere: 'where%20d.feature_name=t.gene_id%20', | |
| 17 totsel: 'select%20gene_id%20from%20', | |
| 18 transjoin: 'transcript%20t,%20orf%20o,blastdbase%20x%20', | |
| 19 tottable: 'transcript%20t,%20orf%20o,blastdbase%20x%20,%20diff_expression%20d%20,hmmerdbase%20h%20', | |
| 20 pfamjoin: 'transcript%20t,%20orf%20o,hmmerdbase%20h%20', | |
| 21 genewhere: 'where%20e.feature_name=t.gene_id%20', | |
| 22 transwhere: 'where%20t.transcript_id=o.transcript_id%20and%20x.trinityid=t.transcript_id%20', | |
| 23 totwhere: 'where%20t.transcript_id=o.transcript_id%20and%20x.trinityid=t.transcript_id%20and%20h.queryprotid=o.orf_id%20and%20d.feature_name=t.gene_id%20', | |
| 24 orfwhere: 'where%20t.transcript_id=o.transcript_id%20and%20x.Trinityid=o.orf_id%20', | |
| 25 pfamwhere: 'where%20t.transcript_id=o.transcript_id%20and%20h.queryprotid=o.orf_id%20', | |
| 26 group: 'group%20by%20gene_id%20', | |
| 27 pfamsel: 'select%20t.gene_id,o.orf_id,h.pfam_id,h.hmmerdomain%20as%20h_domain,querystartalign,3*(queryendalign-querystartalign)/o.length%20as%20h_qcov,h.fullseqevalue%20as%20h_eval%20from%20', | |
| 28 //transgroup: 'group%20by%20trans_id%20', | |
| 29 //orfgroup: 'group%20by%20orf_id%20', | |
| 30 filter: '', | |
| 31 sorting: 'order%20by gene_id%20asc%20', | |
| 32 paging: 'limit%20'+paginationOptions.pageSize+'%20offset%20 '+(paginationOptions.pageNumber - 1) * paginationOptions.pageSize, | |
| 33 transsel: 'select%20distinct%20t.gene_id%20as%20gene_id,t.transcript_id%20as%20trans_id,length(sequence)%20as%20t_len,x.FullAccession%20as%20x_hit,abs(x.queryend-x.querystart)/o.length%20as%20x_qcov,x.percentidentity%20as%20x_id,x.evalue%20as%20x_eval,x.databasesource%20as%20x_source%20from%20', | |
| 34 orfsel: 'select%20distinct%20t.gene_id%20as%20gene_id,o.orf_id%20,o.rend,o.lend,o.length%20as%20o_len,o.strand,x.FullAccession%20as%20p_hit,3*abs(x.queryend-x.querystart)/o.length%20as%20p_qcov,x.percentidentity%20as%20p_id,x.evalue%20as%20p_eval,x.databasesource%20as%20p_source%20from%20', | |
| 35 } | |
| 36 | |
| 37 mygridOptions = { | |
| 38 enableHorizontalScrollbar: 0, | |
| 39 enableVerticalScrollbar: 1, | |
| 40 expandableRowTemplate: 'GridTemplate.html', | |
| 41 expandableRowHeight: 180, | |
| 42 //subGridVariable will be available in subGrid scope | |
| 43 expandableRowScope: { | |
| 44 subGridVariable: 'subGridScopeVariable' | |
| 45 }, | |
| 46 // enableFiltering: true, | |
| 47 // useExternalFiltering: true, | |
| 48 paginationPageSizes: [25, 50], | |
| 49 paginationPageSize: 25, | |
| 50 useExternalPagination: true, | |
| 51 useExternalSorting: true, | |
| 52 columnDefs: [ | |
| 53 { name: 'gene_id', enableSorting: false }, | |
| 54 { name: 'e_count'} | |
| 55 ], | |
| 56 onRegisterApi: function(gridApi) { | |
| 57 this.gridApi = gridApi; | |
| 58 /* | |
| 59 $scope.gridApi.core.on.sortChanged($scope, function(grid, sortColumns) { | |
| 60 if (sortColumns.length == 0) { | |
| 61 paginationOptions.sort = null; | |
| 62 } else { | |
| 63 paginationOptions.sort = sortColumns[0].sort.direction; | |
| 64 } | |
| 65 getPage(); | |
| 66 }); | |
| 67 */ | |
| 68 gridApi.pagination.on.paginationChanged(this, function (newPage, pageSize) { | |
| 69 paginationOptions.pageNumber = newPage; | |
| 70 paginationOptions.pageSize = pageSize; | |
| 71 query.paging='limit%20'+paginationOptions.pageSize+'%20offset%20 '+(paginationOptions.pageNumber - 1) * paginationOptions.pageSize; | |
| 72 getPage(); | |
| 73 }); | |
| 74 getPage(); | |
| 75 } | |
| 76 }; | |
| 77 | |
| 78 var unpack = function(url) { | |
| 79 $http.get(url) | |
| 80 .success (function(response){ | |
| 81 return [].concat.apply([], response.data); | |
| 82 }); | |
| 83 }; | |
| 84 var getPage = function() { | |
| 85 | |
| 86 | |
| 87 var tot_url= query.totsel +query.tottable +query.totwhere+ query.group+query.filter; | |
| 88 var gene_url= query.baseurl + query.genesel + query.genewhere+ 'and%20t.gene_id%20in%20('+tot_url+ query.sorting+query.paging+')'+query.group; | |
| 89 var trans_url = query.baseurl + query.transsel +query.transjoin +query.transwhere+'and%20t.gene_id%20in%20('+tot_url+ query.sorting+query.paging+')'+query.group; | |
| 90 var orf_url = query.baseurl + query.orfsel +query.transjoin +query.orfwhere+'and%20t.gene_id%20in%20('+tot_url+ query.sorting+query.paging+')'+query.group; | |
| 91 var pfam_url = query.baseurl + query.pfamsel +query.pfamjoin +query.pfamwhere+'and%20t.gene_id%20in%20('+tot_url+ query.sorting+query.paging+')'+query.group; | |
| 92 var diff_url = query.baseurl + query.diffsel +'where%20feature_name%20in%20('+tot_url+ query.sorting+query.paging+')'; | |
| 93 | |
| 94 $http.get(query.baseurl+tot_url) | |
| 95 .success (function(response){ | |
| 96 | |
| 97 mygridOptions.totalItems = ([].concat.apply([], response.data)).length; | |
| 98 | |
| 99 }); | |
| 100 | |
| 101 | |
| 102 trans_promise=$http.get(trans_url); | |
| 103 $http.get(orf_url) | |
| 104 .success (function(response){ | |
| 105 orfdata = [].concat.apply([], response.data); | |
| 106 }); | |
| 107 $http.get(pfam_url) | |
| 108 .success (function(response){ | |
| 109 pfamdata = [].concat.apply([], response.data); | |
| 110 }); | |
| 111 $http.get(diff_url) | |
| 112 .success (function(response){ | |
| 113 diffdata = [].concat.apply([], response.data); | |
| 114 }); | |
| 115 trans_promise.then(function(response){ transdata = [].concat.apply([], response.data); | |
| 116 $http.get(gene_url) | |
| 117 .success (function(response){ | |
| 118 mygridOptions.data = [].concat.apply([], response.data); | |
| 119 for(i = 0; i < mygridOptions.data.length; i++){ | |
| 120 | |
| 121 mygridOptions.data[i].subGridOptions1 = { | |
| 122 enableVerticalScrollbars: 1, | |
| 123 | |
| 124 columnDefs: [ {name:"trans_id", field:"trans_id"},{name:"t_len", field:"t_len"},{name:"x_hit", field:"x_hit"},{name:"x_qcov", field:"x_qcov"}, | |
| 125 ,{name:"x_id", field:"x_id"},{name:"x_eval", field:"x_eval"},{name:"x_source", field:"x_source"} ], | |
| 126 data: transdata.filter(function(trans){return trans.gene_id===mygridOptions.data[i].gene_id;}) | |
| 127 } | |
| 128 // for(j = 0; j < this.gridOptions.data[i].subGridOptions.data.length; j++){ | |
| 129 | |
| 130 mygridOptions.data[i].subGridOptions2 = { | |
| 131 //enableVerticalScrollbars: 0, | |
| 132 | |
| 133 columnDefs: [ {name:"orf_id", field:"orf_id"},{name:"rend", field:"rend"},{name:"lend", field:"lend"},{name:"o_len", field:"o_len"},{name:"strand", field:"strand"},{name:"p_hit", field:"p_hit"},{name:"p_qcov", field:"p_qcov"}, | |
| 134 ,{name:"p_id", field:"p_id"},{name:"p_eval", field:"p_eval"},{name:"p_source", field:"p_source"}], | |
| 135 data: orfdata.filter(function(orf){return orf.gene_id===mygridOptions.data[i].gene_id;}) | |
| 136 } | |
| 137 mygridOptions.data[i].subGridOptions3 = { | |
| 138 //enableVerticalScrollbars: 0, | |
| 139 columnDefs: [ {name:"orf_id", field:"orf_id"}, {name:"pfam_id", field:"pfam_id"},{name:"hmmerdomain", field:"h_domain"},{name:"querystartalign", field:"QueryStartAlign"},{name:"h_qcov", field:"h_qcov"},{name:"h_eval", field:"h_eval"} ], | |
| 140 data: pfamdata.filter(function(pfam){return pfam.gene_id===mygridOptions.data[i].gene_id;}) | |
| 141 } | |
| 142 mygridOptions.data[i].subGridOptions0 = { | |
| 143 //enableVerticalScrollbars: 0, | |
| 144 columnDefs: [ {name:"contrast", field:"contrast"},{name:"logfc", field:"logfc"},{name:"p_value", field:"p_value"},{name:"fdr", field:"fdr"} ], | |
| 145 data: diffdata.filter(function(diff){return diff.gene_id===mygridOptions.data[i].gene_id;}) | |
| 146 } | |
| 147 // } | |
| 148 } | |
| 149 | |
| 150 });//end get gene_url | |
| 151 });//end promise | |
| 152 }; | |
| 153 // getPage(); | |
| 154 return {filter: (function() { | |
| 155 if (this.filterValue.length>0){ | |
| 156 query.filter= 'having%20'+this.filterValue+'%20'; | |
| 157 } | |
| 158 else { | |
| 159 query.filter=''; | |
| 160 } | |
| 161 getPage(); | |
| 162 console.log('filtering'); | |
| 163 }), | |
| 164 gridOptions: mygridOptions | |
| 165 }; | |
| 166 | |
| 167 } | |
| 168 ]); | |
| 169 app.controller('MainCtrl',['$scope', 'transcriptome', function($scope,transcriptome) { | |
| 170 $scope.gridOptions=transcriptome.gridOptions; | |
| 171 $scope.filter=transcriptome.filter; | |
| 172 } | |
| 173 ]); |
