PageSourceSearch

https://www.ilincs.org/ilincs/js/controllers/multiGroupResult.js

js ilincs.org collected 2026-09-28 05:51:15 UTC 10,399 bytes, 260 lines download raw bytes

1angular
2  .module('app')
3  .controller('multiGroupResultsController', ['$scope','$state','$http','$uibModal','results','genes','modals','historyFactory','Result','IlincsR','GeneList','envService','ExperimentMetaData',
4                            function($scope,$state,$http,$uibModal,results,genes,modals,historyFactory,Result,IlincsR,GeneList,envService,ExperimentMetaData) {
5
6    //internal functions
7    // function createSignatureResults(exp,prop,filters) {
8    //   // $scope.createSignature = function(prop,filters) {
9    //     console.log("createSignature function for dataset"+exp+" group: "+prop+'and  filterchk: '+filters);
10    //
11    //   };
12
13    function getDataset() {
14      ExperimentMetaData
15    //  PublicDataset
16        .findOne({ filter:{where: {experiment: $scope.experiment}}})
17        //.find({ filter:{limit: 5}})
18        .$promise
19        .then(function(result) {
20          // console.log(result);
21          $scope.dataset = result;
22        });
23    }
24
25    function multiGroupAnalysis(result) {
26
27      // console.log("multiGroupAnalysisWithGenes");
28      IlincsR.multiGroupDiffExpAnalysis({exp:result.dataset,prop:result.group,filterchk:result.filter,cluster:result.platform},
29        function(data){
30          // console.log(data);
31          // $scope.generatedResults=true;
32          $scope.generatedResults=data;
33          // if (data.Remark!="Done"){
34          //       $scope.generatedError=true;
35          //     }
36          // console.log($scope.generatedResults.geneData);
37          genes.parseGenesForExternal($scope.generatedResults.geneData);
38          $scope.morpheusJson= results.generateMorpheusJson($scope.generatedResults.sessionID,$scope.resultRecord.group);
39
40          $scope.geneResource = {
41                "header": //response.data.header,
42                  [
43                  { "ID_geneid": "Gene Id" },
44                  { "Name_GeneSymbol": "Symbol" },
45                  { "description":"Description"}//,
46                  // { "synonyms": "Synonyms" }
47                  // ,{ "taxid": "Organism" }
48                ],
49                // "rows": genelist
50                "rows": $scope.generatedResults.geneData
51                  };
52                  $scope.geneDataReady=true;
53                  $scope.activeTabs.Side=1;
54          },
55        function(errorResponse){
56                                console.log("multiGroupDiffExpAnalysis Failed.");
57                                console.log(errorResponse);
58                                // $scope.errorMessage=errorResponse.statusText;
59                                $scope.errorMessage=errorResponse.data.error.name;
60                                $scope.errorMessageR=errorResponse.data.error.message;
61                                $scope.generatedResults=true;
62                                $scope.generatedError=true;
63                                });
64    }
65
66    function multiGroupReAnalysis(result,sessionId,sigcutoff,foldchange) {
67
68      // console.log("multiGroupAnalysisWithGenesReAnalisys");
69      // console.log(result.dataset);
70      IlincsR.multiGroupDiffExpReAnalysis({exp:result.dataset,prop:result.group,filterchk:result.filter,sessionId:sessionId,pValue:sigcutoff,foldchange:foldchange},
71        // IlincsR.multiGroupDiffExpReAnalysis({sessionId:sessionId,pValue:sigcutoff,foldchange:foldchange},
72        function(data){
73          // console.log(data);
74          // $scope.generatedResults=true;
75          $scope.generatedResults=data;
76          if (data.Remark!="Done"){
77                // $scope.generatedError=true;
78                $scope.showRemark=true;
79              }
80          // console.log($scope.generatedResults.geneData);
81          genes.parseGenesForExternal($scope.generatedResults.geneData);
82          $scope.morpheusJson= results.generateMorpheusJson($scope.generatedResults.sessionID,$scope.resultRecord.group);
83          $scope.geneResource = {
84                "header": //response.data.header,
85                  [
86                  { "ID_geneid": "Gene Id" },
87                  { "Name_GeneSymbol": "Symbol" },
88                  { "description":"Description"}//,
89                  // { "synonyms": "Synonyms" }
90                  // ,{ "taxid": "Organism" }
91                ],
92                // "rows": genelist
93                "rows": $scope.generatedResults.geneData
94                  };
95                  $scope.geneDataReady=true;
96                  $scope.activeTabs.Side=1;
97          },
98        function(errorResponse){
99                                console.log("multiGroupDiffExpReAnalysis Failed.");
100                                console.log(errorResponse);
101                                $scope.errorMessage=errorResponse.statusText;
102                                $scope.generatedResults=true;
103                                $scope.generatedError=true;
104                                });
105    }
106
107    function getResultRecord(resultId){
108      // console.log(resultId);
109
110      Result.findById({id:resultId},
111        function(data){
112          // console.log(data);
113          $scope.resultRecord=data;
114          // console.log($state.params.sessionId);
115          if ($state.params.sessionId) {
116            multiGroupReAnalysis($scope.resultRecord,$state.params.sessionId,$state.params.sigcutoff,$state.params.foldchange);
117          } else {
118          multiGroupAnalysis($scope.resultRecord);
119          }
120
121          },
122        function(errorResponse){
123                                console.log("Getting Results from database Failed."),console.log(errorResponse)
124                                });
125    }
126    //scope functions
127    $scope.analyzeWithGenes = function(genes) {
128      // console.log(genes);
129      GeneList.create({ content: genes }).$promise
130        .then(function(data) {
131
132           $scope.GeneListNum = data.id;
133            historyFactory.saveResultInSessionHistory('geneListHistory',data.id);
134
135           $state.go('analyzeWithGenes.signatures',{geneListNum:$scope.GeneListNum});
136        });
137
138    }
139
140    $scope.postToClusterGrammer = function(session) {
141      console.log("post to Clustergrammer");
142     $scope.creatingClusterGrammer=true;
143     var filePath="/tmp/"
144
145     var esetName = "filteredeset_" + session;
146     IlincsR.saveCgMatrixFromEset({eset:esetName},
147       function(data){
148        //  console.log(data);
149          $http.get(filePath+data.file).then(function onSuccess(response) {
150           $scope.clustergrammer=response.data;
151             var file = new File([response.data],data.file );
152             $scope.clusterFile=file;
153
154                 var fd = new FormData();
155                //  fd.append('distance-type', 'euclidean');
156                //  fd.append('linkage-type', 'average');
157                 fd.append('distance-type', 'correlation');
158                 fd.append('linkage-type', 'complete');
159                 fd.append('file', file);
160                 $http.post("https://amp.pharm.mssm.edu/clustergrammer/matrix_upload/", fd, {
161                     headers: {'Content-Type': undefined}
162                 })
163                 .then(function onSuccess(resp) {
164                  //  console.log(resp.data);
165                     $scope.creatingClusterGrammer=false;
166                     var clustergrammerWindow = window.open('#', '_blank');
167                     clustergrammerWindow.location.href = resp.data;
168                 }, function onError(resp) {
169                   console.log(resp.status,resp.statusText);
170                   $scope.creatingClusterGrammer=false;
171               }
172               );
173         },function onError(response) {
174           console.log(response.status,response.statusText);
175         }
176         );
177       },
178       function(errorResponse){
179                             console.log("converting eset to Matrix Failed.");
180                             console.log(errorResponse);
181                             $scope.errorMessage=errorResponse.statusText;
182                             $scope.generatedResults=true;
183                             $scope.generatedError=true;
184                             });
185    }
186
187    $scope.openModalBoxPlotly = function (geneId,geneName,prop,sessionID,data) {
188      // console.log("openModalBoxPlotly");
189    var modalInstance = $uibModal.open({
190      animation: $scope.animationsEnabled,
191      // templateUrl: 'myModalContent.html',
192      templateUrl: 'views/templates/modals/geneBoxPlotly.html',
193      controller: 'geneBoxPlotlyModalCtrl',
194      size: 'xxl',
195      windowClass: 'app-modal-window',
196      resolve: {
197        geneId: function () {
198          return geneId;
199        },
200        geneName: function () {
201          return geneName;
202        },
203        prop: function () {
204          return prop;
205        },
206        dataset: function () {
207          return $scope.experiment;
208        },
209        sessionID: function () {
210          return sessionID;
211          }
212        }
213      });
214    }
215    //end of functions
216
217    // var result;
218    //init  function
219    init = function() {
220
221      if (envService.is('production')) {
222          $scope.environment="production";
223      }
224      else {
225          $scope.environment="development";
226      }
227      $scope.activeTabs={};
228        $scope.genesF=genes;
229        $scope.modalsF=modals;
230        $scope.filterByGene={};
231      //  console.log('multiGroupResultsController');
232      //  console.log($state.params);
233       $scope.experiment=$state.params.experiment;
234       $scope.foldchange=$state.params.foldchange;
235       $scope.sigcutoff=$state.params.sigcutoff;
236       $scope.resultId=$state.params.resultId;
237       var tab=parseInt($state.params.mainTab);
238       if (tab>1||tab<0) tab=0
239       $scope.activeTabs.Main = tab||0;
240       getResultRecord($state.params.resultId);
241       getDataset();
242
243    // // $scope.ResultsReady = false;
244    // // console.log($state.params.exp);
245    // // console.log($state.params.pickedGroup);
246    // // console.log($state.params.filterchk);
247    // // createSignatureResults($state.params.exp,$state.params.pickedGroup,$state.params.filterchk);
248    // // results.createSignatureResults($state.params.exp,$state.params.pickedGroup,$state.params.filterchk);
249    // // results.createSignatureResults($state.params.exp,$state.params.pickedGroup,$state.params.filterchk,$scope);
250    // // $scope.resultFromService=results.result;
251    //
252    //
253    // $scope.resultFromService=results.result;
254
255    }
256    //begining of initializing datasetController
257    init();
258
259
260  }]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.