{"version":3,"file":"main.js","mappings":"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","sources":["./src/app/_pipes/dash-to-decimal.pipe.ts","./src/app/_pipes/keys.pipe.ts","./src/app/_pipes/tag.pipe.ts","./src/app/alert-component/alert-component.component.html","./src/app/alert-component/alert-component.component.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/benchmark/benchmark.component.ts","./src/app/benchmark/benchmark.component.html","./src/app/citation/citation.component.ts","./src/app/citation/citation.component.html","./src/app/cluster/cluster.component.ts","./src/app/cluster/cluster.component.html","./src/app/cookie-dialog/cookie-dialog.component.ts","./src/app/cookie-dialog/cookie-dialog.component.html","./src/app/d3-force/d3-force.component.ts","./src/app/d3-force/d3-force.component.html","./src/app/d3-plot/d3-plot.component.ts","./src/app/d3-plot/d3-plot.component.html","./src/app/directives/dnd-directive.directive.ts","./src/app/download-all/download-all.component.html","./src/app/download-all/download-all.component.ts","./src/app/footer/footer.component.html","./src/app/footer/footer.component.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/mhci/peptide-variant-comparison/peptide-variant-comparison.component.ts","./src/app/mhci/peptide-variant-comparison/peptide-variant-comparison.component.html","./src/app/mhci/prediction-model-formgroups/mhc-binding-formgroup/mhc-binding-formgroup.component.ts","./src/app/mhci/prediction-model-formgroups/mhc-binding-formgroup/mhc-binding-formgroup.component.html","./src/app/mhci/prediction-model-formgroups/mhc-i-processing-formgroup-new/mhc-i-processing-formgroup-new.component.ts","./src/app/mhci/prediction-model-formgroups/mhc-i-processing-formgroup-new/mhc-i-processing-formgroup-new.component.html","./src/app/mhci/prediction-model-formgroups/peptide-similarity-formgroup/peptide-similarity-formgroup.component.ts","./src/app/mhci/prediction-model-formgroups/peptide-similarity-formgroup/peptide-similarity-formgroup.component.html","./src/app/mhci/prediction-model-formgroups/pmhc-immunogenicity-formgroup/pmhc-immunogenicity-formgroup.component.ts","./src/app/mhci/prediction-model-formgroups/pmhc-immunogenicity-formgroup/pmhc-immunogenicity-formgroup.component.html","./src/app/mhci/t-cell-prediction/t-cell-prediction.component.ts","./src/app/mhci/t-cell-prediction/t-cell-prediction.component.html","./src/app/mhcii/prediction-model-formgroups/mhcii-pmhc-immunogenicity-formgroup/mhcii-pmhc-immunogenicity-formgroup.component.ts","./src/app/mhcii/prediction-model-formgroups/mhcii-pmhc-immunogenicity-formgroup/mhcii-pmhc-immunogenicity-formgroup.component.html","./src/app/mhcii/t-cell-prediction-2/t-cell-prediction-2.component.ts","./src/app/mhcii/t-cell-prediction-2/t-cell-prediction-2.component.html","./src/app/mutated-peptide-generator/mutated-peptide-generator.component.ts","./src/app/mutated-peptide-generator/mutated-peptide-generator.component.html","./src/app/navbar/navbar.component.ts","./src/app/navbar/navbar.component.html","./src/app/pepmatch/pepmatch.component.ts","./src/app/pepmatch/pepmatch.component.html","./src/app/pepx/pepx.component.ts","./src/app/pepx/pepx.component.html","./src/app/pipeline-error/pipeline-error.component.ts","./src/app/pipeline-error/pipeline-error.component.html","./src/app/pipeline-new/pipeline-new.component.ts","./src/app/pipeline-new/pipeline-new.component.html","./src/app/result-table-angular/result-table-angular.component.ts","./src/app/result-table-angular/result-table-angular.component.html","./src/app/result-table/result-table.component.ts","./src/app/result-table/result-table.component.html","./src/app/sequence-input/sequence-input.component.ts","./src/app/sequence-input/sequence-input.component.html","./src/app/services/alert-service/alert-service.service.ts","./src/app/services/allele-search/allele-search.service.ts","./src/app/services/announcement-service/announcement-service.service.ts","./src/app/services/google-analytics/google-analaytics.service.ts","./src/app/services/google-analytics/shared.service.ts","./src/app/services/pipeline-service/pipeline.service.ts","./src/app/services/sequence-parser/sequence-parser.service.ts","./src/app/services/state-services/default-stage-states.ts","./src/app/services/state-services/pipeline-state-service/pipeline-state.service.ts","./src/app/services/state-services/state.service.ts","./src/app/tool-contribution/tool-contribution.component.ts","./src/app/tool-contribution/tool-contribution.component.html","./src/app/tools-list/tools-list.component.ts","./src/app/tools-list/tools-list.component.html","./src/app/util/convert-columns.ts","./src/app/util/is-max-length.ts","./src/app/util/is-max-lines.ts","./src/app/util/on-csv-download.ts","./src/app/util/string-helpers.ts","./src/app/version/version.component.ts","./src/app/version/version.component.html","./src/environments/environment.dev.ts","./src/main.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'dashToDecimal' })\nexport class DashToDecimalPipe implements PipeTransform {\n transform(value: string): any {\n if (!value) return null;\n return value.replace('_', '.');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(value: {}): any {\n if (!value) return null;\n return Object.keys(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'tag' })\nexport class tagPipe implements PipeTransform {\n transform(value: string): any {\n if(value) {\n if(value==='mhcI') {\n return 'MHC I';\n }\n else if(value==='allele7') {\n return '7-Allele';\n }\n else if(value==='mhcII') {\n return 'MHC II';\n }\n else if(value==='hlaAssociation') {\n return 'HLA Association';\n }\n else if(value==='structure3D') {\n return '3D Structure';\n }\n else if(value==='nonPeptidic') {\n return 'Non-Peptidic';\n }\n else if(value==='mhcProcessing') {\n return 'MHC Processing';\n }\n else if(value==='tapProcessing') {\n return 'TAP Processing';\n }\n else if(['TCR', 'BCR', 'PDB', 'CD4', 'CD8', 'VCF'].includes(value)) {\n return value;\n }\n else {\n return value\n // insert a space before all caps\n .replace(/([A-Z])/g, ' $1')\n // uppercase the first character\n .replace(/^./, function(str){ return str.toUpperCase(); });\n }\n }\n return null;\n }\n}\n","
\n
\n\n\n\n\n\n
{{alertService.message}}
\n
\n
\n\n","import { Component, OnInit } from '@angular/core';\nimport { AlertServiceService } from '../services/alert-service/alert-service.service';\n@Component({\n selector: 'app-alert-component',\n templateUrl: './alert-component.component.html',\n styleUrls: ['./alert-component.component.scss']\n})\nexport class AlertComponentComponent implements OnInit {\n\n constructor(public alertService: AlertServiceService) { }\n\n ngOnInit(): void {\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport {BenchmarkComponent} from \"./benchmark/benchmark.component\";\nimport {CitationComponent} from './citation/citation.component';\nimport {ToolsListComponent} from './tools-list/tools-list.component';\nimport {ToolContributionComponent} from \"./tool-contribution/tool-contribution.component\";\nimport {HomeComponent} from \"./home/home.component\";\nimport {DownloadAllComponent} from \"./download-all/download-all.component\";\nimport {PipelineNewComponent} from \"./pipeline-new/pipeline-new.component\";\nimport {VersionComponent} from \"./version/version.component\";\nimport {PipelineErrorComponent} from \"./pipeline-error/pipeline-error.component\";\n\nconst routes: Routes = [\n {\n path: 'all-tools-list',\n component: ToolsListComponent,\n data: {title: 'IEDB NG Tools List'}\n },\n {\n path: 'benchmark',\n component: BenchmarkComponent,\n data: {title: 'IEDB NG Tools Benchmarks'}\n },\n {\n path: 'citation',\n component: CitationComponent,\n data: {title: 'IEDB NG Tools Citations'}\n },\n {\n path: 'contributing-tools',\n component: ToolContributionComponent,\n data: {title: 'Contributing to IEDB NG Tools'}\n },\n {\n path: 'download-all',\n component: DownloadAllComponent,\n data: {title: 'IEDB NG Tools Downloads'}\n },\n {\n path: 'error',\n component: PipelineErrorComponent,\n data: {title: 'IEDB NG Tools Error'}\n },\n {\n path: 'home',\n component: HomeComponent,\n data: {title: 'IEDB Next-Generation Tools'}\n },\n {\n path: 'pipeline',\n component: PipelineNewComponent\n },\n {\n path: 'pipeline/:id',\n component: PipelineNewComponent,\n },\n {\n path: 'pipeline_spec/:pipelineSpecId',\n component: PipelineNewComponent,\n },\n {\n path: '_version',\n component: VersionComponent,\n data: {title: 'IEDB Version Info'},\n },\n {\n path: '',\n component: HomeComponent,\n data: {title: 'IEDB Next-Generation Tools'},\n },\n { path: '**', redirectTo: ''}\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Component } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\nimport { filter, map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n constructor(\n private router: Router,\n private titleService: Title\n ) {}\n\n ngOnInit() {\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd),\n map(() => {\n let route: ActivatedRoute = this.router.routerState.root;\n let routeTitle = '';\n while (route!.firstChild) {\n route = route.firstChild;\n }\n if (route.snapshot.data['title']) {\n routeTitle = route!.snapshot.data['title'];\n }\n return routeTitle;\n })\n )\n .subscribe((title: string) => {\n if (title) {\n this.titleService.setTitle(`${title}`);\n }\n });\n }\n\n // title = 'Nextgen IEDB Tools';\n}\n","\n\n\n\n","import { NgModule } from '@angular/core';\nimport { BrowserModule, Title } from '@angular/platform-browser';\n\nimport {HttpClientModule} from '@angular/common/http';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {DragDropModule} from '@angular/cdk/drag-drop';\n\nimport {DataTablesModule} from \"angular-datatables\";\nimport { NgxSliderModule } from 'ngx-slider-v2';\nimport {\n NgbTypeaheadModule,\n NgbAccordionModule,\n NgbDropdownModule,\n NgbTooltipModule,\n NgbPopoverModule,\n NgbNavModule,\n NgbAlertModule,\n NgbToastModule, NgbModule\n} from '@ng-bootstrap/ng-bootstrap';\n\n// import { NgxGoogleAnalyticsModule, NgxGoogleAnalyticsRouterModule } from 'ngx-google-analytics';\n\n// import {environment} from \"../environments/environment\";\n\nimport {AppRoutingModule} from './app-routing.module';\n\nimport {AppComponent} from './app.component';\nimport {AlertComponentComponent} from './alert-component/alert-component.component';\nimport {HomeComponent} from './home/home.component';\nimport {FooterComponent} from './footer/footer.component';\nimport { CookieDialogComponent } from './cookie-dialog/cookie-dialog.component';\nimport {NavbarComponent} from \"./navbar/navbar.component\";\nimport {DndDirectiveDirective} from './directives/dnd-directive.directive';\n// import {PlaygroundComponent} from './playground/playground.component';\nimport {TCellPredictionComponent} from './mhci/t-cell-prediction/t-cell-prediction.component';\nimport {TCellPrediction2Component} from './mhcii/t-cell-prediction-2/t-cell-prediction-2.component'\n\nimport { BenchmarkComponent } from './benchmark/benchmark.component';\nimport { CitationComponent } from './citation/citation.component';\nimport { ToolContributionComponent } from './tool-contribution/tool-contribution.component';\nimport { DownloadAllComponent } from './download-all/download-all.component';\nimport { MhcBindingFormgroupComponent } from './mhci/prediction-model-formgroups/mhc-binding-formgroup/mhc-binding-formgroup.component';\nimport { PmhcImmunogenicityFormgroupComponent } from './mhci/prediction-model-formgroups/pmhc-immunogenicity-formgroup/pmhc-immunogenicity-formgroup.component';\nimport { MhcIProcessingFormgroupNewComponent } from './mhci/prediction-model-formgroups/mhc-i-processing-formgroup-new/mhc-i-processing-formgroup-new.component';\n\n// import { MhcNpFormgroupComponent } from './mhci/prediction-model-formgroups/mhc-np-formgroup/mhc-np-formgroup.component';\nimport { ResultTableComponent } from './result-table/result-table.component';\nimport { ClusterComponent } from './cluster/cluster.component';\nimport {ToolsListComponent} from './tools-list/tools-list.component';\nimport { SequenceInputComponent } from './sequence-input/sequence-input.component';\nimport { D3ForceComponent } from './d3-force/d3-force.component';\nimport { KeysPipe } from \"./_pipes/keys.pipe\";\nimport { tagPipe } from \"./_pipes/tag.pipe\";\nimport { DashToDecimalPipe } from \"./_pipes/dash-to-decimal.pipe\";\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport {MatSidenavModule} from \"@angular/material/sidenav\";\nimport {ClipboardModule} from \"@angular/cdk/clipboard\";\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatChipsModule} from '@angular/material/chips';\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {PipelineNewComponent} from \"./pipeline-new/pipeline-new.component\";\nimport { PepmatchComponent } from './pepmatch/pepmatch.component';\nimport { VersionComponent } from './version/version.component';\nimport { ResultTableAngularComponent } from './result-table-angular/result-table-angular.component';\nimport { PipelineErrorComponent } from './pipeline-error/pipeline-error.component';\nimport { PepxComponent } from './pepx/pepx.component';\nimport { PeptideVariantComparisonComponent } from './mhci/peptide-variant-comparison/peptide-variant-comparison.component';\nimport { D3PlotComponent } from './d3-plot/d3-plot.component';\nimport { MutatedPeptideGeneratorComponent } from './mutated-peptide-generator/mutated-peptide-generator.component';\nimport { PeptideSimilarityFormgroupComponent } from './mhci/prediction-model-formgroups/peptide-similarity-formgroup/peptide-similarity-formgroup.component';\nimport { MhciiPmhcImmunogenicityFormgroupComponent } from './mhcii/prediction-model-formgroups/mhcii-pmhc-immunogenicity-formgroup/mhcii-pmhc-immunogenicity-formgroup.component';\n@NgModule({\n declarations: [\n AppComponent,\n AlertComponentComponent,\n FooterComponent,\n CookieDialogComponent,\n HomeComponent,\n NavbarComponent,\n DndDirectiveDirective,\n TCellPredictionComponent,\n TCellPrediction2Component,\n BenchmarkComponent,\n CitationComponent,\n ToolContributionComponent,\n ToolsListComponent,\n DownloadAllComponent,\n MhcBindingFormgroupComponent,\n // MhcNpFormgroupComponent,\n PmhcImmunogenicityFormgroupComponent,\n ResultTableComponent,\n ClusterComponent,\n SequenceInputComponent,\n D3ForceComponent,\n KeysPipe,\n tagPipe,\n DashToDecimalPipe,\n PipelineNewComponent,\n MhcIProcessingFormgroupNewComponent,\n PepmatchComponent,\n VersionComponent,\n ResultTableAngularComponent,\n PipelineErrorComponent,\n PepxComponent,\n PeptideVariantComparisonComponent,\n D3PlotComponent,\n MutatedPeptideGeneratorComponent,\n PeptideSimilarityFormgroupComponent,\n MhciiPmhcImmunogenicityFormgroupComponent\n ],\n imports: [\n BrowserModule,\n HttpClientModule,\n // ...environment.optionalModules,\n AppRoutingModule,\n DragDropModule,\n FormsModule,\n ReactiveFormsModule,\n DataTablesModule,\n NgbAlertModule,\n NgbTypeaheadModule,\n NgbAccordionModule,\n NgbDropdownModule,\n NgbTooltipModule,\n NgbPopoverModule,\n NgbNavModule,\n NgbToastModule,\n NgxSliderModule,\n BrowserAnimationsModule,\n MatSidenavModule,\n MatMenuModule,\n MatChipsModule,\n MatIconModule,\n ClipboardModule,\n NgbModule\n ],\n providers: [Title],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-benchmark',\n templateUrl: './benchmark.component.html',\n styleUrls: ['./benchmark.component.scss']\n})\nexport class BenchmarkComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n

Benchmarks

\n\n
\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
Server2021-03-052021-02-192021-01-292021-01-152021-01-012020-12-252020-12-182020-12-112020-11-132020-10-022020-09-11
\n ARB\n 7863623738685136504551
\n SMMPMBEC\n 7462634131638068654551
\n NetMHCSPan 4.0\n 7462634131638068654551
\n NetMHCcons\n 7462634131638068654551
\n DeepSeqPa\n 7462634131638068654551
\n NetMHCpan 2.8\n 7462634131638068654551
\n SMM\n 5655616231638068654551
\n ANN 4.0\n 5655616231638068654551
\n mhcflurry 1.2.0\n 4344447031638068654551
\n Pickpocket\n 2523352331633018575441
\n NetMHCpan 3.0\n 666561
\n Ann 3.4\n 666666
\n
\n\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport _ from 'lodash';\nimport {environment} from \"../../environments/environment\";\n\nimport Citation from \"../_global/Citation\"\n\n@Component({\n selector: 'app-citation',\n templateUrl: './citation.component.html',\n styleUrls: ['./citation.component.scss']\n})\nexport class CitationComponent implements OnInit {\n\n loading: boolean = false;\n citations: any[] = [];\n uniq: string[] = []\n groupedCitations: {\"T cell - class I\": Citation[]} = {\"T cell - class I\": []}\n\n constructor(\n private http: HttpClient\n ) { }\n\n ngOnInit(): void {\n this.loading = true;\n const CITATIONS_API_URL = `${environment['api_url']}/api/v1/citations`;\n this.http.get(CITATIONS_API_URL).subscribe(value => {\n this.citations = value.data;\n // this.citations = _.orderBy(value.data, ['grouping_title', 'key']) /** uncomment later */\n this.uniq = []\n _.forEach(this.citations, (c) => {\n if (!this.uniq.includes(c.grouping_title)) {\n this.uniq.push(c.grouping_title)\n console.log(c.grouping_title)\n // @ts-ignore\n this.groupedCitations[c.grouping_title] = [c]\n } else {\n // @ts-ignore\n this.groupedCitations[c.grouping_title].push(c)\n }\n })\n console.log(this.uniq)\n console.log(this.groupedCitations)\n this.loading = false;\n })\n }\n\n\n\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n Loading...\n
\n
\n
\n

Cite Us

\n

Publications for each of the individual methods that have been implemented on this site\n are listed below, as well as publications describing the IEDB Analysis Resource in general. Please cite\n accordingly in any works published that make use of this resource.

\n
\n
\n \n \n

{{citation.key}}

\n

\n {{article.display_name}} ({{article.method_version}})\n \n {{article.citation_html}}\n

\n
\n
\n
\n\n
\n
\n","import {Component, OnInit, OnDestroy, OnChanges, Input, Output, EventEmitter, ViewChild, ElementRef, SimpleChanges} from '@angular/core';\nimport {UntypedFormGroup, UntypedFormBuilder, FormGroupDirective, UntypedFormArray} from \"@angular/forms\";\nimport {Title} from \"@angular/platform-browser\";\nimport {takeUntil, debounce} from \"rxjs/operators\";\nimport {Observable, timer, of, from, Subject, concat, Subscription} from \"rxjs\";\nimport _ from 'lodash';\n\n// import {ChangeContext, Options} from '@angular-slider/ngx-slider';\nimport {ChangeContext, Options, CustomStepDefinition} from 'ngx-slider-v2'\n\nimport Columns from \"../_global/Columns\";\nimport {PipelineService} from \"../services/pipeline-service/pipeline.service\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {SequenceParserService} from \"../services/sequence-parser/sequence-parser.service\";\n\nimport Stage from \"../_global/Stage\";\nimport PipelineParams from \"../_global/PipelineParams\";\nimport * as pipelineData from \"../services/data/cluster-sample.json\";\nimport {\n initClusterTool,\n} from \"../services/state-services/default-stage-states\";\nimport {isASCII, IsJsonString, ltrim} from \"../util/string-helpers\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {Location} from \"@angular/common\";\nimport Tool from \"../_global/Tool\";\nimport {AlertServiceService} from \"../services/alert-service/alert-service.service\";\nimport {columnListToObject} from \"../util/convert-columns\";\nimport {environment} from \"../../environments/environment\";\nimport onCsvDownloadAllClickedNew from \"../util/on-csv-download\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {isMaxLength} from \"../util/is-max-length\";\n\n@Component({\n selector: 'app-cluster',\n templateUrl: './cluster.component.html',\n styleUrls: ['./cluster.component.scss']\n})\nexport class ClusterComponent implements OnInit, OnDestroy, OnChanges {\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n unsubscribe$ = new Subject();\n tools$: Observable = this._stateService.tools$;\n stages$: Observable = this._stateService.stages$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n active = 1\n\n pipelineUrl: string = ''\n\n pipelineId = '';\n tools: Tool[] = [];\n stages: Stage[] = [];\n params!: PipelineParams;\n\n /** Form variables */\n clusterForm!: UntypedFormGroup;\n @Input() emailForm!: UntypedFormGroup;\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n threshold: false,\n lengths: false,\n predictors: false,\n table_state: false,\n }\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n @Output() emitOnCancel = new EventEmitter();\n\n @Input() formGroupName!: string\n @Input() index!: number\n // @Input() index!: number\n @Input() resultUrl!: string | undefined;\n\n\n @Input() showEmailModal: boolean = false;\n @Output() shoeEmailModalChange = new EventEmitter(); // used for run all\n @Output() openEmailModal = new EventEmitter();\n\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('emailModal') emailModal! : ElementRef;\n // showEmailModal: boolean = false;\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n\n thresholdSliderOptions: Options = {\n floor: 0,\n ceil: 100,\n showTicksValues: true,\n translate: (value) => `${value * 100}%`,\n stepsArray: [\n {value: 0.1},\n {value: 0.2},\n {value: 0.3},\n {value: 0.4},\n {value: 0.5},\n {value: 0.6},\n {value: 0.7},\n {value: 0.8},\n {value: 0.9},\n {value: 1},\n ]\n }\n\n // minValue: number = 5;\n // maxValue: number = 26;\n peptideLengthOptions: Options = {\n showTicks: true,\n stepsArray: _.map(_.range(4, 27), (num): CustomStepDefinition => {return {value: num, legend: num % 5 === 0 ? `${num}` : undefined}}),\n minRange: 1,\n noSwitching: true,\n translate: (value) => {\n if (value === 4) return 'No Min';\n if (value === 26) return 'No Max';\n else return `${value}`;\n }\n }\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters: number = 0;\n seqFormat: string = 'Unknown';\n\n pipelineLoading = false;\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n\n tableStateSaving = false;\n saveState = false;\n\n resultId: number = 0;\n\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n peptide_table_order: any[] = [];\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n defaultOrder: any[] = [];\n\n // apiStatus: string;\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n closeResult = '';\n\n // d3-force variable\n links: any[] = [];\n uniqueClusters: string[] = [];\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private fb: UntypedFormBuilder,\n private location: Location,\n private titleService: Title,\n private modalService: NgbModal,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private sequenceParserService: SequenceParserService\n ) { }\n\n ngOnInit(): void {\n this.clusterForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n })\n\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n // if (this.tools[this.index]?.submitted){this.submitted = true}\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges();\n if(this.clusterForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.clusterForm.get('inputSequenceText')?.value)\n }\n\n // if(this.loading) {\n // this.disableInputs()\n // }\n\n // if (this.resultUrl) {\n // this.loading = true;\n // this.getResultsSetInterval(this.resultUrl);\n // }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges cluster')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n getResultsSetInterval(result_url: string) {\n /** */\n this.getResultsClicked = true\n\n this.sequence_table = [[]]\n this.peptide_table = [[]]\n this.uniqueClusters = []\n\n\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(result_url).subscribe(resp => {\n if (resp['status'] === 'error' || resp['errors']) {\n this.errorMessages = resp['data']['errors'];\n this.warningMessages = resp['data']['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n if (resp['status'] === 'done') {\n /** 1) Create Column */\n const data = resp['data']['results'];\n console.log(data);\n\n this.active = data[0].type\n\n _.forEach(data, table => {\n if (table.type === 'peptide_table') {\n this.peptide_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // console.log(column);\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['name'] = source === 'core' ? display_name: `${source} ${display_name}`;\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n });\n this.peptide_table_order = [...this.defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n }\n }\n if (table.type === 'network_graph') {\n // set d3-force inputs\n this.links = data[1].graph_data;\n this.uniqueClusters = [];\n _.forEach(this.links, (link) => {\n if(!this.uniqueClusters.includes(link.cluster[0])) {\n this.uniqueClusters.push(link.cluster[0]);\n }\n });\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n return column\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n })\n\n this.submitted = true; this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n console.log(data);\n this.enableInputs();\n\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n // this.apiStatus = resp['status'];\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n }, error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.submitted = true;\n this.loading = false;\n })\n }, milliseconds);\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n\n this.eventsSubscription.unsubscribe();\n this.runAllSubscription.unsubscribe();\n }\n\n get inputSequenceText(){\n return this.clusterForm.get('inputSequenceText')?.value\n }\n\n onLengthChange(changeContext: ChangeContext): void {\n this.inputChange.lengths = this.submitted;\n }\n\n onThresholdChange(changeContext: ChangeContext): void {\n this.inputChange.threshold = this.submitted;\n }\n\n onChanges(): void {\n /** Immediate - Deletion, */\n // this.clusterForm.get('inputSequenceText').valueChanges.subscribe(val => {\n // if (val === '') { // delete\n // this.filteredSequences = [];\n // this.numOfAA = 0;\n // // this.alertService.clear();\n // // this.myForm.patchValue({\n // // inputFormat: 0\n // // });\n // }\n // })\n\n /** PredictionModel sessionStorage */\n this.clusterForm.get('method')?.valueChanges.subscribe(() => {\n this.inputChange.predictors = this.submitted\n });\n\n const sequenceFieldChange = this.clusterForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n\n sequenceFieldChange?.subscribe((val: string) => {\n sessionStorage.setItem('clusterSequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n // this.alertService.clear();\n // this.myForm.patchValue({\n // inputFormat: 0\n // });\n }\n });\n }\n\n /** Download Sequence File API calls*/\n\n onDownloadJson() {\n console.log(this.synthesisDownloadLinks.sequence_list_json_uri);\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadFasta() {\n console.log(this.synthesisDownloadLinks.sequence_list_fasta_uri);\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n }\n onDownloadOriginal() {\n console.log(this.synthesisDownloadLinks.download_sequences);\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n open(content: any) {\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true\n }).result.then((result) => {\n this.saveState = false;\n // this.closeResult = `Closed with: ${result}`;\n }, (reason) => {\n this.saveState = false;\n // this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n sequenceParser(val: string) {\n\n const firstChar = ltrim(val)[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n if(val.length > this.maxCharacters) {\n // Skip parsing\n } else if (firstChar === '>' && this.sequenceParserService.fastaValidate(val)) { // fasta\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if ((firstChar === '{' || firstChar === '[') && IsJsonString(val)) { // json\n this.seqFormat = 'JSON'\n this.numOfCharacters = slicedVal.length\n } else if (firstLineNumOfElements === 2 && this.sequenceParserService.namedWhiteSpaceValidate(val, separator)) {\n // named white space\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val.length > 3 && !val.includes('>') && this.sequenceParserService.unnamedWhiteSpaceValidate(val)) {\n // Unnamed\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val === '') { // delete\n /**\n * Takes care of it up top - still need this if statement\n * */\n this.seqFormat = 'Unknown';\n this.numOfCharacters = 0\n } else { // error\n this.seqFormat = 'Error';\n this.numOfCharacters = 0\n }\n }\n\n onDownloadParameter() {\n const data = this._pipelineService.convertClusterForm(this.clusterForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n this.disableInputs();\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n if (resp['errors'] && resp['errors'].length) {\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n const submittedClusterTool = Object.assign(initClusterTool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedClusterTool, this.index);\n this.enableInputs();\n return;\n }\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n if (this.showEmailModal) {\n this.open(this.emailModal);\n }\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n this.location.go(`pipeline/${resp.pipeline_id}`);\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.inputChange.table_state = false;\n this.enableInputs();\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n }\n },\n error => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n });\n }\n\n onRunAll() {\n // this.setDefaultFormValues() // not needed because all defaults are already set in formValues\n this.emitIndex.emit(this.index);\n }\n\n onRunMain() {\n if(this.clusterForm.invalid){\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }\n }\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n this.saveState ? this.onSaveTableState() : this.onRun();\n }\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n const {input_sequence_text } = pipelineData;\n /** Sequences */\n let sequences = this.clusterForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(input_sequence_text);\n this.clusterForm.controls.inputSequenceText.setValue(input_sequence_text);\n }\n }\n\n onRun() {\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.clusterForm.value.inputSequenceText\n\n /** input_parameters */\n const input = this._pipelineService.convertClusterForm(this.clusterForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n {\n \"stage_display_name\": \"Cluster\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"cluster\",\n \"input_sequence_text\": sequences,\n // \"input_stage_number\": 1,\n \"input_parameters\": input,\n \"table_state\": table_state\n }\n ]\n }\n /** set params */\n this._stateService.setParams(params);\n const loadingClusterTool = Object.assign(initClusterTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n console.log(loadingClusterTool)\n console.log(`this.index=${this.index}`);\n this._stateService.insertTool(loadingClusterTool, this.index);\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n this.loading = true;\n this.postPipelineAPI(params);\n }\n\n onRun2() {\n\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n // this.setDefaultFormValues() // no need because no sequences\n /** input_parameters */\n const input = this._pipelineService.convertClusterForm(this.clusterForm)\n\n const initialStage = this.stages[this.index];\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage = {\n ...initialStage,\n result_url: undefined,\n \"input_stage_number\": input_stage_number,\n \"input_parameters\": input,\n table_state\n }\n\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n console.log(params)\n\n /** set params */\n this._stateService.setParams(params);\n const loadingClusterTool = Object.assign(initClusterTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n console.log(loadingClusterTool)\n console.log(`onRun2() - this.index=${this.index}`);\n this._stateService.insertTool(loadingClusterTool, this.index);\n this.loading = true;\n this.postPipelineAPI(params);\n }\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n this.inputChange.table_state = false;\n // this.submitted = false;\n const currentTool = this.tools[this.index];\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onFilterApplied() {\n this.inputChange.table_state = this.submitted;\n }\n\n onClearTableState() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state = this.submitted;\n }\n\n onShowEmailModalChange() {\n this.showEmailModal = !this.showEmailModal\n this.shoeEmailModalChange.emit(this.showEmailModal)\n }\n\n onSaveTableStateMain() {\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n this.onSaveTableState();\n }\n }\n\n onSaveTableState() {\n const tool_group = 'cluster'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.peptide_table_columns, tool_group)\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n // stageTemp.table_state.columns = colObj;\n stageTemp.table_state = [{table: 'peptide_table', columns: colObj}];\n\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.saveState = false;\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.clusterForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n sendNotification() {\n // TODO - used in email modal\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n\n const oldSequence = this.stages[this.index].input_sequence_text\n const input_parameters = this.params.stages[this.index].input_parameters\n\n // sequences\n this.filteredSequences = [];\n this.numOfAA = 0;\n // order\n this.peptide_table_order = [];\n this.defaultOrder = [];\n // clusterForm values\n const peptideLength = [0, 0];\n\n const initPredictor = {\n type: 'cluster',\n method: 'cluster-break',\n }\n const pm = this.clusterForm.controls.predictionModels as UntypedFormArray\n pm.clear({emitEvent: false})\n pm.push(this.fb.group(initPredictor), {emitEvent: false});\n\n this.clusterForm.patchValue({\n inputSequenceText: '',\n peptideLength,\n }, {emitEvent: false});\n\n this.enableInputs()\n\n if(this.submitted){\n this.inputChange = {\n ...this.inputChange,\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: oldSequence !== '',\n threshold: input_parameters.cluster_pct_identity !== 0.7,\n lengths: !_.isEqual(peptideLength, input_parameters.peptide_length_range),\n predictors: !_.isEqual([initPredictor], input_parameters.predictors),\n }\n }\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n uploadParameterFile($event: any, input: any) {\n console.log($event);\n $event.preventDefault();\n // /**\n // * Used for 'Upload' button to upload parameters\n // * */\n // const {files} = $event.target;\n // files && this.onParameterFileDropped(files, input);\n }\n\n /** changes peptideLengthSliderOptions */\n\n enableInputs() {\n // this.clusterForm.enable({emitEvent: false});\n this.clusterForm.controls['method'].enable({emitEvent: false})\n this.thresholdSliderOptions = Object.assign({}, this.thresholdSliderOptions, {disabled: false});\n this.peptideLengthOptions = Object.assign({}, this.peptideLengthOptions, {disabled: false})\n }\n\n disableInputs() {\n // this.clusterForm.disable({emitEvent: false});\n this.clusterForm.controls['method'].disable({emitEvent: false})\n this.thresholdSliderOptions = Object.assign({}, this.thresholdSliderOptions, {disabled: true});\n this.peptideLengthOptions = Object.assign({}, this.peptideLengthOptions, {disabled: true})\n }\n\n onErrorMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.errorMessages.splice(index, 1);\n }\n this.errorMessages = _.filter(this.errorMessages, (em) => em !== message);\n }\n\n onWarningMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.warningMessages.splice(index, 1);\n }\n this.warningMessages = _.filter(this.warningMessages, (wm) => wm !== message);\n }\n\n}\n","
\n
\n

{{index + 1}}

\n
\n
\n
\n

Cluster

\n
\n \n \n \n \n
\n
\n\n \n
\n
Input Sequence(s)
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n \n FASTA\n \n Original\n \n
\n
\n
\n  \n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n Format: {{seqFormat}} | {{numOfCharacters | number}} characters\n \n \n \n Parameter changed since prediction.\n \n
\n
\n
\n \n
\n
Prediction Parameters
\n
\n \n
\n
\n \n
\n
\n  \n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n \n
\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n
\n\n
\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n \n
\n\n
\n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n\n
\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n \n
\n\n\n
\n \n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {Title} from \"@angular/platform-browser\";\n\nimport {GoogleAnalyticsService} from '../services/google-analytics/google-analaytics.service';\nimport {SharedService} from '../services/google-analytics/shared.service';\n\ndeclare let gtag: Function;\n\n@Component({\n selector: 'app-cookie-dialog',\n templateUrl: './cookie-dialog.component.html',\n styleUrls: ['./cookie-dialog.component.css'],\n providers: [GoogleAnalyticsService]\n})\nexport class CookieDialogComponent implements OnInit {\n\n constructor(private router: Router, private googleAnalyticsService: GoogleAnalyticsService, public sharedService: SharedService, private titleService:Title) { }\n public closePopup = false;\n\n\n ngOnInit() {\n // if (this.getConsent()) {\n if (this.getUserAnswered()) {\n\n this.accept();\n }\n else {\n //delete all cookies from this page\n this.deny();\n this.sharedService.acceptedConsent = false;\n this.closePopup = false;\n }\n }\n\n public showCookieDialog() {\n this.closePopup = false;\n }\n\n\n public loadScript() {\n let body = document.body;\n let script = document.createElement('script');\n script.innerHTML = '';\n script.src = 'https://www.googletagmanager.com/gtag/js?id=G-MFNL7MJ8EV';\n script.async = true;\n script.defer = true;\n body.appendChild(script);\n }\n\n public deny(): void {\n this.sharedService.acceptedConsent = false;\n this.deleteCookie(\"_ga\");\n this.deleteCookie(\"_ga_MFNL7MJ8EV\");\n this.setConsent(false);\n this.closePopup = true;\n }\n\n public accept(): void {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n if (typeof gtag !== 'undefined') {\n gtag('config', 'G-MFNL7MJ8EV', {\n page_title: event.urlAfterRedirects,\n page_location: event.urlAfterRedirects,\n page_path: event.urlAfterRedirects,\n });\n }\n }\n });\n this.loadScript();\n this.googleAnalyticsService.eventEmitter(this.titleService.getTitle(), window.location.href, \"Visit\", 'Visit', 1);\n this.sharedService.acceptedConsent = true;\n this.setConsent(true);\n // this.setUserAnswered(true);\n this.closePopup = true;\n }\n\n public contactFormUsed() {\n if(this.getConsent()) {\n this.googleAnalyticsService.eventEmitter('Contact', 'Contact', \"Contact\", 'Contact', 1);}\n }\n\n public getUserAnswered(): boolean {\n\n return localStorage.getItem('user_answered') === 'true';\n\n }\n\n public setUserAnswered(value: boolean): void {\n localStorage.setItem('user_answered', value ? 'true' : 'false');\n }\n\n public getConsent(): boolean {\n\n return localStorage.getItem('cookies_consented') === 'true';\n\n }\n\n public setConsent(value: boolean): void {\n localStorage.setItem('cookies_consented', value ? 'true' : 'false');\n }\n\n private deleteCookie(name: string) {\n this.setCookie(name, '', -1);\n }\n\n private setCookie(name: string, value: string, expireDays: number, path: string = 'path=/;') {\n let d: Date = new Date();\n d.setTime(d.getTime() + expireDays * 24 * 60 * 60 * 1000);\n let expires: string = `expires=${d.toUTCString()}`;\n let domain : string = \"localhost\";\n\n if(window.location.hostname != \"localhost\")\n {\n // if window.location.hostname is not equal to 'localhost' then check environment.production and set to prod/dev domain\n domain = 'iedb.org'\n }\n let cpath: string = path ? `; path=${path}; domain=${domain}` : '';\n document.cookie = `${name}=${value}; ${expires}${cpath}`;\n }\n\n}\n","
\n
\n \n
\n

Privacy settings

\n

\n We use cookies to gather anonymized analytics data and use this information to monitor website performance and\n make user interface improvements. You can learn more about our use of cookies and how your privacy is managed\n in our Privacy Policy\n\n

\n
\n \n \n
\n
\n
\n
\n
\n","import {AfterViewInit, Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport * as d3 from \"d3\";\nimport _ from 'lodash';\nimport {BehaviorSubject} from \"rxjs\";\n\ninterface IAData {\n label: string,\n value: number\n}\n\n\n@Component({\n selector: 'app-d3-force',\n templateUrl: './d3-force.component.html',\n styleUrls: ['./d3-force.component.scss']\n})\n\nexport class D3ForceComponent implements AfterViewInit {\n @ViewChild(\"containerForceChart\") element: ElementRef | undefined\n\n // initialize a private variable _data, it's a BehaviorSubject\n private _data = new BehaviorSubject([]);\n\n // change data to use getter and setter\n @Input()\n set data(value) {\n // set the latest value for _data BehaviorSubject\n this._data.next(value);\n };\n\n get data() {\n // get the latest value from _data BehaviorSubject\n return this._data.getValue();\n }\n\n @Input() uniqueClusters: string[] = [];\n\n private host: d3.Selection | undefined\n private svg?: d3.Selection\n private width: number = 960;\n private height: number = 600;\n private radius: number = 10;\n\n private htmlElement?: HTMLElement;\n\n private links: any[] = [];\n nodes = {}\n\n constructor(private http: HttpClient) { }\n\n ngAfterViewInit() {\n this.htmlElement = this.element?.nativeElement;\n // @ts-ignore\n this.host = d3.select(this.htmlElement);\n this.buildSVG()\n\n this._data\n .subscribe(data => {\n this.links = data;\n this.buildForce()\n })\n }\n\n private buildSVG(): void {\n this.host?.html(\"\");\n\n // zoom\n const zoom: d3.ZoomBehavior = d3.zoom()\n .scaleExtent([-1, 3])\n .on(\"zoom\", event => {\n this.svg?.attr('transform', event.transform)\n })\n\n\n // @ts-ignore\n this.svg = this.host?.append(\"svg\")\n .attr(\"width\", this.width)\n .attr(\"height\", this.height) // add zoom feature here\n .call(zoom)\n .append(\"g\")\n }\n\n private buildForce(): void {\n _.forEach(this.links, (link) => {\n // @ts-ignore\n link.source = this.nodes[link.source] || (this.nodes[link.source] = {name: link.source, cluster: link.cluster});\n // @ts-ignore\n link.target = this.nodes[link.target] || (this.nodes[link.target] = {name: link.target, cluster: link.cluster});\n })\n\n this.nodes = {}\n\n _.forEach(this.links, (link) => {\n // @ts-ignore\n if( this.nodes[link.source.name] ){\n // @ts-ignore\n this.nodes[link.source.name].cluster = this.nodes[link.source.name].cluster.concat(link.cluster)\n }\n else{ // @ts-ignore\n this.nodes[link.source.name] = {\n name: link.source.name,\n cluster: link.cluster\n }\n }\n // @ts-ignore\n link.source = this.nodes[link.source.name]\n // @ts-ignore\n if( this.nodes[link.target.name] ){\n // @ts-ignore\n this.nodes[link.target.name].cluster = this.nodes[link.target.name].cluster.concat(link.cluster)\n }\n else{\n // @ts-ignore\n this.nodes[link.target.name] = {\n name: link.target.name,\n cluster: link.cluster\n }\n }\n // @ts-ignore\n link.target = this.nodes[link.target.name]\n })\n\n // @ts-ignore\n let simulation = d3.forceSimulation(Object.values(this.nodes))\n .force(\"charge\", d3.forceManyBody().strength(-10))\n .force(\"link\", d3.forceLink(this.links))\n .force('center', d3.forceCenter(this.width/2, this.height/2))\n // @ts-ignore\n const link = this.svg\n .selectAll(\".link\")\n .data(this.links)\n .enter().append(\"line\")\n .style(\"stroke\", \"#6b7071\")\n .attr(\"class\", (d) => \"link \"+ d.cluster.join(' '));\n\n // mouseover\n const mouseover = (event: { currentTarget: any; }, d: any) => {\n d3.select(event.currentTarget).select(\"circle\").transition()\n .duration(750)\n .attr(\"r\", 8)\n\n d3.select(event.currentTarget).select(\"text\").transition()\n .duration(750)\n .attr(\"visibility\", \"visible\");\n }\n\n // mouseout\n const mouseout = (event: { currentTarget: any; }, d: any) => {\n d3.select(event.currentTarget).select(\"circle\").transition()\n .duration(750)\n .attr(\"r\", 4.5);\n\n d3.select(event.currentTarget).select(\"text\").transition()\n .duration(750)\n .attr(\"visibility\", \"hidden\");\n }\n // @ts-ignore\n const drag = simulation => {\n\n function dragstarted(event: { active: any; subject: { fx: any; x: any; fy: any; y: any; }; }) {\n if (!event.active) simulation.alphaTarget(0.3).restart();\n event.subject.fx = event.subject.x;\n event.subject.fy = event.subject.y;\n }\n\n function dragged(event: { subject: { fx: any; fy: any; }; x: any; y: any; }) {\n event.subject.fx = event.x;\n event.subject.fy = event.y;\n }\n\n function dragended(event: { active: any; subject: { fx: null; fy: null; }; }) {\n if (!event.active) simulation.alphaTarget(0);\n event.subject.fx = null;\n event.subject.fy = null;\n }\n\n return d3.drag()\n .on(\"start\", dragstarted)\n .on(\"drag\", dragged)\n .on(\"end\", dragended);\n }\n // @ts-ignore\n let node = this.svg\n .selectAll(\".node\")\n .data(Object.values(this.nodes))\n .enter().append(\"g\")\n .attr(\"class\", (d: any) => \"node \"+ d['cluster'].join(' '))\n .on('mouseover', mouseover)\n .on('mouseout', mouseout)\n // @ts-ignore\n .call(drag(simulation))\n\n const circle = node.append(\"circle\")\n .attr(\"r\", 4.5);\n\n const label = node.append(\"text\")\n .attr(\"dy\", \".35em\")\n .attr('visibility','hidden')\n .text(function(d: any) { return d['name']; });\n\n simulation.on(\"tick\", () => {\n link\n .attr(\"x1\", d => d.source.x)\n .attr(\"y1\", d => d.source.y)\n .attr(\"x2\", d => d.target.x)\n .attr(\"y2\", d => d.target.y);\n circle.attr(\"cx\", (d:any) => d['x']).attr(\"cy\", (d: any) => d['y']);\n label.attr(\"x\", function(d: any) { return d['x'] + 8; }).attr(\"y\", function(d: any) { return d['y']; });\n });\n }\n\n private populateForce(): void {\n /** can break down buildForce to populate Force here.*/\n }\n\n onFilterGraph(e: any) {\n e.preventDefault();\n const value = e.target.value;\n /* https://gitlab.lji.org/iedb/tools/djangotools/-/blob/master/cluster2/templates/cluster2/results.html#L340 */\n if (value == 'all'){\n $(\".node\").show();\n $(\".link\").show();\n }\n else{\n\n $(\".node\").hide();\n $(\".link\").hide();\n\n $(\".\"+value).show();\n }\n }\n\n}\n","
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n

Interactive Cluster Visualization

\n \n Visualize a selected Sub-cluster\n \n \n
\n
\n
\n","import {AfterViewInit, Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport * as d3 from \"d3\";\nimport {BehaviorSubject} from \"rxjs\";\nimport _ from \"lodash\";\n\n@Component({\n selector: 'app-d3-plot',\n templateUrl: './d3-plot.component.html',\n styleUrls: ['./d3-plot.component.scss']\n})\nexport class D3PlotComponent implements AfterViewInit {\n @ViewChild(\"containerScatterPlot\") element: ElementRef | undefined\n\n /** initialize a private variable _data, it's a BehaviorSubject */\n // private _data = new BehaviorSubject([]);\n private _data = new BehaviorSubject([]);\n\n @Input() plotData!: any\n /**\n {\n : {\n : float, : float,\n : string, : string\n }\n }\n * */\n plottedPoints: any = []\n selectedAllele = ''\n selectedSeries = ''\n uniqueAlleles: string[] = []\n series: string[] = []\n\n // change data to use getter and setter\n @Input()\n set data(value) {\n // set the latest value for _data BehaviorSubject\n this._data.next(value);\n };\n\n get data() {\n // get the latest value from _data BehaviorSubject\n return this._data.getValue();\n }\n\n private svg: any; // private svg?: d3.Selection\n private focus: any;\n\n private margin = {top: 40, right: 70, bottom: 50, left: 70}\n private width = 520 - this.margin.left - this.margin.right\n private height = 470 - this.margin.top - this.margin.bottom\n\n private htmlElement?: HTMLElement;\n\n constructor() {}\n\n ngOnInit(): void {\n // this.createSvg();\n // this.drawPlot();\n console.log(this.plotData)\n\n\n this.series = _.chain(this.plotData)\n .map((series) => series.series_name)\n .uniq()\n .value()\n\n // console.log(this.series)\n this.selectedSeries = this.series[0]\n\n this.uniqueAlleles = this.uniqueAlleles = _.chain(this.plotData)\n .map((series) =>series.allele)\n .uniq()\n .value()\n\n // console.log(this.uniqueAlleles)\n this.selectedAllele = this.uniqueAlleles[0]\n }\n\n ngAfterViewInit() {\n\n this.createSvg()\n this.drawPlot()\n }\n\n private createSvg(): void {\n this.htmlElement = this.element?.nativeElement;\n\n // const zoom: d3.ZoomBehavior = d3.zoom()\n // .scaleExtent([-1, 3])\n // .on(\"zoom\", event => {\n //\n // this.svg?.attr('transform', event.transform)\n // })\n\n // @ts-ignore\n this.svg = d3.select(this.htmlElement)\n .append(\"svg\")\n .attr(\"width\", this.width + (this.margin.left + this.margin.right))\n .attr(\"height\", this.height + (this.margin.top + this.margin.bottom))\n .attr(\"class\", \"allele-plot\")\n\n this.focus = this.svg.append(\"g\")\n .attr(\"class\", \"focus\")\n .attr(\"transform\", \"translate(\" + this.margin.left + \",\" + this.margin.top + \")\")\n // .call(zoom)\n\n }\n\n private drawPlot(\n selectedAllele: string = this.selectedAllele,\n selectedSeries: string = this.selectedSeries,\n ): void {\n /**\n * Set up plottedPoints\n [\n {\n : float, : float,\n : string, : string\n }\n ]\n * */\n // _.forEach(_.zip(['a', 'b', 'c'], [1, 2, 3]), _.spread(function(name, score){ /* */ }));\n\n let selected = _.find(this.plotData, {series_name: selectedSeries, allele: selectedAllele})\n // console.log(selected)\n if (selected) {\n // zip\n this.plottedPoints = []\n _.forEach(\n _.zip(selected!['x_values'], selected!.y_values, selected!.x_labels, selected!.y_labels),\n _.spread((x_val, y_val, x_lab, y_lab) => {\n this.plottedPoints.push({\n peptidea: x_val, peptideb: y_val,\n sequenceA: x_lab, sequenceB: y_lab\n })\n }))\n\n /**\n * Set up D3 elements\n * */\n\n // this.htmlElement = this.element?.nativeElement;\n /** TOOLTIPS\n * tooltip - coordinates\n * seqTooltip - sequences\n * */\n // @ts-ignore\n let tooltip = d3.select(this.htmlElement)\n .append(\"div\")\n .style(\"opacity\", 0)\n .attr(\"class\", \"tooltip\")\n .style(\"background-color\", \"white\")\n .style(\"border\", \"solid\")\n .style(\"border-width\", \"2px\")\n .style(\"border-radius\", \"5px\")\n .style(\"padding\", \"5px\")\n\n // @ts-ignore\n let seqTooltip = d3.select(this.htmlElement)\n .append(\"div\")\n .style(\"position\", \"absolute\")\n .style(\"opacity\", 0)\n .attr(\"class\", \"tooltip\")\n .style(\"background-color\", \"white\")\n .style(\"border\", \"solid\")\n .style(\"border-width\", \"2px\")\n .style(\"border-radius\", \"5px\")\n .style(\"padding\", \"5px\")\n\n // Title\n this.focus.append(\"text\")\n .attr(\"x\", (this.width / 2))\n .attr(\"y\", 0 - (this.margin.top / 2))\n .attr(\"text-anchor\", \"middle\")\n .style(\"font-size\", \"16px\")\n .style(\"text-decoration\", \"underline\")\n .text(selected.title);\n // Add X axis\n\n const x = d3.scaleLinear()\n .domain(selected.x_range)\n .range([0, this.width]);\n\n const xAxis = this.focus.append(\"g\")\n .attr(\"transform\", \"translate(0,\" + this.height + \")\")\n .call(d3.axisBottom(x));\n\n // Add X axis label:\n this.focus.append(\"text\")\n .attr(\"text-anchor\", \"middle\")\n .attr(\"x\", (this.width / 2))\n .attr(\"y\", 420)\n .text(selected.x_title); // add here\n\n // Add Y axis\n const y = d3.scaleLinear()\n .domain(selected.y_range)\n .range([this.height, 0]);\n\n const yAxis = this.focus.append(\"g\")\n .call(d3.axisLeft(y));\n\n // Y axis label:\n this.focus.append(\"text\")\n .attr(\"text-anchor\", \"end\")\n .attr(\"transform\", \"rotate(-90)\")\n .attr(\"y\", -this.margin.left + 20)\n // .attr(\"y\", (this.height / 2))\n .attr(\"x\", -150)\n .text(selected.y_title) // add here\n\n /** draw line old */\n // const line = this.focus.append('line')\n // .style('stroke', 'black')\n // .style(\"stroke-dasharray\",\"5,5\")//dashed array for line\n // .style(\"stroke-width\", 1)\n // .attr(\"x1\", x(0))\n // .attr(\"y1\", y(0))\n // .attr(\"x2\", x(1))\n // .attr(\"y2\", y(1))\n\n /** draw line */\n // let lineData = {x1: -1, y1: -1, x2: 1, y2: 1, strokeWidth: 1}\n let lineData = {\n x1: selected.x_range[0],\n y1: selected.y_range[0],\n x2: selected.x_range[1],\n y2: selected.y_range[1],\n strokeWidth: 1\n }\n const line = this.focus.append('g')\n .attr(\"clip-path\", \"url(#clip)\")\n .attr('class', 'line-group')\n .selectAll('line').data([lineData])\n .enter().append(\"line\")\n .attr(\"x1\", (d: any) => (x(d.x1)))\n .attr(\"y1\", (d: any) => (y(d.y1)))\n .attr(\"x2\", (d: any) => (x(d.x2)))\n .attr(\"y2\", (d: any) => (y(d.y2)))\n .style('stroke', 'grey')\n .style(\"stroke-dasharray\", \"5,5\")//dashed array for line\n .style(\"stroke-width\", (d: any) => d.strokeWidth)\n\n let lineDataY = {x1: -1e100, y1: 0, x2: 1e100, y2: 0, strokeWidth: 1}\n const lineY = this.focus.append('g')\n .attr(\"clip-path\", \"url(#clip)\")\n .attr('class', 'line-group')\n .selectAll('line').data([lineDataY])\n .enter().append(\"line\")\n .attr(\"x1\", (d: any) => (x(d.x1)))\n .attr(\"y1\", (d: any) => (y(d.y1)))\n .attr(\"x2\", (d: any) => (x(d.x2)))\n .attr(\"y2\", (d: any) => (y(d.y2)))\n .style('stroke', 'grey')\n // .style(\"stroke-dasharray\",\"5,5\")//dashed array for line\n .style(\"stroke-width\", (d: any) => d.strokeWidth)\n\n let lineDataX = {x1: 0, y1: -1e100, x2: 0, y2: 1e100, strokeWidth: 1}\n const lineX = this.focus.append('g')\n .attr(\"clip-path\", \"url(#clip)\")\n .attr('class', 'line-group')\n .selectAll('line').data([lineDataX])\n .enter().append(\"line\")\n .attr(\"x1\", (d: any) => (x(d.x1)))\n .attr(\"y1\", (d: any) => (y(d.y1)))\n .attr(\"x2\", (d: any) => (x(d.x2)))\n .attr(\"y2\", (d: any) => (y(d.y2)))\n .style('stroke', 'grey')\n // .style(\"stroke-dasharray\",\"5,5\")//dashed array for line\n .style(\"stroke-width\", (d: any) => d.strokeWidth)\n\n\n // 1) mouseover - insert the data point’s value and place it near the mouse.\n const mouseover = (event: any, d: any, n: any) => {\n tooltip\n .transition()\n .style(\"opacity\", 1)\n\n seqTooltip\n .transition()\n .style(\"opacity\", 1)\n // d3.select(this)\n // .style(\"stroke\", \"black\")\n // .style(\"opacity\", 1)\n }\n\n /** 2) mousemove\n * .toLocaleString() - format w/ commas for thousands separator\n *\n * */\n const mousemove = function (event: any, d: any, n: any) {\n tooltip\n .html(`Coordinates: (${d.peptidea}, ${d.peptideb})`)\n .style(\"left\", (event.x) / 2 + \"px\") // It is important to put the +90: other wise the tooltip is exactly where the point is an it creates a weird effect\n .style(\"top\", (event.y) / 2 + \"px\")\n .style('margin-top', '10px')\n\n // const [left, top] = d3.pointer(event);\n\n seqTooltip.html(`peptide A: ${d.sequenceA}
\n peptide B: ${d.sequenceB}`)\n .style(\"left\", (event.pageX - 400) + \"px\")\n .style(\"top\", (event.pageY - 100) + \"px\")\n // .style(\"left\", (event.x+70) + \"px\")\n // .style(\"top\", (event.y) + \"px\")\n }\n\n // 3) mouseleave - A function that change this tooltip when the leaves a point: just need to set opacity to 0 again\n const mouseleave = function (event: any, d: any, n: any) {\n tooltip\n .transition()\n .style(\"opacity\", 0)\n\n seqTooltip\n .transition()\n .style(\"opacity\", 0)\n }\n\n // Add a clipPath: everything out of this area won't be drawn.\n const clip = this.svg.append(\"defs\").append(\"SVG:clipPath\")\n .attr(\"id\", \"clip\")\n .append(\"SVG:rect\")\n .attr(\"width\", this.width)\n .attr(\"height\", this.height)\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n\n\n // Create the dot/scatter variable: where both the circles and the brush take place\n // const scatter = this.svg.append('g')\n const dots = this.focus.append('g')\n .attr(\"clip-path\", \"url(#clip)\");\n // add dots\n\n // .data(this.plotData[selectedAllele])\n dots.selectAll(\"dot\")\n .data(this.plottedPoints)\n .enter()\n .append(\"circle\")\n .attr(\"r\", 4.5)\n .attr(\"cx\", (d: any) => x(d.peptidea))\n .attr(\"cy\", (d: any) => y(d.peptideb))\n .style(\"opacity\", .5)\n .style(\"fill\", \"#8FC2E8\")\n .attr(\"stroke\", \"#759dc3\")\n .attr(\"stroke-width\", 1.5)\n .on('mouseover', mouseover)\n .on(\"mousemove\", mousemove)\n .on(\"mouseleave\", mouseleave)\n\n\n // A function that updates the chart when the user zoom and thus new boundaries are available\n function updateChart(event: any, d: any) {\n\n // recover the new scale\n let newX = event.transform.rescaleX(x);\n let newY = event.transform.rescaleY(y);\n\n let scaleMultiplier = event.scale\n\n // update axes with these new boundaries\n xAxis.call(d3.axisBottom(newX))\n yAxis.call(d3.axisLeft(newY))\n\n // update circle position\n dots\n .selectAll(\"circle\")\n .attr(\"cx\", (d: any) => newX(d.peptidea))\n .attr(\"cy\", (d: any) => newY(d.peptideb))\n\n // redraw lines\n line\n .attr(\"x1\", (d: any) => (newX(d.x1)))\n .attr(\"y1\", (d: any) => (newY(d.y1)))\n .attr(\"x2\", (d: any) => (newX(d.x2)))\n .attr(\"y2\", (d: any) => (newY(d.y2)))\n .attr('stroke-width', (d: any) => d.strokeWidth * scaleMultiplier)\n\n lineX\n .attr(\"x1\", (d: any) => (newX(d.x1)))\n .attr(\"y1\", (d: any) => (newY(d.y1)))\n .attr(\"x2\", (d: any) => (newX(d.x2)))\n .attr(\"y2\", (d: any) => (newY(d.y2)))\n .attr('stroke-width', (d: any) => d.strokeWidth * scaleMultiplier)\n\n lineY\n .attr(\"x1\", (d: any) => (newX(d.x1)))\n .attr(\"y1\", (d: any) => (newY(d.y1)))\n .attr(\"x2\", (d: any) => (newX(d.x2)))\n .attr(\"y2\", (d: any) => (newY(d.y2)))\n .attr('stroke-width', (d: any) => d.strokeWidth * scaleMultiplier)\n }\n\n // Set the zoom and Pan features: how much you can zoom, on which part, and what to do when there is a zoom\n const zoom = d3.zoom()\n .scaleExtent([1, 100]) // This control how much you can unzoom (x0.5) and zoom (x20)\n .extent([[0, 0], [this.width, this.height]])\n .on(\"zoom\", updateChart);\n\n // This add an invisible rect on top of the chart area. This rect can recover pointer events: necessary to understand when the user zoom\n this.focus.append(\"rect\")\n .attr(\"width\", this.width)\n .attr(\"height\", this.height)\n .lower()\n .style(\"fill\", \"none\")\n .style(\"pointer-events\", \"all\")\n .attr('transform', 'translate(' + 0 + ',' + 0 + ')');\n\n this.focus.call(zoom)\n }\n else { // if there is no 'selected', then show 'No Data Available' in the plot\n this.svg.append(\"text\")\n .attr(\"x\", (this.width / 2))\n .attr(\"y\", (this.height / 2))\n .text('No Data Available'); // add here\n }\n }\n\n // filterUniqueAlleles(selectedSeriesName: string): string[] {\n // return _.chain(this.plotData)\n // .filter(series => series.series_name == selectedSeriesName)\n // .map(series => series.allele)\n // // .uniqBy({series_name: selectedSeriesName})\n // .value()\n // }\n\n onAllelePlotChange(e: any) {\n e.preventDefault();\n this.selectedAllele = e.target.value;\n\n d3.selectAll(\"svg.allele-plot\").remove();\n d3.selectAll(\".tooltip\").remove();\n\n this.createSvg()\n\n this.drawPlot(this.selectedAllele, this.selectedSeries)\n }\n\n onSeriesPlotChange(e: any) {\n e.preventDefault();\n this.selectedSeries = e.target.value;\n // this.uniqueAlleles = this.filterUniqueAlleles(this.selectedSeries)\n // this.selectedAllele = this.uniqueAlleles[0]\n\n d3.selectAll(\"svg.allele-plot\").remove();\n d3.selectAll(\".tooltip\").remove();\n\n this.createSvg()\n\n this.drawPlot(this.selectedAllele, this.selectedSeries)\n }\n}\n","
\n
\n \n Metric\n \n \n \n Allele\n \n \n
\n
\n
\n
\n
\n","import {\n Directive,\n Output,\n Input,\n EventEmitter,\n HostBinding,\n HostListener\n} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]'\n})\nexport class DndDirectiveDirective {\n\n @HostBinding('class.fileover') private _fileOver: boolean | undefined;\n @Output() fileDropped = new EventEmitter();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt: { preventDefault: () => void; stopPropagation: () => void; }) {\n evt.preventDefault();\n evt.stopPropagation();\n this._fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: { preventDefault: () => void; stopPropagation: () => void; }) {\n evt.preventDefault();\n evt.stopPropagation();\n this._fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt: { preventDefault: () => void; stopPropagation: () => void; dataTransfer: { files: any; }; }) {\n evt.preventDefault();\n evt.stopPropagation();\n this._fileOver = false;\n let files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}\n","
\n
\n

IEDB Tools: Website Usage

\n
\n\n

\n Data and tools within the IEDB are presented as a public resource and are free to access for all users, including commercial users.\n

\n
\n\n

IEDB Tools: Download

\n
\n
Complete Download: Entire IEDB Analysis Resource
\n

\n For users that would like to run the entire analysis resource locally, a virtual machine image file is available\n with a paid commercial license. The image is kept in sync with the current version of the IEDB Analysis Resource\n and is updated on a six month cycle. Please contact us for details on\n licensing options.\n

\n
\n\n
\n
Standalone Download
\n

\n Several of the tools hosted on the IEDB NG Tools website are available as command-line tools, freely available\n to academic users through an open source license. For complete list of all versions of standalone tools used on\n the Legacy or NG Tools websites, click here.\n

\n
\n\n
\n\n

IEDB Tools: License Agreement

\n \n
\n
Description
\n

\n This tool wraps up several methods to support the prediction of class I peptide: MHC binding, elution, immunogenicity, and antigen processing.\n

\n

\n This tool wraps up several methods to support the prediction of class II peptide: MHC binding, elution, and immunogenicity.\n

\n

\n This tool groups epitopes into clusters based on sequence identity using one of 3 different algorithms.\n

\n

\n The PepMatch standalone includes all functionality to scan a list of peptides for closely related sequences in\n custom proteome databases using an ultra-efficient, deterministic algorithm.\n

\n

\n The Peptide eXpression annotator (pepX) takes a peptide as input,\n identifies from which proteins the peptide can be derived, and returns\n an estimate of the expression level of those source proteins from selected\n public databases.\n

\n

\n This package is a wrapper around T Cell Class I tool and will run predictors\n from that tool (binding, elution, immunogenicity) on a set of paired peptides\n and compare the results.\n

\n

\n The Mutant Peptide Generator tool will take a two-sample, SNPEff-annotated VCF as\n input and generate predicted neo-peptides and the reference / WT peptides\n with which they pair.\n

\n\n
License Agreements
\n

\n All standalone tools are distributed under the Non-Profit Open Software License (Non-Profit OSL) version 3.0.\n Some tools, developed in coordination with the Technical University of Denmark, are distributed with additional\n terms and conditions. By downloading the tools, you are implicitly agreeing to the terms of all applicable\n licenses.\n

\n
\n\n \n Agree and Download\n \n
\n\n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Location} from \"@angular/common\";\n\n@Component({\n selector: 'app-download-all',\n templateUrl: './download-all.component.html',\n styleUrls: ['./download-all.component.scss']\n})\nexport class DownloadAllComponent implements OnInit {\n\n selectedTool: string = 'mhc-class-i-binding'\n\n constructor(\n private http: HttpClient,\n private router: Router, private activatedRoute: ActivatedRoute, private location: Location,\n ) {\n this.selectedTool = this.router.getCurrentNavigation()?.extras?.state ? this.router.getCurrentNavigation()!.extras.state?.tool : 'mhc-class-i-binding'\n }\n\n ngOnInit(): void {}\n\n onAgreeAndDownload() {\n /**\n T Cell, Class I\n http://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=tcell_mhci\n\n Cluster\n http://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=cluster\n\n PepMatch (will be uploaded soon)\n http://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=pepmatch\n * */\n switch (this.selectedTool){\n case 'mhc-class-i-binding':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=tcell_mhci', '_self')\n return\n case 'mhc-class-ii-binding':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=tcell_mhcii', '_self')\n return\n case 'pepmatch':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=pepmatch', \"_self\")\n return\n case 'cluster':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=cluster', '_self')\n return\n case 'pepx':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=pepx', '_self')\n return\n case 'pepcomp':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=peptide_variant_comparison', '_self')\n return\n case 'mutgen':\n window.open('https://downloads.iedb.org/nextgen-tools/retrieve_package.php?tool=mutated_peptide_generator', '_self')\n return\n default:\n return\n }\n }\n\n downloadNonProfit() {\n const name = 'LICENSE-NonProfitOSL3'\n\n function downLoadFile(data: any, type: string) {\n const blob = new Blob([data], {type: type}); // thx: http://stackoverflow.com/a/18925211\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n a.href = window.URL.createObjectURL(blob);\n a.download = `${name}`\n a.click();\n }\n\n this.http.get(`assets/LICENSES/${name}`, { responseType: 'text' })\n .subscribe(data => {\n downLoadFile(data, 'txt')\n // console.log(data)\n });\n }\n\n downloadDTU() {\n const name = 'LICENSE-DTU'\n\n function downLoadFile(data: any, type: string) {\n const blob = new Blob([data], {type: type}); // thx: http://stackoverflow.com/a/18925211\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n a.href = window.URL.createObjectURL(blob);\n a.download = `${name}`\n a.click();\n }\n\n this.http.get(`assets/LICENSES/${name}`, { responseType: 'text' })\n .subscribe(data => {\n downLoadFile(data, 'txt')\n });\n }\n\n}\n","\n\n\n\n
\n

\n Cookies\n

\n
\n\n
\n

\n We use cookies to provide you with an optimal website experience. By continuing to use the website, you agree to the use of cookies.\n You can learn more about the cookies we use here: Privacy Policy\n

\n
\n
\n \n
\n\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { CookieDialogComponent } from '../cookie-dialog/cookie-dialog.component';\n\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n @Input()\n public cookieComponent!: CookieDialogComponent;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n showCookieDialog() {\n this.cookieComponent.showCookieDialog();\n }\n\n}\n","import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';\nimport {UntypedFormBuilder, UntypedFormGroup} from \"@angular/forms\";\nimport {Router} from '@angular/router';\n\nimport _ from 'lodash';\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\n\nimport {Observable, of} from \"rxjs\";\nimport {catchError, debounceTime, distinctUntilChanged, switchMap, tap} from \"rxjs/operators\";\n\nimport Allele from \"../_global/Allele\";\nimport {AlleleSearchService} from \"../services/allele-search/allele-search.service\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {\n initTCellPrediction2State,\n initTCellPredictionState\n} from \"../services/state-services/default-stage-states\";\nimport {environment} from \"../../environments/environment\";\n\nimport {isASCII} from \"../util/string-helpers\";\nimport {Location} from \"@angular/common\";\nimport {isMaxLength} from \"../util/is-max-length\";\nimport {AlertServiceService} from \"../services/alert-service/alert-service.service\";\nimport {AnnouncementService} from \"../services/announcement-service/announcement-service.service\";\n\n// Default data for Allele Modal\nimport * as alleleData from \"../services/data/27-alleles.json\";\nimport * as alleleData2 from \"../services/data/class-II-7-alleles.json\";\nimport * as alleleData3 from \"../services/data/class-II-27-alleles.json\";\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.scss']\n})\nexport class HomeComponent implements OnInit {\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n maxCharacters = 1000000\n\n tCell1Form!: UntypedFormGroup;\n searching = false;\n searchFailed = false;\n\n tCell2Form!: UntypedFormGroup;\n searching2 = false;\n searchFailed2 = false;\n\n /** Allele Variables */\n selectedAlleles: Allele[] = [];\n modalAlleles: Allele[] = [];\n\n selectedAlleles2: Allele[] = [];\n modalAlleles2: Allele[] = [];\n\n // topics: any[] = []; // events\n announcements: any[] = [\n \"Next-Generation IEDB Tools site released to public\"\n ]; // topics\n\n releases:{title: string, url: string}[] = [\n {title: 'Next-Generation IEDB Tools Website and API - Release 2.0', url: 'https://help.iedb.org/hc/en-us/articles/27040672746907'},\n {title: 'Next-Generation IEDB Tools Website and API - Release 1.2', url: 'https://help.iedb.org/hc/en-us/articles/23989174535707'},\n {title: 'Next-Generation IEDB Tools Website and API - Release 1.1', url: 'https://help.iedb.org/hc/en-us/articles/19688305823515'},\n {title: 'Next-Generation IEDB Tools Website and API - Release 1.0', url: 'https://help.iedb.org/hc/en-us/articles/12422998636955'}\n ]\n\n tools = [\n // {queryParams: {tool: 'tc1'}, name: 'T Cell Prediction - Class I', tags: [\"CD8\", \"bindingAffinity\", \"elutedLigand\", \"epitope\", \"hlaAssociation\", \"immunogenicity\", \"mhcI\", \"tCell\", \"tapProcessing\"], count: 0, routerLink: 't-cell-prediction'},\n {queryParams: {tool: 'cluster'}, name: 'Cluster', tags: [\"conservation\", \"dataVisualization\", \"hlaAssociation\", \"peptideSimilarity\"], count: 0, routerLink: 'cluster'},\n {queryParams: {tool: 'pepmatch'}, name: 'PEPMatch', tags: ['conservation', 'peptideSimilarity', 'proteomeSearch'], count: 0, routerLink: 'pepmatch'},\n {queryParams: {tool: 'pepx'}, name: 'PepX', tags: ['geneExpression', 'rnaExpression', 'transcription'], count: 0, routerLink: '_blank'},\n {queryParams: {tool: 'pepvcomp'}, name: 'Peptide Variant Comparison', tags: ['bindingAffinity', 'cancer', 'CD8', 'dataVisualization', 'elutedLigand', 'epitope', 'hlaAssociation', 'immunogenicity', 'mhcI', 'neoepitope', 'tCell'], count: 0, routerLink: 'pepcomp'},\n {queryParams: {tool: 'mutpepgen'}, name: 'Mutated Peptide Generator', tags: ['cancer','neoepitope', 'VCF'], count: 0, routerLink: 'pepcomp'},\n ]\n\n @ViewChild('classIAlleleModal') classIAlleleModal!: ElementRef;\n @ViewChild('classIIAlleleModal') classIIAlleleModal!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n private route: Router,\n private location: Location,\n private modalService: NgbModal,\n private _stateService: PipelineStateService,\n private _service: AlleleSearchService,\n private _announcementService: AnnouncementService,\n public alertService: AlertServiceService,\n ) { }\n\n ngOnInit(): void {\n this.tCell1Form = this.formBuilder.group({\n sequences: '',\n });\n this.tCell2Form = this.formBuilder.group({\n sequences: '',\n });\n\n this._stateService.setPipelineId('');\n this._stateService.setPipelineSpecId('');\n\n // this._announcementService.getAnnouncements().subscribe((resp: { [x: string]: any[]; }) => {\n // console.log(resp)\n // // this.topics = resp['topics'];\n // // this.events = resp['topics'].filter(o=>o['tags'][0] === 'event').slice(-3)\n // // this.announcements = resp['topics'].filter(o=>o['tags'][0] === 'announcement').slice(-3)\n // })\n }\n\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event, this.tCell1Form);\n }\n }\n\n onFileDropped2($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event, this.tCell2Form);\n }\n }\n\n prepareSequenceFileList(files: Array, myForm: UntypedFormGroup) {\n /**\n * myForm - tCell1Form OR tCell2Form\n * */\n console.log(files);\n // this.fileName = files[0].name;\n const reader = new FileReader();\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({sequences: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n }\n }\n\n runTCellPrediction() {\n const initTCellPredictionTool2 = {\n name: 'T-Cell Prediction',\n toolGroup: 'mhci',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n\n sessionStorage.setItem('sequences', this.tCell1Form.get('sequences')?.value);\n sessionStorage.setItem('selectedAlleles', JSON.stringify(this.selectedAlleles));\n\n this._stateService.setInitialStage(initTCellPredictionState)\n this._stateService.setInitialTool(initTCellPredictionTool2)\n\n this._stateService.setPipelineId('')\n this._stateService.setPipelineSpecId('')\n }\n\n runTCellClassIIPrediction() {\n const initTCellPredictionTool2 = {\n name: 'T Cell Prediction - Class II',\n toolGroup: 'mhcii',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n\n sessionStorage.setItem('sequences', this.tCell2Form.get('sequences')?.value);\n sessionStorage.setItem('selectedAlleles', JSON.stringify(this.selectedAlleles2));\n\n\n this._stateService.setInitialStage(initTCellPrediction2State)\n this._stateService.setInitialTool(initTCellPredictionTool2)\n // this._stateService.setParams(initParams)\n this._stateService.setPipelineId('')\n this._stateService.setPipelineSpecId('')\n }\n\n\n /** T Cell Prediction Functions */\n get selectedAlleleLabels() {\n return this.selectedAlleles.map((o => o.label)).join(', ');\n }\n\n get selectedAlleleLabels2() {\n return this.selectedAlleles2.map((o => o.label)).join(', ');\n }\n\n get selectedModalAlleleLabels() {\n return this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get selectedModalAlleleLabels2() {\n return this.modalAlleles2.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n search = (text$: Observable) =>\n text$.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n tap(() => this.searching = true),\n switchMap(term => {\n console.log(term);\n return this._service.search(term).pipe(\n tap(() => this.searchFailed = false),\n catchError(() => {\n this.searchFailed = true;\n return of([]);\n }))\n }\n ),\n tap(() => this.searching = false)\n )\n\n search2 = (text$: Observable) =>\n /** Used in T Cell Prediction - Class II */\n text$.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n tap(() => this.searching2 = true),\n switchMap(term => {\n console.log(term);\n return this._service.search(term, 'mhcii').pipe(\n tap(() => this.searchFailed2 = false),\n catchError(() => {\n this.searchFailed2 = true;\n return of([]);\n }))\n }\n ),\n tap(() => this.searching2 = false)\n )\n\n resultFormatter = (result: any) => {\n /**\n * The function that converts an item from the result list to a string to display in the popup.\n * */\n return result.synonyms.length > 0 ? `${result.label} - ${result.synonyms}` : result.label;\n }\n\n\n inputFormatter(value: any) {\n /**\n * The function that converts an item from the result list to a string to display in the field.\n * */\n if (value.label) {\n return `${value.label}`;\n }\n return '';\n }\n\n /** Allele Search Functions */\n onAlleleSelect(e: any, input: any) {\n // this.inputEl.nativeElement.value = '';\n e.preventDefault();\n const selectedAllele = e.item;\n console.log(selectedAllele);\n let labels = _.map(this.selectedAlleles, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.selectedAlleles.push(selectedAllele);\n }\n input.value = '';\n }\n\n /** Allele Search Functions */\n onAlleleSelect2(e: any, input: any) {\n // this.inputEl.nativeElement.value = '';\n e.preventDefault();\n const selectedAllele = e.item;\n console.log(selectedAllele);\n let labels = _.map(this.selectedAlleles2, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.selectedAlleles2.push(selectedAllele);\n }\n input.value = '';\n }\n\n onAlleleSelectModal({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.modalAlleles, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.modalAlleles.push(selectedAllele);\n }\n input.value = '';\n }\n\n onAlleleSelectModal2({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.modalAlleles2, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.modalAlleles2.push(selectedAllele);\n }\n input.value = '';\n }\n\n onBlurAlleleSelect(e: any, input: any) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.value = '';\n input.placeholder = 'Ex. HLA-A*02:01'\n if(this.selectedAlleles.length) {\n const labels = _.map(this.selectedAlleles, (o) => {\n return o.label;\n });\n input.value = labels.join(', ');\n }\n }\n\n onBlurAlleleSelect2(e: any, input: any) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.value = '';\n input.placeholder = 'Ex: HLA-DRB1*01:01'\n if(this.selectedAlleles2.length) {\n const labels = _.map(this.selectedAlleles2, (o) => {\n return o.label;\n });\n input.value = labels.join(', ');\n }\n }\n\n open(content: any) {\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n // this.saveState = false;\n // this.modalOpen = false;\n }, (reason) => {\n // this.closeResult = `Dismissed ${HomeComponentComponent.getDismissReason(reason)}`;\n });\n }\n\n onOpenAlleleModal1() {\n this.open(this.classIAlleleModal)\n this.modalAlleles = [...this.selectedAlleles]\n console.log(this.modalAlleles)\n }\n\n onOpenAlleleModal2() {\n this.open(this.classIIAlleleModal)\n this.modalAlleles2 = [...this.selectedAlleles2]\n console.log(this.modalAlleles)\n }\n\n dismissAlleleModal() {\n this.modalService.dismissAll()\n }\n\n\n onAlleleClear(input: any) {\n this.selectedAlleles = []\n input.value = '';\n input.placeholder = 'Ex. HLA-A*02:01'\n }\n\n onAlleleClear2(input: any) {\n this.selectedAlleles2 = []\n input.value = '';\n input.placeholder = 'Ex: HLA-DRB1*01:01'\n }\n\n onAlleleDeselectModal(index: number, input: { value: string }) {\n _.pullAt(this.modalAlleles, [index])\n const labels = this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ')\n input.value = this.modalAlleles.length ? labels : ''\n }\n\n onAlleleDeselectModal2(index: number, input: { value: string }) {\n _.pullAt(this.modalAlleles2, [index])\n const labels = this.modalAlleles2.map(((o: { label: string; }) => o.label)).join(', ')\n input.value = this.modalAlleles2.length ? labels : ''\n }\n\n generate27Alleles(input: any) {\n const { alleles } = alleleData;\n this.modalAlleles = _.map(alleles.split(','), (allele) => {return{label: allele, synonym: null, score: null}})\n input.value = this.selectedAlleleLabels;\n }\n\n generate27Alleles2(input: any) {\n const { alleles } = alleleData3;\n this.modalAlleles2 = _.map(alleles.split(','), (allele) => {return{label: allele, synonym: null, score: null}})\n input.value = this.selectedAlleleLabels2;\n }\n\n generate7Alleles(input: any) {\n /**\n * Used in Class II\n * */\n this.modalAlleles2 = []\n // this.alleles.clear()\n const { alleles } = alleleData2;\n _.forEach(alleles.split(','), (allele) => {this.modalAlleles2.push({label: allele, synonym: null, score: null})})\n input.value = this.selectedModalAlleleLabels2;\n }\n\n onSubmitModalAlleles() {\n this.selectedAlleles = []\n _.forEach(this.modalAlleles, (selectedAllele) => {\n this.selectedAlleles.push(selectedAllele);\n })\n this.modalService.dismissAll()\n }\n\n onSubmitModalAlleles2() {\n // this.selectedAlleles2 = [...this.modalAlleles2]\n\n this.selectedAlleles2 = []\n _.forEach(this.modalAlleles2, (selectedAllele) => {\n this.selectedAlleles2.push(selectedAllele);\n })\n\n this.modalService.dismissAll()\n }\n\n onAlleleClearModal(input: { value: string; }) {\n this.modalAlleles = []\n input.value = ''\n }\n\n onAlleleClearModal2(input: { value: string; }) {\n this.modalAlleles2 = []\n input.value = ''\n }\n}\n","
\n
\n \n
\n\n
\n
Announcements
\n \n
\n\n
\n
Appearances & Events
\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n Virtual User Workshop\n \n Nov 5-7, 2024
\n * recordings here\n
Festival of BiologicsApril 23-25, 2025
AACR 2025April 25-30, 2025
Immunology 2025 May 3-7, 2025
\n\n
\n\n
\n
Additional Resources
\n \n
\n
\n\n \n
\n

Welcome to the Next-Generation IEDB Tools site!

\n

As a companion site to the Immune Epitope Database (IEDB), this site provides a\n collection of tools for the prediction and analysis of immune epitopes.

\n\n New User? Learn to\n use the website here!\n \n\n \n
\n
\n \n T Cell Prediction - Class I\n
\n
\n
\n \n\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n\n \n
\n Click to open Allele Selector\n
\n
    \n
  1. \n {{allele?.label}}\n
  2. \n

    10\">\n ...\n

    \n
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n \n \n Click to run tool\n \n \n \n \n
\n
\n
\n
\n\n \n
\n
\n \n T Cell Prediction - Class II\n
\n
\n
\n \n\n
\n
\n
\n
\n
\n \n\n
\n
\n
\n
\n\n
\n
\n
\n\n
\n
\n \n
\n
\n \n
\n \n \n
\n \n \n
\n Click to open Allele Selector\n
\n
    \n
  1. \n {{allele?.label}}\n
  2. \n

    10\">\n ...\n

    \n
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n \n \n Click to run tool\n \n \n \n \n
\n
\n
\n
\n\n \n Additional Tools\n \n \n
\n\n\n
\n
\n
\n \n Cluster\n
\n
\n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n PEPMatch\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n PepX\n
\n
\n
\n \n
\n
\n\n
\n\n \n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n\n\n\n
\n

\n Number of Selected Alleles: {{modalAlleles.length}}\n

\n \n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n\n
0\" class=\"p-2 d-flex flex-column justify-content-start\">\n\n \n\n
    \n \n
  • {{i['label']}}\n \n
  • \n
\n
\n
\n
\n \n \n \n \n HLA allele frequencies and reference sets with maximal population coverage\n \n \n
\n \n \n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n\n\n\n
\n

\n Number of Selected Alleles: {{modalAlleles2.length}}\n

\n \n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n\n
0\" class=\"p-2 d-flex flex-column justify-content-start\">\n\n \n\n
    \n \n
  • {{i['label']}}\n \n
  • \n
\n
\n
\n
\n \n \n \n \n \n HLA allele frequencies and reference sets with maximal population coverage\n \n \n
\n \n \n
\n
\n
\n\n
\n\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n \n \n
\n
\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n OnChanges,\n SimpleChanges,\n AfterViewInit,\n isDevMode\n} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {UntypedFormBuilder, UntypedFormGroup, FormControl, UntypedFormArray, FormGroupDirective, Validators} from \"@angular/forms\";\n\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport { Location } from '@angular/common';\nimport {Title} from \"@angular/platform-browser\";\n\nimport {Observable, timer, of, from, Subject, Subscription} from \"rxjs\";\nimport {NgbModal, NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\nimport {catchError, debounce, debounceTime, distinctUntilChanged, tap, switchMap, takeUntil} from 'rxjs/operators';\nimport {environment} from \"../../../environments/environment\";\nimport {AlertServiceService} from \"../../services/alert-service/alert-service.service\";\nimport {AlleleSearchService} from \"../../services/allele-search/allele-search.service\";\nimport {PipelineService} from \"../../services/pipeline-service/pipeline.service\";\nimport {PipelineStateService} from \"../../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {SequenceParserService} from \"../../services/sequence-parser/sequence-parser.service\";\nimport Stage from \"../../_global/Stage\";\nimport Tool from \"../../_global/Tool\";\nimport PipelineParams from \"../../_global/PipelineParams\";\nimport _ from \"lodash\";\nimport * as sarsSampleData from \"../../services/data/t-cell-sample.json\";\nimport * as pepCompSampleData from \"../../services/data/pepcomp-sample.json\";\nimport * as pipelineData from \"../../services/data/pipeline-example.json\";\nimport Allele from \"../../_global/Allele\";\nimport * as alleleData from \"../../services/data/27-alleles.json\";\n// import {initTCellPredictionTool} from \"../../services/state-services/default-stage-states\";\nimport {\n initPeptideBindingComparisonTool,\n initTCellPredictionTool\n} from \"../../services/state-services/default-stage-states\";\nimport {isASCII, IsJsonString} from \"../../util/string-helpers\";\nimport {isMaxLength} from \"../../util/is-max-length\";\nimport Columns from \"../../_global/Columns\";\nimport {columnListToObject} from \"../../util/convert-columns\";\nimport onCsvDownloadAllClickedNew from \"../../util/on-csv-download\";\n\nconst API_URL = `${environment['api_url']}/api/v1/pepcomp`;\n\n@Component({\n selector: 'app-peptide-variant-comparison',\n templateUrl: './peptide-variant-comparison.component.html',\n styleUrls: ['./peptide-variant-comparison.component.scss']\n})\nexport class PeptideVariantComparisonComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges{\n sequencePlaceHolder = `Ex:\nFLYNPLTRV\\tFLYNLLTRV\nMLGERLFPL\\tMLGEQLFPL\nFLDEFMEAV\\tFLDEFMEGV\nVVLSWAPPV\\tVVMSWAPPV\nLLLDDSLVSI\\tLLLDDLLVSI\nGSFGDIYLA\\tGLFGDIYLA\nALYGSVPVL\\tALYGFVPVL\nILTGLNYEA\\tILTGLNYEV\nSLADEAEVHL\\tSLADEAEVYL\nCQWGRLWQL\\tCMWGRLWQL\n`\n\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() showEmailModal: boolean = false;\n\n @Input() emailForm!: UntypedFormGroup;\n @Output() openEmailModal = new EventEmitter();\n\n active = 'processing_plots'\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n @Output() emitOnCancel = new EventEmitter();\n\n @ViewChild('alleleSearch') alleleSearch!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n @ViewChild('alleleModal') alleleModal!: ElementRef;\n\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n unsubscribe$ = new Subject();\n\n // plotLoading = false;\n // processingPlots: {method: string, url: string, thresholdInput: number}[] = []\n\n // d3-plot variable\n links: any[] = [\n {\"Framework\": \"Vue\", \"Stars\": \"166443\", \"Released\": \"2014\"},\n {\"Framework\": \"React\", \"Stars\": \"150793\", \"Released\": \"2013\"},\n {\"Framework\": \"Angular\", \"Stars\": \"62342\", \"Released\": \"2016\"},\n {\"Framework\": \"Backbone\", \"Stars\": \"27647\", \"Released\": \"2010\"},\n {\"Framework\": \"Ember\", \"Stars\": \"21471\", \"Released\": \"2011\"},\n ];\n\n /**\n {\n : {\n : float, : float,\n : string, : string\n }\n }\n * */\n scatterPlotData: any = []\n /**\n There are 63 peptide_table columns (\"results.peptide_table.table_columns\") in\n https://api-nextgen-tools-dev.iedb.org/api/v1/results/d4b4a399-a0b4-4a88-b07d-03288ab9aef7\n\n\n Also, consider scales for each column,\n\n i.e. https://gitlab.lji.org/iedb/tools/tools-redesign/ar-redesign-prototype/-/issues/609#note_35183\n\n peptideA median binding/elution percentile = 1\n peptideA netmhcpan_el score =\n peptideA netmhcpan_el percentile = 1\n peptideA netmhcpan_ba IC50\n peptideA netmhcpan_ba percentile = 1\n ...\n peptideA comblib_sidney2008 IC50/SCORE = ?\n peptideA comblib_sidney2008 percentile = 1? such small numbers maybe make it 0.1?\n\n ************************************************\n\n DISPLAY_NAME value\n\n peptideA median binding/elution percentile\n peptideA netmhcpan_el score\n peptideA netmhcpan_el percentile\n peptideA netmhcpan_ba IC50\n peptideA netmhcpan_ba percentile\n peptideA ann IC50\n peptideA ann percentile\n peptideA smmpmbec IC50\n peptideA smmpmbec percentile\n peptideA smm IC50\n peptideA smm percentile\n peptideA comblib_sidney2008 IC50\n peptideA comblib_sidney2008 percentile\n peptideA mhcflurry IC50\n peptideA mhcflurry percentile\n peptideA mhcnp score\n peptideA mhcnp percentile\n peptideA immunogenicity score\n peptideA immunogenicity percentile\n\n { :\n [\n {\n : string,\n : string, : string,\n : float, : float,\n },\n {\n : string,\n : string, : string,\n : float, : float,\n },\n ],\n : [collection],\n : [collection],\n }\n\n EX:\n { median binding/elution percentile:\n [\n {\n allele: \"HLA-A*02:01\",\n : \"FLYNPLTRV\", : \"FLYNLLTRV\",\n : float, : float,\n },\n {\n : string,\n : \"MLGERLFPL\", : \"MLGEQLFPL\",\n : float, : float,\n },\n ],\n netmhcpan_el score: [collection],\n netmhcpan_el percentile: [collection],\n netmhcpan_ba IC50: [],\n netmhcpan_ba percentile: [],\n\n }\n\n Note: collection = # of alleles * greatest seq #\n so if ran w/ 27 alleles and 10 seq # (default), collection has 270 elements\n\n ************\n\n\n [\n {\n : string,\n : string,\n : string, : string,\n : float, : float,\n },\n ]\n\n EX:\n\n [\n {\n display_name: \"median binding/elution percentile\",\n allele: \"HLA-A*02:01\",\n peptidea: \"FLYNPLTRV\", peptideb: \"FLYNLLTRV\",\n valuea: float, valueb: float,\n },\n {\n display_name: \"median binding/elution percentile\",\n allele: \"HLA-A*02:02\",\n peptidea: \"FLYNPLTRV\", peptideb: \"FLYNLLTRV\",\n valuea: float, valueb: float,\n },\n ]\n * */\n scatterPlotData2: any = []\n scatterPlotAlleles: string[] = []\n scatterPlotDisplayNames: string[] = []\n\n selectedSeqNumPlots = '';\n selectedAllelePlots = '';\n selectedLengthPlots = ''\n sequenceNumbers = []\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n residue_table_order: any[] = [];\n residue_table_columns: Columns[] | any;\n residue_table: [(string | number)[]] = [[]]\n\n allele_distances_table_order: any[] = [];\n allele_distances_table_columns: Columns[] | any;\n allele_distances_table: [(string | number)[]] = [[]]\n\n peptide_table_order: any[] = [];\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n\n /** Form variables */\n pepcompForm!: UntypedFormGroup;\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters: number = 0;\n seqFormat: string = 'Unknown';\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n defaultOrder: any[] = [];\n\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n\n /** Alleles */\n searching = false;\n searchFailed = false;\n\n modalAlleles: Allele[] = [];\n modalOpen = false;\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n pipelineUrl: string = ''\n\n data: any\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n alleles: false,\n predictors: false,\n table_state: false,\n }\n\n predictionOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n basicProcessingPredictionOption: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = []\n processingOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n peptideSimilarityOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n\n mhciLoading: boolean = false;\n mhciPredictors: any[] = [];\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private fb: UntypedFormBuilder,\n private _alleleSearchService: AlleleSearchService,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private route: ActivatedRoute,\n private router: Router,\n private titleService: Title,\n private location: Location,\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n ) {\n }\n\n\n\n ngOnInit(): void {\n if (isDevMode()) {\n console.log('Development!');\n } else {\n console.log('Production!');\n }\n\n this.getMHCIList();\n // this.tCellForm = this.fb.group(this.initialControlConfig);\n this.pepcompForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n // this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n\n // this.loading = this.tools[this.index]?.loading\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n // if(this.pipelineLoading) {\n // this.disableInputs();\n // } else {\n // this.enableInputs();\n // }\n console.log('pipelineLoading')\n console.log(this.pipelineLoading)\n\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges();\n\n if(this.pepcompForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.pepcompForm.get('inputSequenceText')?.value)\n }\n\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n\n this.eventsSubscription.unsubscribe();\n this.runAllSubscription.unsubscribe();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const run = history.state?.run;\n // console.log(run);\n run && this.onRunMain();\n }, 0)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges t-cell')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get selectedAlleleLabels() {\n return this.alleles.value.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get selectedModalAlleleLabels() {\n return this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get predictionModels() {\n return this.pepcompForm.get('predictionModels') as UntypedFormArray;\n }\n\n get alleles() {\n return this.pepcompForm.get('alleles') as UntypedFormArray;\n }\n\n get breakPeptides() : boolean {\n return this.pepcompForm.get('breakPeptides')?.value;\n }\n\n get inputSequenceText(){\n return this.pepcompForm.get('inputSequenceText')?.value\n }\n\n get peptideLength() {\n return this.pepcompForm.get('peptideLength')?.value;\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = pepCompSampleData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n /** Sequences */\n let sequences = this.pepcompForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(seq);\n this.pepcompForm.controls.inputSequenceText.setValue(seq);\n }\n\n /** Alleles */\n const patchValues = (allele: string, synonym = '', score = null) => {\n /** patchValues - helper function */\n return this.fb.group({\n label: [allele],\n synonym: [synonym],\n score: [score]\n })\n }\n if(this.alleles.length===0) {\n _.forEach(all.split(','), (allele) => {\n this.alleles.push(patchValues(allele));\n })\n // this.alleleSearch!.nativeElement.value = alleles;\n }\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.pepcompForm.value.inputSequenceText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepcompForm(this.pepcompForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"Peptide Variant Comparison\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"peptide_variant_comparison\",\n \"input_sequence_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const initToolLoading = Object.assign(initPeptideBindingComparisonTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(initToolLoading, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n this.postPipelineAPI(params);\n }\n\n onRun2(){\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index; // previous index\n\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepcompForm(this.pepcompForm)\n const initialStage = this.stages[this.index];\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage: Stage = {\n ...initialStage,\n result_url: undefined,\n stage_number: stage_number,\n input_stage_number: input_stage_number,\n input_parameters: inputParameters,\n table_state\n }\n\n // this.params.stages.push(stage);\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n // console.log(params)\n\n /** set params */\n const loadingTool = Object.assign(initPeptideBindingComparisonTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n\n this._stateService.setParams(params);\n this._stateService.insertTool(loadingTool, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n this.postPipelineAPI(params);\n }\n\n getResultsSetInterval(result_url: string) {\n /** */\n this.getResultsClicked = true\n\n this.residue_table_order = [];\n this.residue_table_columns = null;\n this.residue_table = [[]]\n\n this.sequence_table = [[]]\n this.allele_distances_table = [[]]\n this.residue_table = [[]]\n this.peptide_table = [[]]\n // this.processingPlots = []\n\n this.resultUrl = result_url;\n console.log(result_url)\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(`${result_url}?statusOnly=true`).subscribe(\n {\n next: resp => {\n console.log(resp);\n if (resp['status'] === 'error' || resp['errors']) {\n // this.errorMessages = resp['errors'];\n // this.warningMessages = resp['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n\n if (resp['status'] === 'done') {\n clearInterval(this.runSetInterval);\n\n this._pipelineService.getResults(result_url).subscribe(resp => {\n // clearInterval(this.runSetInterval);\n console.log(resp)\n this.defaultOrder = [[]]\n /** 1) Create Column */\n const data = resp['data']['results'];\n this.active = data[0].type // = 'peptide_table' // this.active = 'scatter_plots'\n _.forEach(data, table => {\n if (table.type === 'residue_table') {\n this.residue_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.residue_table_order[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n column['value_limits'] = column['type'] === 'int' ? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return column\n });\n // this.currentOrder = [...this.defaultOrder];\n if (this.residue_table_columns) {\n this.residue_table = table.table_data;\n }\n // console.log(this.residue_table_order);\n // console.log(this.residue_table_columns);\n // console.log(this.residue_table);\n }\n if (table.type === 'netmhcpan_allele_distance') {\n this.allele_distances_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.allele_distances_table[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n return column\n });\n // this.currentOrder = [...this.defaultOrder];\n if (this.allele_distances_table_columns) {\n this.allele_distances_table = table.table_data;\n }\n }\n if (table.type === 'peptide_table') {\n /** peptide_table_columns */\n let indexA: number = 0\n let indexB: number = 0\n this.peptide_table_columns = _.map(table.table_columns, (column, i: number) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n /** Check and find indeces for EL score */\n\n /** using name instead of display_name, but name is not unique */\n // indexA = column['name'] === 'score-peptidea' ? Number(i) : indexA\n // indexB = column['name'] === 'score-peptideb' ? Number(i) : indexB\n\n /** netmhcpan_el score */\n // indexA = column['display_name'] === 'peptideA netmhcpan_el score' ? Number(i) : indexA\n // indexB = column['display_name'] === 'peptideB netmhcpan_el score' ? Number(i) : indexB\n\n /** median binding/elution percentile */\n indexA = column['display_name'] === 'peptideA median binding/elution percentile' ? Number(i) : indexA\n indexB = column['display_name'] === 'peptideB median binding/elution percentile' ? Number(i) : indexB\n\n /** immunogenicity score */\n // indexA = column['display_name'] === 'peptideA immunogenicity score' ? Number(i) : indexA\n // indexB = column['display_name'] === 'peptideB immunogenicity score' ? Number(i) : indexB\n\n // /**\n // * 1. Needs to be passed index 5\n // * 2.\n // * */\n // if(i > 4) {\n // this.scatterPlotData2[column.display_name]\n // }\n\n // indexB = column['name'].includes(['score-peptideb']) ? Number(i) : indexB\n return column\n });\n this.peptide_table_order = [...this.defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n }\n // console.log(this.peptide_table_order);\n // console.log(this.peptide_table_columns);\n // console.log(this.peptide_table);\n /**\n scatterPlotData\n * = \n * 5 = allele\n *\n * indexA (9) = score-peptidea\n * indexB (14) = score-peptideb\n * */\n // TODO COMMENTED THIS OUT\n // _.forEach(table.table_data, (i) => {\n // // console.log(indexA)\n // // console.log(indexB)\n // if(this.scatterPlotData[i[5]]){ // already exists, push\n // this.scatterPlotData[i[5]].push({'peptidea': i[indexA], 'peptideb': i[indexB], 'sequenceA': i[1], 'sequenceB': i[2]})\n // } else { // else, create data and push alleles\n // this.scatterPlotData[i[5]] = [{'peptidea': i[indexA], 'peptideb': i[indexB], 'sequenceA': i[1], 'sequenceB': i[2]}]\n // this.scatterPlotAlleles.push(i[5])\n // }\n // })\n // console.error(this.scatterPlotData)\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n // column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n\n\n\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n if (table.type === 'processing_plots') {\n const all_plots_uri = new URL(table.all_plots_uri)\n\n this.selectedSeqNumPlots = all_plots_uri.searchParams.get('sequence_number') || ''\n this.selectedLengthPlots = all_plots_uri.searchParams.get('length') || ''\n this.selectedAllelePlots = all_plots_uri.searchParams.get('allele') || ''\n\n this.sequenceNumbers = table.sequence_numbers\n\n // this.processingPlots = _.map(table.urls, (plot) => {\n //\n // const url = new URL(plot.url)\n // const thresholdInput = url.searchParams.get('threshold')\n //\n // return {\n // thresholdInput,\n // ...plot\n // }\n // })\n // this.processingPlots = table.urls\n // console.log(this.processingPlots)\n }\n\n })\n this._pipelineService.getResults(`${result_url}/plot_data`).subscribe(resp => {\n console.log(resp)\n this.scatterPlotData = resp['plot_data']\n console.log('HERE')\n console.log(this.scatterPlotData)\n // added here from TODO below\n this.submitted = true; this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n })\n\n // TODO, added GET Result/plot_data get result because of how Yan implemented it now, not ideal...\n // this.submitted = true; this.loading = false;\n // const prevTool = this.tools[this.index];\n // console.log(prevTool)\n // const submittedTCellPredictionTool = Object.assign(prevTool, {\n // submitted: this.submitted,\n // loading: this.loading,\n // })\n // this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n\n this.enableInputs();\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n },\n error: error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.loading = false;\n }\n }\n )\n }, milliseconds);\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n this.disableInputs();\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTCellPredictionTool = Object.assign(initPeptideBindingComparisonTool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n // this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.router.createUrlTree([`pipeline/${resp.pipeline_id}`])\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.inputChange.table_state = false;\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n (error) => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n )\n\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n this.saveState ? this.onSaveTableStateMain() : this.onRun();\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.emitIndex.emit(this.index);\n }\n\n onRunMain() {\n if(this.pepcompForm.invalid){\n\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }// There is no onRun2() because Peptide Variant Comparison can only be the initial tool\n }\n }\n\n\n onChanges(): void {\n /** PredictionModel sessionStorage */\n this.pepcompForm.get('predictionModels')?.valueChanges.subscribe(val => {\n // sessionStorage.setItem('predictionModels', JSON.stringify(val));\n this.inputChange.predictors = this.submitted\n });\n\n const sequenceFieldChange = this.pepcompForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n\n // this.pepcompForm.get('breakPeptides')?.valueChanges.subscribe(val => {\n // this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: val});\n // })\n\n sequenceFieldChange?.subscribe(val => {\n console.log('sequenceFieldChange')\n // sessionStorage.setItem('sequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n // this.alertService.clear();\n // this.myForm.patchValue({\n // inputFormat: 0\n // });\n }\n });\n }\n\n\n sequenceParser(val: string) {\n\n const firstChar = val[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n this.numOfCharacters = slicedVal.length\n }\n\n /** Allele Modal Functions */\n open(content: any) {\n this.modalOpen = true;\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n this.modalOpen = false;\n }, (reason) => {\n this.saveState = false;\n this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n onOpenAlleleModal() {\n this.open(this.alleleModal)\n this.modalAlleles = [...this.alleles.value]\n console.log(this.modalAlleles)\n }\n\n dismissAlleleModal() {\n this.modalOpen = false;\n this.modalService.dismissAll()\n }\n\n onSubmitModalAlleles() {\n this.alleles.clear()\n _.forEach(this.modalAlleles, (selectedAllele) => {\n this.alleles.push(this.fb.group(selectedAllele));\n })\n this.inputChange.alleles = this.submitted;\n this.modalService.dismissAll()\n this.modalOpen = false;\n }\n\n generate27Alleles(input: any) {\n this.modalAlleles = []\n // this.alleles.clear()\n const { alleles } = alleleData;\n _.forEach(alleles.split(','), (allele) => {this.modalAlleles.push({label: allele, synonym: null, score: null})})\n input.value = this.selectedModalAlleleLabels;\n }\n\n enableInputs() {\n // this.tCellForm.enable({emitEvent: false});\n // this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n }\n\n disableInputs() {\n // this.tCellForm.disable({emitEvent: false});\n // this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: true});\n }\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n this.inputChange.table_state = false;\n // this.submitted = false;\n const currentTool = this.tools[this.index];\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n\n const oldSequence = this.stages[this.index].input_sequence_text\n const input_parameters = this.params.stages[this.index].input_parameters\n\n console.log(input_parameters)\n\n // sequences\n this.filteredSequences = [];\n this.numOfAA = 0;\n // order\n this.peptide_table_order = [];\n this.defaultOrder = [];\n // tCellForm values\n const peptideLength = [9, 10];\n this.pepcompForm.patchValue({\n inputSequenceText: '',\n peptideLength,\n }, {emitEvent: false});\n\n // selected alleles\n this.alleles.clear()\n\n // predictors\n const initPredictor = {\n type: 'binding',\n method: 'netmhcpan_el',\n }\n const pm = this.pepcompForm.controls.predictionModels as UntypedFormArray\n pm.clear({emitEvent: false})\n pm.push(this.fb.group(initPredictor), {emitEvent: false});\n\n this.enableInputs();\n\n if(this.submitted){\n this.inputChange = {\n ...this.inputChange,\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: oldSequence !== '',\n alleles: !_.isEqual([], input_parameters.alleles),\n // lengths: !_.isEqual(peptideLength, input_parameters.peptide_length_range),\n predictors: !_.isEqual([initPredictor], input_parameters.predictors),\n }\n }\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.pepcompForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n onSaveTableStateMain() {\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n this.onSaveTableState();\n }\n }\n\n onSaveTableState() {\n const tool_group = 'mhci'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.peptide_table_columns, tool_group)\n const stages = params.stages;\n const stageTemp = stages[this.index];\n stageTemp.table_state = [{table: 'peptide_table', columns: colObj}];\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.saveState = false;\n }\n\n onFilterApplied() {\n this.inputChange.table_state = this.submitted;\n }\n\n onClearTableState() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state = this.submitted;\n }\n\n /** Predictors Drag and Drop */\n\n dropPredictionModel(event: CdkDragDrop) {\n const {previousIndex, currentIndex} = event;\n\n const control = this.predictionModels.at(previousIndex);\n this.predictionModels.removeAt(previousIndex);\n this.predictionModels.insert(currentIndex, control);\n\n if (previousIndex !== currentIndex) {\n this.inputChange.predictors = this.submitted;\n }\n }\n\n setInputChangePredictors(value: boolean) {\n this.inputChange.predictors = this.submitted;\n }\n\n removePredictorByIndex(index: number) {\n this.predictionModels.removeAt(index);\n this.inputChange.predictors = this.submitted;\n }\n\n addpredictionModel() {\n this.predictionModels.push(this.mhcBindingFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addPmhcImmungencityFormGroup() {\n this.predictionModels.push(this.pmhcImmunogencityFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addPeptideSimilarityFormGroup() {\n this.predictionModels.push(this.peptideSimilarityFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n mhcBindingFormGroup(method = 'netmhcpan_el') {\n /**\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'netmhcpan_el'\n * */\n return this.fb.group({\n type: 'binding',\n method: this.fb.control(method),\n })\n }\n\n pmhcImmunogencityFormGroup(mask_choice = 'default', position_to_mask = '2,5,9') {\n /**\n * */\n return this.fb.group({\n type: 'immunogenicity',\n mask_choice: mask_choice,\n position_to_mask: this.fb.control(position_to_mask),\n })\n }\n\n peptideSimilarityFormGroup(method = 'icerfire') {\n /**\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'icerfire'\n * */\n return this.fb.group({\n type: 'peptide_similarity',\n method: this.fb.control(method),\n })\n }\n\n /** Allele Search Functions */\n onAlleleSelect({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.alleles.value, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.alleles.push(this.fb.group(selectedAllele));\n }\n // sessionStorage.setItem('selectedAlleles', JSON.stringify(this.selectedAlleles));\n input.value = '';\n this.inputChange.alleles = this.submitted;\n }\n\n onAlleleSelectModal({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.modalAlleles, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.modalAlleles.push(selectedAllele);\n }\n input.value = '';\n }\n\n onBlurAlleleSelect(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.value = '';\n input.placeholder = 'Ex. HLA-A*02:01'\n if (this.alleles.length) {\n const labels = _.map(this.alleles.value, (o) => {\n return o.label;\n });\n input.value = labels.join(', ');\n }\n }\n\n onBlurAlleleSelectModal(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.placeholder = 'Ex. HLA-A*02:01'\n input.value = this.modalAlleles.length ? this.selectedModalAlleleLabels : ''\n }\n\n onAlleleClear(input: { value: string; }) {\n this.inputChange.alleles = this.submitted;\n this.alleles.clear()\n input.value = '';\n }\n\n onAlleleClearModal(input: { value: string; }) {\n this.modalAlleles = []\n input.value = ''\n }\n\n onAlleleDeselect(index: number) {\n this.alleles.removeAt(index)\n this.inputChange.alleles = this.submitted;\n // input.value = '';\n // if (this.alleles.length) {\n // input.value = this.selectedAlleleLabels\n // }\n }\n\n\n onAlleleDeselect2(index: number, input: { value: string }) {\n console.log(index)\n _.pullAt(this.modalAlleles, [index])\n const labels = this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ')\n input.value = this.modalAlleles.length ? labels : ''\n }\n\n search = (text$: Observable) =>\n text$.pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n tap(() => this.searching = true),\n switchMap(term => {\n // console.log(term);\n return this._alleleSearchService.search(term).pipe(\n tap(() => this.searchFailed = false),\n catchError(() => {\n this.searchFailed = true;\n return of([]);\n }))\n }\n ),\n tap(() => this.searching = false)\n )\n\n resultFormatter = (result: any) => {\n /**\n * The function that converts an item from the result list to a string to display in the popup.\n * */\n return result.synonyms.length > 0 ? `${result.label} - (${result.synonyms})` : result.label;\n }\n\n inputFormatter(value: any): any {\n /**\n * The function that converts an item from the result list to a string to display in the field.\n * */\n if (value.label) {\n return `${value.label}`;\n }\n }\n\n onDownloadParameter() {\n // TODO change convert function\n const data = this._pipelineService.convertPepcompForm(this.pepcompForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n\n /** Download Sequence File API calls\n * onDownloadJson()\n * onDownloadFasta() - removed\n * onDownloadOriginal()\n * */\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n // onDownloadFasta() {\n // onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n // }\n\n onDownloadOriginal() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n getMHCIList() {\n this.mhciLoading = true;\n this.http.get(API_URL)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n this.mhciPredictors = resp['predictors'];\n console.log(this.mhciPredictors);\n this.predictionOptions = _.filter(this.mhciPredictors, {'group': 'binding'});\n this.basicProcessingPredictionOption = _.filter(this.mhciPredictors, {'group': 'binding', 'has_ic50': true})\n this.processingOptions = _.filter(this.mhciPredictors, {'group': 'processing'});\n this.peptideSimilarityOptions = _.filter(this.mhciPredictors, {'group': 'peptide_similarity'})\n console.log(this.processingOptions)\n this.mhciLoading = false;\n }\n )\n }\n}\n","\n
\n
\n

{{index + 1}}

\n
\n
\n
\n

Peptide Variant Comparison\n \"cedar\"\n

\n
\n \n \n \n \n
\n
\n \n \n
\n
Peptide Pairs
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n Original\n \n
\n
\n
\n  \n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n {{numOfCharacters | number}} characters\n \n \n \n Parameter changed since prediction.\n \n
\n
\n
\n\n \n
\n
Prediction Parameters
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Download parameters\n \n\n \n
\n
\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n {{allele.label}}\n \n \n \n
\n \n Parameter changed since prediction.\n \n
\n
\n\n
\n \n {{alleles.length}} allele(s)\n \n
\n\n\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n \n \n
\n \n \n \n\n\n\n\n\n\n \n \n \n \n \n
\n
\n
\n \n Parameter changed since prediction.\n \n\n\n
\n
\n
\n \n
\n\n\n \n \n \n\n\n\n \n \n \n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n
\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n \n
\n\n
\n \n\n
\n
\n\n\n\n
\n

\n Number of Selected Alleles: {{modalAlleles.length}}\n

\n \n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n\n
0\" class=\"p-2 d-flex flex-column justify-content-start\">\n\n
    \n \n
  • {{i['label']}}\n \n
  • \n
\n
\n
\n
\n \n \n \n \n HLA allele frequencies and reference sets with maximal population coverage\n \n \n
\n \n \n
\n
\n
\n\n\n
\n
\n\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n \n \n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n","import {Component, EventEmitter, OnInit, Output, Input} from '@angular/core';\nimport {ControlContainer, UntypedFormBuilder} from '@angular/forms'\n\n@Component({\n selector: 'app-mhc-binding-formgroup',\n templateUrl: './mhc-binding-formgroup.component.html',\n styleUrls: ['./mhc-binding-formgroup.component.scss']\n})\nexport class MhcBindingFormgroupComponent implements OnInit {\n\n @Input() modelIndex: number | any;\n @Input() disabled: boolean | any;\n @Input() label: string = 'MHC-I Binding/Elution';\n @Input() predictionOption: {\n display_name: string,\n short_name: string,\n group: string,\n source: string,\n has_ic50: boolean\n }[] = [];\n\n @Output() emitPredictionModelIndex = new EventEmitter();\n addProcessing: boolean = false;\n public ogFormGroup: any = null;\n\n constructor(\n public controlContainer: ControlContainer,\n private fb: UntypedFormBuilder\n ) {\n }\n\n ngOnInit(): void {\n this.ogFormGroup = this.controlContainer.control;\n }\n\n onCancelClick() {\n this.emitPredictionModelIndex.emit(this.modelIndex);\n }\n\n addProcessingFormGroup(proteasome = 'immuno', tap_precursor = 1, tap_alpha = 0.2) {\n this.ogFormGroup.addControl(\n 'processing',\n this.fb.group({\n proteasome: this.fb.control(proteasome),\n tap_precursor: this.fb.control(tap_precursor),\n tap_alpha: this.fb.control(tap_alpha)\n })\n )\n }\n\n removeProcessingFormGroup() {\n this.ogFormGroup.removeControl('processing')\n }\n\n onAddProcessingChange() {\n this.addProcessing = !this.addProcessing\n this.addProcessing ? this.addProcessingFormGroup() : this.removeProcessingFormGroup()\n }\n}\n","\n
\n
\n \n \n
\n \n \n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';\nimport {ControlContainer, UntypedFormBuilder, FormGroup} from \"@angular/forms\";\nimport * as _ from \"lodash\";\n// import {Options} from \"@angular-slider/ngx-slider\";\nimport {Options} from 'ngx-slider-v2'\n\n@Component({\n selector: 'app-mhc-i-processing-formgroup-new',\n templateUrl: './mhc-i-processing-formgroup-new.component.html',\n styleUrls: ['./mhc-i-processing-formgroup-new.component.scss']\n})\nexport class MhcIProcessingFormgroupNewComponent implements OnInit, OnChanges {\n\n @Input() modelIndex: number | any;\n @Input() disabled: boolean = false;\n @Input() processingOptions: { display_name: string, short_name: string, group: string, source: string, has_ic50: boolean }[] = [];\n @Input() basicProcessingPredictionOption: { display_name: string, short_name: string, group: string, source: string, has_ic50: boolean }[] = [];\n\n @Output() emitPredictionModelIndex = new EventEmitter();\n addProcessing: boolean = false;\n public ogFormGroup: any = null;\n\n // Netchop\n netChopThreshold = 0.5\n netCtlThreshold = 0.75\n options: Options = {\n disabled: false,\n floor: 0,\n ceil: 1,\n step: 0.01,\n ticksArray: [0, 0.5, 1],\n showTicksValues: true,\n translate: (value: number): string => {\n return value.toFixed(2);\n }\n };\n\n options2: Options = {\n disabled: true,\n floor: 0,\n ceil: 1,\n step: 0.005,\n ticksArray: [0, 0.5, 1],\n showTicksValues: true,\n translate: (value: number): string => {\n return value.toFixed(3);\n }\n };\n\n options3: Options = {\n disabled: false,\n floor: 0,\n ceil: 100,\n step: 0.5,\n ticksArray: [0, 50, 100],\n showTicksValues: true,\n translate: (value: number): string => {\n return value.toFixed(1);\n }\n };\n\n constructor(\n public controlContainer: ControlContainer,\n private fb: UntypedFormBuilder,\n ) { }\n\n ngOnInit(): void {\n this.ogFormGroup = this.controlContainer.control;\n // this.options = Object.assign({}, this.options, {disabled: this.disabled});\n // this.options2 = Object.assign({}, this.options2, {disabled: this.disabled});\n // this.options3 = Object.assign({}, this.options3, {disabled: this.disabled});\n\n // this.ogFormGroup.controls['method'].valueChanges.subscribe((val: any) => {\n // console.log(val);\n // })\n }\n ngOnChanges(changes: SimpleChanges) {\n if (changes['disabled']){\n const disabled = changes['disabled'].currentValue;\n console.log(`disabled=${disabled}`)\n this.options = Object.assign({}, this.options, {disabled});\n this.options2 = Object.assign({}, this.options2, {disabled});\n this.options3 = Object.assign({}, this.options3, {disabled});\n }\n }\n\n\n get has_ice50() {\n return _.find(this.processingOptions, {short_name: this.ogFormGroup.controls['method'].value})?.has_ic50\n }\n\n get processingMethod() {\n return this.ogFormGroup.controls['method'].value\n }\n\n onCancelClick() {\n this.emitPredictionModelIndex.emit(this.modelIndex);\n }\n\n onMethodChange(e: any) {\n /**\n * Note MHC-NP only requires 'type' and 'method'\n * */\n\n const value = e.target.value\n _.forOwn(this.ogFormGroup.value, (v, k) => {this.ogFormGroup.removeControl(k)}) // clear ogFormGroup\n\n this.ogFormGroup.setControl('type', this.fb.control('processing'))\n this.ogFormGroup.setControl('method', this.fb.control(value))\n\n switch (value) {\n case 'basic_processing': {\n this.ogFormGroup.setControl('mhc_binding_method', this.fb.control('netmhcpan_ba'))\n this.ogFormGroup.setControl('proteasome', this.fb.control('immuno'))\n this.ogFormGroup.setControl('tap_precursor', this.fb.control(1))\n this.ogFormGroup.setControl('tap_alpha', this.fb.control(0.2))\n break;\n }\n case 'netchop': {\n this.ogFormGroup.setControl('network_method', this.fb.control('c_term'))\n this.ogFormGroup.setControl('threshold', this.fb.control(0.7))\n break;\n }\n case 'netctl': {\n this.ogFormGroup.setControl('cleavage_weight', this.fb.control(0.15))\n this.ogFormGroup.setControl('tap_weight', this.fb.control(0.05))\n this.ogFormGroup.setControl('threshold', this.fb.control(0.75))\n break;\n }\n case 'netctlpan': {\n this.ogFormGroup.setControl('cleavage_weight', this.fb.control(0.225))\n this.ogFormGroup.setControl('tap_weight', this.fb.control(0.025))\n this.ogFormGroup.setControl('epitope_threshold', this.fb.control(1.0))\n break;\n }\n default:\n break\n }\n\n }\n}\n","\n
\n
\n \n \n
\n \n \n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n
Transporter associated with antigen processing
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n\n
\n
\n
\n\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n\n
\n \n
\n \n
\n
\n
\n\n
\n
\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {ControlContainer, UntypedFormBuilder} from \"@angular/forms\";\n\n@Component({\n selector: 'app-peptide-similarity-formgroup',\n templateUrl: './peptide-similarity-formgroup.component.html',\n styleUrls: ['./peptide-similarity-formgroup.component.scss']\n})\nexport class PeptideSimilarityFormgroupComponent {\n @Input() modelIndex: number | any;\n @Input() disabled: boolean | any;\n @Input() predictionOption: {\n display_name: string,\n short_name: string,\n group: string,\n source: string,\n has_ic50: boolean\n }[] = [];\n\n @Output() emitPredictionModelIndex = new EventEmitter();\n public ogFormGroup: any = null;\n\n constructor(\n public controlContainer: ControlContainer,\n private fb: UntypedFormBuilder\n ) {\n }\n\n ngOnInit(): void {\n this.ogFormGroup = this.controlContainer.control;\n }\n\n onCancelClick() {\n this.emitPredictionModelIndex.emit(this.modelIndex);\n }\n}\n","\n
\n
\n \n \n
\n \n \n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {ControlContainer} from '@angular/forms'\n\n@Component({\n selector: 'app-pmhc-immunogenicity-formgroup',\n templateUrl: './pmhc-immunogenicity-formgroup.component.html',\n styleUrls: ['./pmhc-immunogenicity-formgroup.component.scss']\n})\nexport class PmhcImmunogenicityFormgroupComponent implements OnInit {\n @Input() modelIndex: number | any;\n @Input() disabled: boolean | any;\n\n @Output() emitPredictionModelIndex = new EventEmitter();\n public ogFormGroup: any = null;\n\n constructor(public controlContainer: ControlContainer) {\n }\n\n ngOnInit(): void {\n this.ogFormGroup = this.controlContainer.control;\n }\n\n get mask_choice() {\n return this.ogFormGroup.controls['mask_choice'].value\n }\n\n onCancelClick() {\n this.emitPredictionModelIndex.emit(this.modelIndex);\n }\n\n}\n","\n
\n \n
\n\n \n \n \n \n
\n \n
\n \n
\n
\n
\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n OnChanges,\n SimpleChanges,\n AfterViewInit,\n isDevMode\n} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {UntypedFormBuilder, UntypedFormGroup, FormControl, UntypedFormArray, FormGroupDirective, Validators} from \"@angular/forms\";\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport {Location} from '@angular/common';\nimport {Title} from \"@angular/platform-browser\";\n\nimport {Observable, timer, of, from, Subject, Subscription} from \"rxjs\";\nimport {NgbModal, NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\nimport {catchError, debounce, debounceTime, distinctUntilChanged, tap, switchMap, takeUntil} from 'rxjs/operators';\n\n// import {Options, ChangeContext} from '@angular-slider/ngx-slider';\nimport {Options, ChangeContext} from 'ngx-slider-v2';\nimport {isASCII, IsJsonString, ltrim}from \"../../util/string-helpers\";\nimport {isMaxLength} from \"../../util/is-max-length\";\nimport {SequenceParserService} from \"../../services/sequence-parser/sequence-parser.service\";\nimport {AlleleSearchService} from \"../../services/allele-search/allele-search.service\";\nimport {PipelineService} from \"../../services/pipeline-service/pipeline.service\";\nimport {AlertServiceService} from \"../../services/alert-service/alert-service.service\";\nimport Columns from \"../../_global/Columns\";\nimport Allele from \"../../_global/Allele\";\n\nimport onCsvDownloadAllClickedNew from '../../util/on-csv-download';\nimport * as sarsSampleData from \"../../services/data/t-cell-sample.json\";\nimport * as pipelineData from \"../../services/data/pipeline-example.json\";\nimport * as alleleData from \"../../services/data/27-alleles.json\";\nimport _ from \"lodash\";\n\nimport {environment} from '../../../environments/environment';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {PipelineStateService} from \"../../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport Stage from \"../../_global/Stage\";\nimport PipelineParams from \"../../_global/PipelineParams\";\nimport Tool from \"../../_global/Tool\";\nimport {\n initTCellPredictionTool\n} from \"../../services/state-services/default-stage-states\";\n\nimport {columnListToObject} from \"../../util/convert-columns\";\n\nconst API_URL = `${environment['api_url']}/api/v1/mhci`;\n\n@Component({\n selector: 'app-t-cell-prediction',\n templateUrl: './t-cell-prediction.component.html',\n styleUrls: ['./t-cell-prediction.component.scss']\n})\nexport class TCellPredictionComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() emailForm!: UntypedFormGroup;\n\n active = 'processing_plots'\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n\n @Output() openEmailModal = new EventEmitter();\n\n @Output() emitOnCancel = new EventEmitter();\n\n @ViewChild('alleleSearch') alleleSearch!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n @ViewChild('alleleModal') alleleModal!: ElementRef;\n\n unsubscribe$ = new Subject();\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n\n sequence_table_result_link = ''\n\n /** Form variables */\n tCellForm!: UntypedFormGroup;\n // emailForm!: FormGroup;\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n alleles: false,\n lengths: false,\n predictors: false,\n table_state: false,\n }\n peptideLengthSliderOptions: Options = { // ngx-slider option\n showTicksValues: true,\n disabled: false,\n stepsArray: [\n {value: 8},\n {value: 9},\n {value: 10},\n {value: 11},\n {value: 12},\n {value: 13},\n {value: 14}\n ]\n };\n\n predictionOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n basicProcessingPredictionOption: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = []\n processingOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n\n mhciLoading: boolean = false;\n mhciPredictors: any[] = [];\n // bindingPredictors: object[] = [];\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters: number = 0;\n seqFormat: string = 'Unknown';\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n resultId: number = 0;\n\n plotLoading = false;\n processingPlots: {method: string, url: string, thresholdInput: number}[] = []\n selectedSeqNumPlots = '';\n selectedAllelePlots = '';\n selectedLengthPlots = ''\n sequenceNumbers = []\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n residue_table_order: any[] = [];\n residue_table_columns: Columns[] | any;\n residue_table: [(string | number)[]] = [[]]\n\n allele_distances_table_order: any[] = [];\n allele_distances_table_columns: Columns[] | any;\n allele_distances_table: [(string | number)[]] = [[]]\n\n peptide_table_order: any[] = [];\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n\n defaultOrder: any[] = [];\n\n // apiStatus: string;\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n closeResult = '';\n\n /** Alleles */\n searching = false;\n searchFailed = false;\n\n modalAlleles: Allele[] = [];\n modalOpen = false;\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n pipelineUrl: string = ''\n\n data: any\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private fb: UntypedFormBuilder,\n private _alleleSearchService: AlleleSearchService,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private route: ActivatedRoute,\n private router: Router,\n private titleService: Title,\n private location: Location,\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n ) {\n }\n\n ngOnInit(): void {\n if (isDevMode()) {\n console.log('Development!');\n } else {\n console.log('Production!');\n }\n\n this.getMHCIList();\n // this.tCellForm = this.fb.group(this.initialControlConfig);\n this.tCellForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n\n // this.loading = this.tools[this.index]?.loading\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n // if(this.pipelineLoading) {\n // this.disableInputs();\n // } else {\n // this.enableInputs();\n // }\n console.log('pipelineLoading')\n console.log(this.pipelineLoading)\n\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges();\n\n if(this.tCellForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.tCellForm.get('inputSequenceText')?.value)\n }\n\n // if(this.loading) {\n // this.disableInputs()\n // }\n\n // if(this.resultUrl) {\n // this.loading = true\n // this.getResultsSetInterval(this.resultUrl)\n // }\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n\n this.eventsSubscription.unsubscribe();\n this.runAllSubscription.unsubscribe();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const run = history.state?.run;\n // console.log(run);\n run && this.onRunMain();\n }, 0)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges t-cell')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get selectedAlleleLabels() {\n return this.alleles.value.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get selectedModalAlleleLabels() {\n return this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get predictionModels() {\n return this.tCellForm.get('predictionModels') as UntypedFormArray;\n }\n\n get alleles() {\n return this.tCellForm.get('alleles') as UntypedFormArray;\n }\n\n get breakPeptides() : boolean {\n return this.tCellForm.get('breakPeptides')?.value;\n }\n\n get inputSequenceText(){\n return this.tCellForm.get('inputSequenceText')?.value\n }\n\n get peptideLength() {\n return this.tCellForm.get('peptideLength')?.value;\n }\n\n /** processing plot filters **/\n\n // get sequenceNumberRange() {\n // const seq_num_arr =_.map(this.peptide_table, (o) => o[0])\n // return [_.min(seq_num_arr), _.max(seq_num_arr)] as number[]\n // }\n\n get stageAlleles() {\n return this.stages[this.index]?.input_parameters?.alleles?.split(',');\n }\n\n get stagePeptideLengthRange() {\n return this.stages[this.index]?.input_parameters?.peptide_length_range;\n }\n\n range(start: number, end: number) {\n return (new Array(end - start + 1)).fill(undefined).map((_, i) => i + start);\n }\n\n getMHCIList() {\n this.mhciLoading = true;\n this.http.get(API_URL)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n this.mhciPredictors = resp['predictors'];\n // console.log(this.mhciPredictors);\n this.predictionOptions = _.filter(this.mhciPredictors, {'group': 'binding'});\n this.basicProcessingPredictionOption = _.filter(this.mhciPredictors, {'group': 'binding', 'has_ic50': true})\n this.processingOptions = _.filter(this.mhciPredictors, {'group': 'processing'});\n console.log(this.processingOptions)\n this.mhciLoading = false;\n }\n )\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.emitIndex.emit(this.index);\n }\n\n onRunMain() {\n if(this.tCellForm.invalid){\n\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }\n }\n }\n\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = sarsSampleData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n\n /** Sequences */\n let sequences = this.tCellForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(seq);\n this.tCellForm.controls.inputSequenceText.setValue(seq);\n }\n\n /** Alleles */\n const patchValues = (allele: string, synonym = '', score = null) => {\n /** patchValues - helper function */\n return this.fb.group({\n label: [allele],\n synonym: [synonym],\n score: [score]\n })\n }\n if(this.alleles.length===0) {\n _.forEach(all.split(','), (allele) => {\n this.alleles.push(patchValues(allele));\n })\n // this.alleleSearch!.nativeElement.value = alleles;\n }\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n this.saveState ? this.onSaveTableState() : this.onRunMain();\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.tCellForm.value.inputSequenceText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertTCellForm(this.tCellForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"T-Cell Prediction\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mhci\",\n \"input_sequence_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const loadingTCellPredictionTool = Object.assign(initTCellPredictionTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(loadingTCellPredictionTool, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n this.postPipelineAPI(params);\n }\n\n\n onRun2() {\n\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index; // previous index\n\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertTCellForm(this.tCellForm)\n const initialStage = this.stages[this.index];\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage: Stage = {\n ...initialStage,\n result_url: undefined,\n stage_number: stage_number,\n input_stage_number: input_stage_number,\n input_parameters: inputParameters,\n table_state\n }\n\n // this.params.stages.push(stage);\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n // console.log(params)\n\n /** set params */\n const initToolLoading = Object.assign(initTCellPredictionTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n\n this._stateService.setParams(params);\n this._stateService.insertTool(initToolLoading, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n this.postPipelineAPI(params);\n }\n\n getResultsSetInterval(result_url: string) {\n /** */\n this.getResultsClicked = true\n\n this.residue_table_order = [];\n this.residue_table_columns = null;\n this.residue_table = [[]]\n\n this.sequence_table = [[]]\n this.allele_distances_table = [[]]\n this.residue_table = [[]]\n this.peptide_table = [[]]\n this.processingPlots = []\n\n this.resultUrl = result_url;\n console.log(result_url)\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(`${result_url}?statusOnly=true`).subscribe(\n {\n next: resp => {\n console.log(resp);\n if (resp['status'] === 'error' || resp['errors']) {\n // this.errorMessages = resp['errors'];\n // this.warningMessages = resp['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n if (resp['status'] === 'done') {\n clearInterval(this.runSetInterval);\n\n this._pipelineService.getResults(result_url).subscribe(resp => {\n // clearInterval(this.runSetInterval);\n console.log(resp)\n this.defaultOrder = [[]]\n /** 1) Create Column */\n const data = resp['data']['results'];\n // check for residue_table\n this.active = data[0].type\n _.forEach(data, table => {\n\n\n if (table.type === 'residue_table') {\n this.residue_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.residue_table_order[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n column['value_limits'] = column['type'] === 'int' ? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return column\n });\n // this.currentOrder = [...this.defaultOrder];\n if (this.residue_table_columns) {\n this.residue_table = table.table_data;\n }\n // console.log(this.residue_table_order);\n // console.log(this.residue_table_columns);\n // console.log(this.residue_table);\n }\n if (table.type === 'netmhcpan_allele_distance') {\n this.allele_distances_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.allele_distances_table[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n return column\n });\n // this.currentOrder = [...this.defaultOrder];\n if (this.allele_distances_table_columns) {\n this.allele_distances_table = table.table_data;\n }\n }\n if (table.type === 'peptide_table') {\n this.peptide_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n // console.log(column['value_limits'])\n // column['value_limits'] = column['value_limits'] ? {...column['value_limits'], applied: false, possibleValues: []} : undefined\n\n return column\n });\n this.peptide_table_order = [...this.defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n }\n // console.log(this.peptide_table_order);\n // console.log(this.peptide_table_columns);\n // console.log(this.peptide_table);\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n // column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n\n\n\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n if (table.type === 'processing_plots') {\n const all_plots_uri = new URL(table.all_plots_uri)\n\n this.selectedSeqNumPlots = all_plots_uri.searchParams.get('sequence_number') || ''\n this.selectedLengthPlots = all_plots_uri.searchParams.get('length') || ''\n this.selectedAllelePlots = all_plots_uri.searchParams.get('allele') || ''\n\n this.sequenceNumbers = table.sequence_numbers\n\n this.processingPlots = _.map(table.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n // this.processingPlots = table.urls\n console.log(this.processingPlots)\n }\n\n })\n\n this.submitted = true; this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n // clearInterval(this.runSetInterval); // remove later\n console.log(data);\n console.log(resp.pipeline_id)\n this.enableInputs();\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n },\n error: error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.loading = false;\n }\n }\n )\n }, milliseconds);\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * params\n * getResults: boolean\n * false - used in 'Save Table State'\n * */\n /** initial set up */\n this.disableInputs();\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n // this.residue_table_order = [];\n // this.residue_table_columns = null;\n // this.residue_table = [[]]\n //\n // this.sequence_table = [[]]\n // this.allele_distances_table = [[]]\n // this.residue_table = [[]]\n // this.peptide_table = [[]]\n // this.processingPlots = []\n\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTCellPredictionTool = Object.assign(initTCellPredictionTool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n this.location.go(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n // this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.router.createUrlTree([`pipeline/${resp.pipeline_id}`])\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.inputChange.table_state = false;\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n (error) => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n )\n }\n\n\n onSaveTableStateMain() {\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n this.onSaveTableState();\n }\n }\n\n onSaveTableState() {\n const tool_group = 'mhci'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.peptide_table_columns, tool_group)\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n stageTemp.table_state = [{table: 'peptide_table', columns: colObj}];\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.saveState = false;\n }\n\n onFilterApplied() {\n this.inputChange.table_state = this.submitted;\n }\n\n onClearTableState() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state = this.submitted;\n }\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n this.inputChange.table_state = false;\n // this.submitted = false;\n const currentTool = this.tools[this.index];\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n\n const oldSequence = this.stages[this.index].input_sequence_text\n const input_parameters = this.params.stages[this.index].input_parameters\n\n console.log(input_parameters)\n\n // sequences\n this.filteredSequences = [];\n this.numOfAA = 0;\n // order\n this.peptide_table_order = [];\n this.defaultOrder = [];\n // tCellForm values\n const peptideLength = [9, 10];\n this.tCellForm.patchValue({\n inputSequenceText: '',\n peptideLength,\n }, {emitEvent: false});\n\n // selected alleles\n this.alleles.clear()\n\n // predictors\n const initPredictor = {\n type: 'binding',\n method: 'netmhcpan_el',\n }\n const pm = this.tCellForm.controls.predictionModels as UntypedFormArray\n pm.clear({emitEvent: false})\n pm.push(this.fb.group(initPredictor), {emitEvent: false});\n\n this.enableInputs();\n\n if(this.submitted){\n this.inputChange = {\n ...this.inputChange,\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: oldSequence !== '',\n alleles: !_.isEqual([], input_parameters.alleles),\n lengths: !_.isEqual(peptideLength, input_parameters.peptide_length_range),\n predictors: !_.isEqual([initPredictor], input_parameters.predictors),\n }\n }\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.tCellForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n /** Add Prediction Model FormGroups */\n\n mhcBindingFormGroup(method = 'netmhcpan_el') {\n /**\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'netmhcpan_el'\n * */\n return this.fb.group({\n type: 'binding',\n method: this.fb.control(method),\n })\n }\n\n pmhcImmunogencityFormGroup(mask_choice = 'default', position_to_mask = '2,5,9') {\n /**\n * */\n return this.fb.group({\n type: 'immunogenicity',\n mask_choice: mask_choice,\n position_to_mask: this.fb.control(position_to_mask),\n })\n }\n\n mhcIProcessingFormGroup(proteasome = 'immuno', tap_precursor = 1, tap_alpha = 0.2) {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'processing',\n proteasome: this.fb.control(proteasome),\n tap_precursor: this.fb.control(tap_precursor),\n tap_alpha: this.fb.control(tap_alpha)\n })\n }\n\n mhcIProcessingNewFormGroup(method='basic_processing') {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n mhc_binding_method: \"netmhcpan_ba\",\n proteasome: \"immuno\",\n tap_precursor: 1,\n tap_alpha: 0.2\n })\n }\n\n mhcINPNewFormGroup() {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'mhcnp'\n })\n }\n\n /** Download Sequence File API calls\n * onDownloadJson()\n * onDownloadFasta()\n * onDownloadOriginal()\n * */\n\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadFasta() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n }\n\n onDownloadOriginal() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n /** Allele Search Functions */\n onAlleleSelect({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.alleles.value, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.alleles.push(this.fb.group(selectedAllele));\n }\n // sessionStorage.setItem('selectedAlleles', JSON.stringify(this.selectedAlleles));\n input.value = '';\n this.inputChange.alleles = this.submitted;\n }\n\n onAlleleSelectModal({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.modalAlleles, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.modalAlleles.push(selectedAllele);\n }\n input.value = '';\n }\n\n onBlurAlleleSelect(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.value = '';\n input.placeholder = 'Ex. HLA-A*02:01'\n if (this.alleles.length) {\n const labels = _.map(this.alleles.value, (o) => {\n return o.label;\n });\n input.value = labels.join(', ');\n }\n }\n\n onBlurAlleleSelectModal(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.placeholder = 'Ex. HLA-A*02:01'\n input.value = this.modalAlleles.length ? this.selectedModalAlleleLabels : ''\n }\n\n onAlleleClear(input: { value: string; }) {\n this.inputChange.alleles = this.submitted;\n this.alleles.clear()\n input.value = '';\n }\n\n onAlleleClearModal(input: { value: string; }) {\n this.modalAlleles = []\n input.value = ''\n }\n\n onAlleleDeselect(index: number) {\n this.alleles.removeAt(index)\n this.inputChange.alleles = this.submitted;\n // input.value = '';\n // if (this.alleles.length) {\n // input.value = this.selectedAlleleLabels\n // }\n }\n\n\n onAlleleDeselect2(index: number, input: { value: string }) {\n console.log(index)\n _.pullAt(this.modalAlleles, [index])\n const labels = this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ')\n input.value = this.modalAlleles.length ? labels : ''\n }\n\n search = (text$: Observable) =>\n text$.pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n tap(() => this.searching = true),\n switchMap(term => {\n // console.log(term);\n return this._alleleSearchService.search(term).pipe(\n tap(() => this.searchFailed = false),\n catchError(() => {\n this.searchFailed = true;\n return of([]);\n }))\n }\n ),\n tap(() => this.searching = false)\n )\n\n resultFormatter = (result: any) => {\n /**\n * The function that converts an item from the result list to a string to display in the popup.\n * */\n return result.synonyms.length > 0 ? `${result.label} - (${result.synonyms})` : result.label;\n }\n\n inputFormatter(value: any): any {\n /**\n * The function that converts an item from the result list to a string to display in the field.\n * */\n if (value.label) {\n return `${value.label}`;\n }\n }\n\n /** Predictors Drag and Drop */\n\n dropPredictionModel(event: CdkDragDrop) {\n const {previousIndex, currentIndex} = event;\n\n const control = this.predictionModels.at(previousIndex);\n this.predictionModels.removeAt(previousIndex);\n this.predictionModels.insert(currentIndex, control);\n\n if (previousIndex !== currentIndex) {\n this.inputChange.predictors = this.submitted;\n }\n }\n\n setInputChangePredictors(value: boolean) {\n this.inputChange.predictors = this.submitted;\n }\n\n removePredictorByIndex(index: number) {\n this.predictionModels.removeAt(index);\n this.inputChange.predictors = this.submitted;\n }\n\n addpredictionModel() {\n this.predictionModels.push(this.mhcBindingFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addPmhcImmungencityFormGroup() {\n this.predictionModels.push(this.pmhcImmunogencityFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n // addMhcIProcessingFormGroup() {\n // this.predictionModels.push(this.mhcIProcessingFormGroup());\n // this.inputChange.predictors = this.submitted;\n // }\n\n addMhcIProcessingNewFormGroup() {\n this.predictionModels.push(this.mhcIProcessingNewFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addMhcNPFormGroup() {\n this.predictionModels.push(this.mhcINPNewFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n /** Prediction Parameter Functions */\n\n formUrl() {\n /**\n http://localhost:4200/t-cell-prediction?params=\n * */\n }\n\n onDownloadParameter() {\n const data = this._pipelineService.convertTCellForm(this.tCellForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n uploadParameterFile($event: any, input: any) {\n console.log($event);\n $event.preventDefault();\n /**\n * Used for 'Upload' button to upload parameters\n * */\n // const {files} = $event.target;\n // files && this.onParameterFileDropped(files, input);\n }\n\n sequenceParser(val: string) {\n\n const firstChar = ltrim(val)[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n if(val.length > this.maxCharacters) {\n // Skip parsing\n } else if (firstChar === '>' && this.sequenceParserService.fastaValidate(val)) { // fasta\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if ((firstChar === '{' || firstChar === '[') && IsJsonString(val)) { // json\n this.seqFormat = 'JSON'\n this.numOfCharacters = slicedVal.length\n } else if (firstLineNumOfElements === 2 && this.sequenceParserService.namedWhiteSpaceValidate(val, separator)) {\n // named white space\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val.length > 3 && !val.includes('>') && this.sequenceParserService.unnamedWhiteSpaceValidate(val)) {\n // Unnamed\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val === '') { // delete\n /**\n * Takes care of it up top - still need this if statement\n * */\n this.seqFormat = 'Unknown';\n this.numOfCharacters = 0\n } else { // error\n this.seqFormat = 'Error';\n this.numOfCharacters = 0\n }\n }\n\n onLengthChange(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * Saves minPeptideLength and maxPeptideLength in session storage\n * */\n // sessionStorage.setItem('minPeptideLength', JSON.stringify(changeContext.value));\n // sessionStorage.setItem('maxPeptideLength', JSON.stringify(changeContext.highValue));\n this.inputChange.lengths = this.submitted;\n }\n\n onChanges(): void {\n /** PredictionModel sessionStorage */\n this.tCellForm.get('predictionModels')?.valueChanges.subscribe(val => {\n // sessionStorage.setItem('predictionModels', JSON.stringify(val));\n this.inputChange.predictors = this.submitted\n });\n\n const sequenceFieldChange = this.tCellForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n\n this.tCellForm.get('breakPeptides')?.valueChanges.subscribe(val => {\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: val});\n })\n\n sequenceFieldChange?.subscribe(val => {\n console.log('sequenceFieldChange')\n // sessionStorage.setItem('sequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n // this.alertService.clear();\n // this.myForm.patchValue({\n // inputFormat: 0\n // });\n }\n });\n }\n\n /** Allele Modal Functions */\n open(content: any) {\n this.modalOpen = true;\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n this.modalOpen = false;\n }, (reason) => {\n this.saveState = false;\n this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n onOpenAlleleModal() {\n this.open(this.alleleModal)\n this.modalAlleles = [...this.alleles.value]\n console.log(this.modalAlleles)\n }\n\n dismissAlleleModal() {\n this.modalOpen = false;\n this.modalService.dismissAll()\n }\n\n onSubmitModalAlleles() {\n this.alleles.clear()\n _.forEach(this.modalAlleles, (selectedAllele) => {\n this.alleles.push(this.fb.group(selectedAllele));\n })\n this.inputChange.alleles = this.submitted;\n this.modalService.dismissAll()\n this.modalOpen = false;\n }\n\n generate27Alleles(input: any) {\n this.modalAlleles = []\n // this.alleles.clear()\n const { alleles } = alleleData;\n _.forEach(alleles.split(','), (allele) => {this.modalAlleles.push({label: allele, synonym: null, score: null})})\n input.value = this.selectedModalAlleleLabels;\n }\n\n enableInputs() {\n // this.tCellForm.enable({emitEvent: false});\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n }\n\n disableInputs() {\n // this.tCellForm.disable({emitEvent: false});\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: true});\n }\n\n onErrorMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.errorMessages.splice(index, 1);\n }\n this.errorMessages = _.filter(this.errorMessages, (em) => em !== message);\n }\n\n onWarningMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.warningMessages.splice(index, 1);\n }\n this.warningMessages = _.filter(this.warningMessages, (wm) => wm !== message);\n }\n\n changePlotThreshold(url: string, i: number) {\n const value = this.processingPlots[i].thresholdInput\n const tempUrl = url.split('?')[0]\n const params = new URL(url).searchParams\n params.set('threshold', `${value}`)\n this.processingPlots[i].url = `${tempUrl}?${params}`\n }\n\n\n\n changePlotsBySequence(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${e.target.value}&length=${this.selectedLengthPlots}&allele=${this.selectedAllelePlots}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n changePlotsByAllele(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${this.selectedSeqNumPlots}&length=${this.selectedLengthPlots}&allele=${e.target.value}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n changePlotsByLength(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${this.selectedSeqNumPlots}&length=${e.target.value}&allele=${this.selectedAllelePlots}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n // sendNotification() {\n // const param = {\n // request_id: this.resultId,\n // email: this.emailForm.get('email')?.value,\n // job_title: this.emailForm.get('jobTitle')?.value\n // }\n // this.http.post(EMAIL_URL, param)\n // .subscribe(resp => {\n // console.log(resp);\n // this.modalService.dismissAll('sendNotification()');\n // })\n // }\n\n}\n","\n
\n
\n

{{index + 1}}

\n
\n
\n
\n

T Cell Prediction - Class I

\n
\n \n \n \n \n
\n
\n \n \n
\n
Input Sequence(s)
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n FASTA\n \n Original\n \n
\n
\n
\n  \n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger-new\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n Format: {{seqFormat}} | {{numOfCharacters | number}} characters\n \n \n \n Parameter changed since prediction.\n \n
\n
\n
\n\n \n
\n
Prediction Parameters
\n
\n\n \n Download parameters\n \n\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n\n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n {{allele.label}}\n \n \n \n
\n \n Parameter changed since prediction.\n \n
\n
\n\n
\n \n {{alleles.length}} allele(s)\n \n
\n\n\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n \n \n
\n \n \n \n\n\n\n\n\n
\n
\n
\n \n Parameter changed since prediction.\n \n\n\n
\n
\n
\n \n
\n \n \n \n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n
\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n \n
\n\n
\n
    \n
  • \n Peptide Table\n \n\n\n\n\n\n \n \n
  • \n
  • \n Residue Table\n \n \n \n
  • \n
  • \n NetMHCpan Allele Distance\n \n \n \n
  • \n
  • \n Processing Plots\n \n
    \n
    \n
    \n Seq #\n \n\n
    \n\n
    \n Allele\n \n\n
    \n\n
    \n Length\n \n\n
    \n
    \n\n
    \n
    \n Loading...\n
    \n
    \n \n
    \n
    \n

    {{plot.method}}

    \n
    \n
    \n Percentile Threshold\n \n Score Threshold\n \n \n \n
    \n
    \n
    \n\n \n
    \n
    \n
    \n
    NO DATA AVAILABLE
    \n
    \n
    \n
    \n
  • \n
  • \n Sequence Table \n \n \n \n
  • \n
\n\n
\n
\n\n\n\n
\n

\n Number of Selected Alleles: {{modalAlleles.length}}\n

\n \n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n\n
0\" class=\"p-2 d-flex flex-column justify-content-start\">\n\n
    \n \n
  • {{i['label']}}\n \n
  • \n
\n
\n
\n
\n \n \n \n \n HLA allele frequencies and reference sets with maximal population coverage\n \n \n
\n \n \n
\n
\n
\n\n\n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n \n \n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import {Component, EventEmitter, OnInit, Output, Input} from '@angular/core';\nimport {ControlContainer, UntypedFormBuilder} from '@angular/forms'\n\n@Component({\n selector: 'app-mhcii-pmhc-immunogenicity-formgroup',\n templateUrl: './mhcii-pmhc-immunogenicity-formgroup.component.html',\n styleUrls: ['./mhcii-pmhc-immunogenicity-formgroup.component.scss']\n})\nexport class MhciiPmhcImmunogenicityFormgroupComponent {\n @Input() modelIndex: number | any;\n @Input() disabled: boolean | any;\n @Input() processingOptions: {\n display_name: string,\n short_name: string,\n group: string,\n source: string,\n has_ic50: boolean\n }[] = [];\n\n @Output() emitPredictionModelIndex = new EventEmitter();\n addProcessing: boolean = false;\n public ogFormGroup: any = null;\n\n constructor(\n public controlContainer: ControlContainer,\n private fb: UntypedFormBuilder\n ) {\n }\n\n ngOnInit(): void {\n this.ogFormGroup = this.controlContainer.control;\n }\n\n onCancelClick() {\n this.emitPredictionModelIndex.emit(this.modelIndex);\n }\n\n addProcessingFormGroup(proteasome = 'immuno', tap_precursor = 1, tap_alpha = 0.2) {\n this.ogFormGroup.addControl(\n 'processing',\n this.fb.group({\n proteasome: this.fb.control(proteasome),\n tap_precursor: this.fb.control(tap_precursor),\n tap_alpha: this.fb.control(tap_alpha)\n })\n )\n }\n\n removeProcessingFormGroup() {\n this.ogFormGroup.removeControl('processing')\n }\n\n onAddProcessingChange() {\n this.addProcessing = !this.addProcessing\n this.addProcessing ? this.addProcessingFormGroup() : this.removeProcessingFormGroup()\n }\n}\n\n","\n
\n
\n \n \n
\n \n \n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n OnChanges,\n SimpleChanges,\n AfterViewInit,\n isDevMode\n} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {UntypedFormBuilder, UntypedFormGroup, FormControl, UntypedFormArray, FormGroupDirective, Validators} from \"@angular/forms\";\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport {Location} from '@angular/common';\nimport {Title} from \"@angular/platform-browser\";\n\nimport {Observable, timer, of, from, Subject, Subscription} from \"rxjs\";\nimport {NgbModal, NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\nimport {catchError, debounce, debounceTime, distinctUntilChanged, tap, switchMap, takeUntil} from 'rxjs/operators';\n\n// import {Options, ChangeContext} from '@angular-slider/ngx-slider';\nimport {Options, ChangeContext} from 'ngx-slider-v2';\nimport {isASCII, IsJsonString, ltrim}from \"../../util/string-helpers\";\nimport {isMaxLength} from \"../../util/is-max-length\";\nimport {SequenceParserService} from \"../../services/sequence-parser/sequence-parser.service\";\nimport {AlleleSearchService} from \"../../services/allele-search/allele-search.service\";\nimport {PipelineService} from \"../../services/pipeline-service/pipeline.service\";\nimport {AlertServiceService} from \"../../services/alert-service/alert-service.service\";\nimport Columns from \"../../_global/Columns\";\nimport Allele from \"../../_global/Allele\";\n\nimport onCsvDownloadAllClickedNew from '../../util/on-csv-download';\nimport * as sarsSampleData from \"../../services/data/mhcii-t-cell-sample.json\";\nimport * as pipelineData from \"../../services/data/pipeline-example.json\";\nimport * as alleleData from \"../../services/data/class-II-27-alleles.json\";\nimport * as alleleData2 from \"../../services/data/class-II-7-alleles.json\";\nimport _ from \"lodash\";\n\nimport {environment} from '../../../environments/environment';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {PipelineStateService} from \"../../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport Stage from \"../../_global/Stage\";\nimport PipelineParams from \"../../_global/PipelineParams\";\nimport Tool from \"../../_global/Tool\";\nimport {\n initTCellPrediction2Tool\n} from \"../../services/state-services/default-stage-states\";\n\nimport {columnListToObject} from \"../../util/convert-columns\";\n\nconst API_URL = `${environment['api_url']}/api/v1/mhcii`;\n\n@Component({\n selector: 'app-t-cell-prediction-2',\n templateUrl: './t-cell-prediction-2.component.html',\n styleUrls: ['./t-cell-prediction-2.component.scss']\n})\nexport class TCellPrediction2Component implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() emailForm!: UntypedFormGroup;\n\n active = 'processing_plots'\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n\n @Output() openEmailModal = new EventEmitter();\n\n @Output() emitOnCancel = new EventEmitter();\n\n @ViewChild('alleleSearch') alleleSearch!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n @ViewChild('alleleModal') alleleModal!: ElementRef;\n\n unsubscribe$ = new Subject();\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n\n sequence_table_result_link = ''\n\n /** Form variables */\n tCellForm!: UntypedFormGroup;\n // emailForm!: FormGroup;\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n alleles: false,\n lengths: false,\n peptide_spacing: false,\n predictors: false,\n table_state: false,\n }\n peptideLengthSliderOptions: Options = { // ngx-slider option\n showTicksValues: true,\n disabled: false,\n stepsArray: [\n {value: 11},\n {value: 12},\n {value: 13},\n {value: 14},\n {value: 15},\n {value: 16},\n {value: 17},\n {value: 18},\n {value: 19},\n {value: 20},\n {value: 21},\n {value: 22},\n {value: 23},\n {value: 24},\n {value: 25},\n {value: 26},\n {value: 27},\n {value: 28},\n {value: 29},\n {value: 30}\n ]\n };\n\n predictionOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n basicProcessingPredictionOption: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = []\n processingOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n immunogenicityOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n\n mhciLoading: boolean = false;\n mhciPredictors: any[] = [];\n // bindingPredictors: object[] = [];\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters: number = 0;\n seqFormat: string = 'Unknown';\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n resultId: number = 0;\n\n plotLoading = false;\n processingPlots: {method: string, url: string, thresholdInput: number}[] = []\n selectedSeqNumPlots = '';\n selectedAllelePlots = '';\n selectedLengthPlots = ''\n sequenceNumbers = []\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n residue_table_order: any[] = [];\n residue_table_columns: Columns[] | any;\n residue_table: [(string | number)[]] = [[]]\n\n allele_distances_table_order: any[] = [];\n allele_distances_table_columns: Columns[] | any;\n allele_distances_table: [(string | number)[]] = [[]]\n\n consolidated_peptide_table_order: any[] = [];\n consolidated_peptide_table_columns: Columns[] | any;\n consolidated_peptide_table: [(string | number)[]] = [[]]\n\n peptide_table_order: any[] = [];\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n\n defaultOrder: any[] = [];\n defaultOrder2: any[] = []; // used in consolidated_peptide_table\n\n // apiStatus: string;\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n closeResult = '';\n\n /** Alleles */\n searching = false;\n searchFailed = false;\n\n modalAlleles: Allele[] = [];\n modalOpen = false;\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n pipelineUrl: string = ''\n\n data: any\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private fb: UntypedFormBuilder,\n private _alleleSearchService: AlleleSearchService,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private route: ActivatedRoute,\n private router: Router,\n private titleService: Title,\n private location: Location,\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n ) {\n }\n\n ngOnInit(): void {\n if (isDevMode()) {\n console.log('Development!');\n } else {\n console.log('Production!');\n }\n\n this.getMHCIList();\n // this.tCellForm = this.fb.group(this.initialControlConfig);\n this.tCellForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log(value);\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log('tools$');\n // console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n\n // this.loading = this.tools[this.index]?.loading\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n // if(this.pipelineLoading) {\n // this.disableInputs();\n // } else {\n // this.enableInputs();\n // }\n // console.log('pipelineLoading')\n // console.log(this.pipelineLoading)\n\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log(`params`);\n // console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges();\n\n if(this.tCellForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.tCellForm.get('inputSequenceText')?.value)\n }\n\n // if(this.loading) {\n // this.disableInputs()\n // }\n\n // if(this.resultUrl) {\n // this.loading = true\n // this.getResultsSetInterval(this.resultUrl)\n // }\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n\n this.eventsSubscription.unsubscribe();\n this.runAllSubscription.unsubscribe();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const run = history.state?.run;\n console.log(run);\n run && this.onRunMain();\n }, 0)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges t-cell 2')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get selectedAlleleLabels() {\n return this.alleles.value.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get selectedModalAlleleLabels() {\n return this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ');\n }\n\n get predictionModels() {\n return this.tCellForm.get('predictionModels') as UntypedFormArray;\n }\n\n get alleles() {\n return this.tCellForm.get('alleles') as UntypedFormArray;\n }\n\n get breakPeptides() : boolean {\n return this.tCellForm.get('breakPeptides')?.value;\n }\n\n get inputSequenceText(){\n return this.tCellForm.get('inputSequenceText')?.value\n }\n\n get peptideLength() {\n return this.tCellForm.get('peptideLength')?.value;\n }\n\n /** processing plot filters **/\n\n // get sequenceNumberRange() {\n // const seq_num_arr =_.map(this.peptide_table, (o) => o[0])\n // return [_.min(seq_num_arr), _.max(seq_num_arr)] as number[]\n // }\n\n get stageAlleles() {\n return this.stages[this.index]?.input_parameters?.alleles?.split(',');\n }\n\n get stagePeptideLengthRange() {\n return this.stages[this.index]?.input_parameters?.peptide_length_range;\n }\n\n range(start: number, end: number) {\n return (new Array(end - start + 1)).fill(undefined).map((_, i) => i + start);\n }\n\n getMHCIList() {\n this.mhciLoading = true;\n this.http.get(API_URL)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n this.mhciPredictors = resp['predictors'];\n // console.log(this.mhciPredictors);\n this.predictionOptions = _.filter(this.mhciPredictors, {'group': 'binding'});\n this.basicProcessingPredictionOption = _.filter(this.mhciPredictors, {'group': 'binding', 'has_ic50': true})\n this.processingOptions = _.filter(this.mhciPredictors, {'group': 'processing'});\n this.immunogenicityOptions = _.filter(this.mhciPredictors, {'group': 'immunogenicity'});\n console.log(this.processingOptions)\n this.mhciLoading = false;\n }\n )\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.emitIndex.emit(this.index);\n }\n\n onRunMain() {\n if(this.tCellForm.invalid){\n\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }\n }\n }\n\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = sarsSampleData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n\n /** Sequences */\n let sequences = this.tCellForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(seq);\n this.tCellForm.controls.inputSequenceText.setValue(seq);\n }\n\n /** Alleles */\n const patchValues = (allele: string, synonym = '', score = null) => {\n /** patchValues - helper function */\n return this.fb.group({\n label: [allele],\n synonym: [synonym],\n score: [score]\n })\n }\n if(this.alleles.length===0) {\n _.forEach(all.split(','), (allele) => {\n this.alleles.push(patchValues(allele));\n })\n // this.alleleSearch!.nativeElement.value = alleles;\n }\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n this.saveState ? this.onSaveTableState() : this.onRunMain();\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.tCellForm.value.inputSequenceText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertTCellClassIIForm(this.tCellForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"T-Cell Prediction - Class II\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mhcii\",\n \"input_sequence_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const loadingTCellPredictionTool = Object.assign(initTCellPrediction2Tool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(loadingTCellPredictionTool, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n this.postPipelineAPI(params);\n }\n\n\n onRun2() {\n\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index; // previous index\n\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertTCellClassIIForm(this.tCellForm)\n const initialStage = this.stages[this.index];\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage: Stage = {\n ...initialStage,\n result_url: undefined,\n stage_number: stage_number,\n input_stage_number: input_stage_number,\n input_parameters: inputParameters,\n table_state\n }\n\n // this.params.stages.push(stage);\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n // console.log(params)\n\n /** set params */\n const initToolLoading = Object.assign(initTCellPrediction2Tool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n\n this._stateService.setParams(params);\n this._stateService.insertTool(initToolLoading, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n this.postPipelineAPI(params);\n }\n\n getResultsSetInterval(result_url: string) {\n /** */\n this.getResultsClicked = true\n\n this.residue_table_order = [];\n this.residue_table_columns = null;\n this.residue_table = [[]]\n\n this.sequence_table = [[]]\n this.allele_distances_table = [[]]\n this.residue_table = [[]]\n this.peptide_table = [[]]\n this.consolidated_peptide_table = [[]]\n this.processingPlots = []\n\n this.resultUrl = result_url;\n console.log(result_url)\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(`${result_url}?statusOnly=true`).subscribe(\n {\n next: resp => {\n console.log(resp);\n if (resp['status'] === 'error' || resp['errors']) {\n // this.errorMessages = resp['errors'];\n // this.warningMessages = resp['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n if (resp['status'] === 'done') {\n clearInterval(this.runSetInterval);\n\n this._pipelineService.getResults(result_url).subscribe(resp => {\n // clearInterval(this.runSetInterval);\n console.log(resp)\n this.defaultOrder = [[]]\n /** 1) Create Column */\n const data = resp['data']['results'];\n // check for residue_table\n this.active = data[0].type\n _.forEach(data, table => {\n\n if (table.type === 'peptide_table') {\n this.peptide_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n // console.log(column['value_limits'])\n // column['value_limits'] = column['value_limits'] ? {...column['value_limits'], applied: false, possibleValues: []} : undefined\n\n return column\n });\n this.peptide_table_order = [...this.defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n }\n // console.log(this.peptide_table_order);\n // console.log(this.peptide_table_columns);\n // console.log(this.peptide_table);\n }\n if (table.type === 'consolidated_peptide_table') {\n this.consolidated_peptide_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder2[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n // console.log(this.defaultOrder2)\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n // column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n\n\n\n });\n this.consolidated_peptide_table_order = [...this.defaultOrder2];\n if (this.consolidated_peptide_table_columns) {\n\n this.consolidated_peptide_table = table.table_data\n }\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['value_limits'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n // column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n\n\n\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n\n })\n\n this.submitted = true; this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n // clearInterval(this.runSetInterval); // remove later\n console.log(data);\n console.log(resp.pipeline_id)\n this.enableInputs();\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n },\n error: error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.loading = false;\n }\n }\n )\n }, milliseconds);\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * params\n * getResults: boolean\n * false - used in 'Save Table State'\n * */\n /** initial set up */\n this.disableInputs();\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n // this.residue_table_order = [];\n // this.residue_table_columns = null;\n // this.residue_table = [[]]\n //\n // this.sequence_table = [[]]\n // this.allele_distances_table = [[]]\n // this.residue_table = [[]]\n // this.peptide_table = [[]]\n // this.processingPlots = []\n\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTCellPredictionTool = Object.assign(initTCellPrediction2Tool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n this.location.go(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n // this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.router.createUrlTree([`pipeline/${resp.pipeline_id}`])\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.inputChange.table_state = false;\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n (error) => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n )\n }\n\n\n onSaveTableStateMain() {\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n this.onSaveTableState();\n }\n }\n\n onSaveTableState() {\n const tool_group = 'mhcii'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.peptide_table_columns, tool_group)\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n stageTemp.table_state = [{table: 'peptide_table', columns: colObj}];\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.saveState = false;\n }\n\n onFilterApplied() {\n this.inputChange.table_state = this.submitted;\n }\n\n onClearTableState() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state = this.submitted;\n }\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n this.inputChange.table_state = false;\n // this.submitted = false;\n const currentTool = this.tools[this.index];\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n\n const oldSequence = this.stages[this.index].input_sequence_text\n const input_parameters = this.params.stages[this.index].input_parameters\n\n console.log(input_parameters)\n\n // sequences\n this.filteredSequences = [];\n this.numOfAA = 0;\n // order\n this.peptide_table_order = [];\n this.consolidated_peptide_table_order = [];\n this.defaultOrder = [];\n // tCellForm values\n const peptideLength = [9, 10];\n this.tCellForm.patchValue({\n inputSequenceText: '',\n peptideLength,\n }, {emitEvent: false});\n\n // selected alleles\n this.alleles.clear()\n\n // predictors\n const initPredictor = {\n type: 'binding',\n method: 'netmhciipan_el',\n }\n const pm = this.tCellForm.controls.predictionModels as UntypedFormArray\n pm.clear({emitEvent: false})\n pm.push(this.fb.group(initPredictor), {emitEvent: false});\n\n this.enableInputs();\n\n if(this.submitted){\n this.inputChange = {\n ...this.inputChange,\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: oldSequence !== '',\n alleles: !_.isEqual([], input_parameters.alleles),\n lengths: !_.isEqual(peptideLength, input_parameters.peptide_length_range),\n predictors: !_.isEqual([initPredictor], input_parameters.predictors),\n }\n }\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.tCellForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n /** Add Prediction Model FormGroups */\n\n mhcBindingFormGroup(method = 'netmhciipan_el') {\n /**\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'netmhciipan_el'\n * */\n return this.fb.group({\n type: 'binding',\n method: this.fb.control(method),\n })\n }\n\n mhciiPmhcImmunogencityFormGroup(method = 'cd4episcore') {\n /**\n * Currently defaulted to 'cd4episcore'\n * */\n return this.fb.group({\n type: 'immunogenicity',\n method: this.fb.control(method),\n })\n }\n\n mhcIProcessingFormGroup(proteasome = 'immuno', tap_precursor = 1, tap_alpha = 0.2) {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'processing',\n proteasome: this.fb.control(proteasome),\n tap_precursor: this.fb.control(tap_precursor),\n tap_alpha: this.fb.control(tap_alpha)\n })\n }\n\n mhcIProcessingNewFormGroup(method='basic_processing') {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n mhc_binding_method: \"netmhcpan_ba\",\n proteasome: \"immuno\",\n tap_precursor: 1,\n tap_alpha: 0.2\n })\n }\n\n mhcINPNewFormGroup() {\n /**\n *\n * Defaults:\n * {\n * type: 'processing'\n * proteasome: 'immuno'\n * tap_precursor: 1,\n * tap_alpha: 0.2\n * }\n * */\n return this.fb.group({\n type: 'mhcnp'\n })\n }\n\n /** Download Sequence File API calls\n * onDownloadJson()\n * onDownloadFasta()\n * onDownloadOriginal()\n * */\n\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadFasta() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n }\n\n onDownloadOriginal() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n /** Allele Search Functions */\n onAlleleSelect({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.alleles.value, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.alleles.push(this.fb.group(selectedAllele));\n }\n // sessionStorage.setItem('selectedAlleles', JSON.stringify(this.selectedAlleles));\n input.value = '';\n this.inputChange.alleles = this.submitted;\n }\n\n onAlleleSelectModal({e, input}: { e: any, input: any }) {\n e.preventDefault();\n const selectedAllele = e.item;\n let labels = _.map(this.modalAlleles, (allele) => allele.label)\n if (!labels.includes(selectedAllele.label)) {\n this.modalAlleles.push(selectedAllele);\n }\n input.value = '';\n }\n\n onBlurAlleleSelect(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.value = '';\n input.placeholder = 'Ex. HLA-A*02:01'\n if (this.alleles.length) {\n const labels = _.map(this.alleles.value, (o) => {\n return o.label;\n });\n input.value = labels.join(', ');\n }\n }\n\n onBlurAlleleSelectModal(e: { preventDefault: () => void; }, input: { value: string; placeholder: string; }) {\n /**\n * Displays alleles in the text box when out of focus.\n * */\n e.preventDefault();\n input.placeholder = 'Ex. HLA-A*02:01'\n input.value = this.modalAlleles.length ? this.selectedModalAlleleLabels : ''\n }\n\n onAlleleClear(input: { value: string; }) {\n this.inputChange.alleles = this.submitted;\n this.alleles.clear()\n input.value = '';\n }\n\n onAlleleClearModal(input: { value: string; }) {\n this.modalAlleles = []\n input.value = ''\n }\n\n onAlleleDeselect(index: number) {\n this.alleles.removeAt(index)\n this.inputChange.alleles = this.submitted;\n // input.value = '';\n // if (this.alleles.length) {\n // input.value = this.selectedAlleleLabels\n // }\n }\n\n\n onAlleleDeselect2(index: number, input: { value: string }) {\n console.log(index)\n _.pullAt(this.modalAlleles, [index])\n const labels = this.modalAlleles.map(((o: { label: string; }) => o.label)).join(', ')\n input.value = this.modalAlleles.length ? labels : ''\n }\n\n search = (text$: Observable) =>\n text$.pipe(\n debounceTime(1000),\n distinctUntilChanged(),\n tap(() => this.searching = true),\n switchMap(term => {\n // console.log(term);\n return this._alleleSearchService.search(term, 'mhcii').pipe(\n tap(() => this.searchFailed = false),\n catchError(() => {\n this.searchFailed = true;\n return of([]);\n }))\n }\n ),\n tap(() => this.searching = false)\n )\n\n resultFormatter = (result: any) => {\n /**\n * The function that converts an item from the result list to a string to display in the popup.\n * */\n return result.synonyms.length > 0 ? `${result.label} - (${result.synonyms})` : result.label;\n }\n\n inputFormatter(value: any): any {\n /**\n * The function that converts an item from the result list to a string to display in the field.\n * */\n if (value.label) {\n return `${value.label}`;\n }\n }\n\n /** Predictors Drag and Drop */\n\n dropPredictionModel(event: CdkDragDrop) {\n const {previousIndex, currentIndex} = event;\n\n const control = this.predictionModels.at(previousIndex);\n this.predictionModels.removeAt(previousIndex);\n this.predictionModels.insert(currentIndex, control);\n\n if (previousIndex !== currentIndex) {\n this.inputChange.predictors = this.submitted;\n }\n }\n\n setInputChangePredictors(value: boolean) {\n this.inputChange.predictors = this.submitted;\n }\n\n removePredictorByIndex(index: number) {\n this.predictionModels.removeAt(index);\n this.inputChange.predictors = this.submitted;\n }\n\n addpredictionModel() {\n this.predictionModels.push(this.mhcBindingFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addPmhcImmungencityFormGroup() {\n this.predictionModels.push(this.mhciiPmhcImmunogencityFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n // addMhcIProcessingFormGroup() {\n // this.predictionModels.push(this.mhcIProcessingFormGroup());\n // this.inputChange.predictors = this.submitted;\n // }\n\n addMhcIProcessingNewFormGroup() {\n this.predictionModels.push(this.mhcIProcessingNewFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n addMhcNPFormGroup() {\n this.predictionModels.push(this.mhcINPNewFormGroup());\n this.inputChange.predictors = this.submitted;\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n /** Prediction Parameter Functions */\n\n formUrl() {\n /**\n http://localhost:4200/t-cell-prediction?params=\n * */\n }\n\n onDownloadParameter() {\n const data = this._pipelineService.convertTCellClassIIForm(this.tCellForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n uploadParameterFile($event: any, input: any) {\n console.log($event);\n $event.preventDefault();\n /**\n * Used for 'Upload' button to upload parameters\n * */\n // const {files} = $event.target;\n // files && this.onParameterFileDropped(files, input);\n }\n\n sequenceParser(val: string) {\n\n const firstChar = ltrim(val)[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n if(val.length > this.maxCharacters) {\n // Skip parsing\n } else if (firstChar === '>' && this.sequenceParserService.fastaValidate(val)) { // fasta\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if ((firstChar === '{' || firstChar === '[') && IsJsonString(val)) { // json\n this.seqFormat = 'JSON'\n this.numOfCharacters = slicedVal.length\n } else if (firstLineNumOfElements === 2 && this.sequenceParserService.namedWhiteSpaceValidate(val, separator)) {\n // named white space\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val.length > 3 && !val.includes('>') && this.sequenceParserService.unnamedWhiteSpaceValidate(val)) {\n // Unnamed\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val === '') { // delete\n /**\n * Takes care of it up top - still need this if statement\n * */\n this.seqFormat = 'Unknown';\n this.numOfCharacters = 0\n } else { // error\n this.seqFormat = 'Error';\n this.numOfCharacters = 0\n }\n }\n\n onLengthChange(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * Saves minPeptideLength and maxPeptideLength in session storage\n * */\n // sessionStorage.setItem('minPeptideLength', JSON.stringify(changeContext.value));\n // sessionStorage.setItem('maxPeptideLength', JSON.stringify(changeContext.highValue));\n this.inputChange.lengths = this.submitted;\n }\n\n onChanges(): void {\n /** PredictionModel sessionStorage */\n this.tCellForm.get('predictionModels')?.valueChanges.subscribe(val => {\n // sessionStorage.setItem('predictionModels', JSON.stringify(val));\n this.inputChange.predictors = this.submitted\n });\n\n const sequenceFieldChange = this.tCellForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n\n this.tCellForm.get('breakPeptides')?.valueChanges.subscribe(val => {\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: val});\n })\n\n sequenceFieldChange?.subscribe(val => {\n console.log('sequenceFieldChange')\n // sessionStorage.setItem('sequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n // this.alertService.clear();\n // this.myForm.patchValue({\n // inputFormat: 0\n // });\n }\n });\n }\n\n /** Allele Modal Functions */\n open(content: any) {\n this.modalOpen = true;\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n this.modalOpen = false;\n }, (reason) => {\n this.saveState = false;\n this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n onOpenAlleleModal() {\n this.open(this.alleleModal)\n this.modalAlleles = [...this.alleles.value]\n console.log(this.modalAlleles)\n }\n\n dismissAlleleModal() {\n this.modalOpen = false;\n this.modalService.dismissAll()\n }\n\n onSubmitModalAlleles() {\n this.alleles.clear()\n _.forEach(this.modalAlleles, (selectedAllele) => {\n this.alleles.push(this.fb.group(selectedAllele));\n })\n this.inputChange.alleles = this.submitted;\n this.modalService.dismissAll()\n this.modalOpen = false;\n }\n\n generate27Alleles(input: any) {\n this.modalAlleles = []\n // this.alleles.clear()\n const { alleles } = alleleData;\n _.forEach(alleles.split(','), (allele) => {this.modalAlleles.push({label: allele, synonym: null, score: null})})\n input.value = this.selectedModalAlleleLabels;\n }\n\n generate7Alleles(input: any) {\n this.modalAlleles = []\n // this.alleles.clear()\n const { alleles } = alleleData2;\n _.forEach(alleles.split(','), (allele) => {this.modalAlleles.push({label: allele, synonym: null, score: null})})\n input.value = this.selectedModalAlleleLabels;\n }\n\n enableInputs() {\n // this.tCellForm.enable({emitEvent: false});\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: this.breakPeptides});\n }\n\n disableInputs() {\n // this.tCellForm.disable({emitEvent: false});\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: true});\n }\n\n onErrorMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.errorMessages.splice(index, 1);\n }\n this.errorMessages = _.filter(this.errorMessages, (em) => em !== message);\n }\n\n onWarningMessageDeselect(message: string, index: number) {\n if (index > -1) {\n this.warningMessages.splice(index, 1);\n }\n this.warningMessages = _.filter(this.warningMessages, (wm) => wm !== message);\n }\n\n changePlotThreshold(url: string, i: number) {\n const value = this.processingPlots[i].thresholdInput\n const tempUrl = url.split('?')[0]\n const params = new URL(url).searchParams\n params.set('threshold', `${value}`)\n this.processingPlots[i].url = `${tempUrl}?${params}`\n }\n\n\n\n changePlotsBySequence(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${e.target.value}&length=${this.selectedLengthPlots}&allele=${this.selectedAllelePlots}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n changePlotsByAllele(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${this.selectedSeqNumPlots}&length=${this.selectedLengthPlots}&allele=${e.target.value}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n changePlotsByLength(e: any) {\n const newUrl = `${this.resultUrl}/plots?sequence_number=${this.selectedSeqNumPlots}&length=${e.target.value}&allele=${this.selectedAllelePlots}`\n console.log(newUrl)\n this.plotLoading = true;\n this.http.get(newUrl).subscribe((value: any) => {\n console.log(value)\n this.processingPlots = _.map(value.urls, (plot) => {\n\n const url = new URL(plot.url)\n const thresholdInput = url.searchParams.get('threshold')\n\n return {\n thresholdInput,\n ...plot\n }\n })\n this.plotLoading = false;\n })\n }\n\n // sendNotification() {\n // const param = {\n // request_id: this.resultId,\n // email: this.emailForm.get('email')?.value,\n // job_title: this.emailForm.get('jobTitle')?.value\n // }\n // this.http.post(EMAIL_URL, param)\n // .subscribe(resp => {\n // console.log(resp);\n // this.modalService.dismissAll('sendNotification()');\n // })\n // }\n\n}\n","\n
\n
\n

{{index + 1}}

\n
\n
\n
\n

T Cell Prediction - Class II

\n
\n \n \n \n \n
\n
\n \n \n
\n
Input Sequence(s)
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n FASTA\n \n Original\n \n
\n
\n
\n  \n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger-new\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n Format: {{seqFormat}} | {{numOfCharacters | number}} characters\n \n \n \n Parameter changed since prediction.\n \n
\n
\n
\n\n \n
\n
Prediction Parameters
\n
\n\n \n Download parameters\n \n\n \n
\n
\n \n
\n
\n \n
\n\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n\n
\n
\n
\n \n \n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n
\n
\n \n
\n\n\n\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n {{allele.label}}\n \n \n \n
\n \n Parameter changed since prediction.\n \n
\n
\n\n
\n \n {{alleles.length}} allele(s)\n \n
\n\n\n
\n \n
\n\n
\n \n
\n
\n \n
\n \n \n \n
\n \n \n\n\n\n\n\n\n\n\n\n\n\n
\n
\n
\n \n Parameter changed since prediction.\n \n\n\n
\n
\n
\n \n
\n \n \n\n
\n
\n
\n
\n
\n\n
\n\n
\n \n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n
\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n \n
\n\n
\n \n\n
\n
\n\n\n\n
\n

\n Number of Selected Alleles: {{modalAlleles.length}}\n

\n \n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n Loading...\n
\n
\n
\n
\n\n
0\" class=\"p-2 d-flex flex-column justify-content-start\">\n\n
    \n \n
  • {{i['label']}}\n \n
  • \n
\n
\n
\n
\n \n \n \n \n \n HLA allele frequencies and reference sets with maximal population coverage\n \n \n
\n \n \n
\n
\n
\n\n\n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n \n \n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges, OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {FormGroupDirective, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup} from \"@angular/forms\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Location} from \"@angular/common\";\nimport {Title} from \"@angular/platform-browser\";\n\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {Observable, of, Subject, Subscription} from \"rxjs\";\nimport {takeUntil} from \"rxjs/operators\";\nimport _ from \"lodash\";\nimport * as pako from 'pako';\n\nimport {ChangeContext, Options, CustomStepDefinition} from \"ngx-slider-v2\";\n\nimport Columns from \"../_global/Columns\";\nimport Stage from \"../_global/Stage\";\nimport Tool from \"../_global/Tool\";\nimport PipelineParams from \"../_global/PipelineParams\";\n\nimport {AlertServiceService} from \"../services/alert-service/alert-service.service\";\nimport {PipelineService} from \"../services/pipeline-service/pipeline.service\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {SequenceParserService} from \"../services/sequence-parser/sequence-parser.service\";\nimport {\n initMutatedPeptideGeneratorTool\n} from \"../services/state-services/default-stage-states\";\n\nimport {isASCII} from \"../util/string-helpers\";\nimport {isMaxLines} from \"../util/is-max-lines\";\nimport {columnListToObject} from \"../util/convert-columns\";\nimport onCsvDownloadAllClickedNew from \"../util/on-csv-download\";\n\nimport {environment} from \"../../environments/environment\";\n\nconst API_URL = `${environment['api_url']}/api/v1/mutgen`;\n\n@Component({\n selector: 'app-mutated-peptide-generator',\n templateUrl: './mutated-peptide-generator.component.html',\n styleUrls: ['./mutated-peptide-generator.component.scss']\n})\nexport class MutatedPeptideGeneratorComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges{\n\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() showEmailModal: boolean = false;\n\n @Input() emailForm!: UntypedFormGroup;\n @Output() openEmailModal = new EventEmitter();\n\n active = 'unique_peptide'\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n @Output() emitOnCancel = new EventEmitter();\n\n // @ViewChild('alleleSearch') alleleSearch!: ElementRef;\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n @ViewChild('alleleModal') alleleModal!: ElementRef;\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n unsubscribe$ = new Subject();\n\n modalOpen = false;\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n defaultOrder: any[] = [];\n\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n\n snp_table_order: any[] = []\n snp_table_columns: Columns[] | any;\n snp_table: [(string | number)[]] = [[]]\n\n unique_peptide_table_order: any[] = [];\n unique_peptide_table_columns: Columns[] | any;\n unique_peptide_table: [(string | number)[]] = [[]]\n\n peptide_table_order: any[] = [];\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n\n /** Form variables */\n mutgenForm!: UntypedFormGroup;\n defaultInputVcfText: string = ''\n\n sequencePlaceHolder = `Drag a SNPeff-annotated VCF file (max: 5,000 lines) into this box or click 'Run' to use this example:\n##fileformat=VCFv4.1\n##fileDate=20240220\n##source=freeBayes v0.9.21\n##reference=Homo_sapiens.GRCh38.dna.primary_assembly.fa\n##phasing=none\n##commandline=\"freebayes -f Homo_sapiens.GRCh38.dna.primary_assembly.fa --pooled-discrete --genotype-qualities --min-repeat-entropy 1 --min-alternate-fraction 0.02 --min-alternate-count 2 --region 1:0..248956422 output/syntheticX/syntheticX/syntheticX_normal.bam output/syntheticX/syntheticX_tumor.bam\"\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##INFO=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##FORMAT=\n##INFO=\n##SnpEffVersion=\"5.2c (build 2024-04-09 12:24), by Pablo Cingolani\"\n##SnpEffCmd=\"SnpEff -noStats -cancer -cancerSamples in.samples GRCh38.86 \"\n##INFO=\n##INFO=\n##INFO=\n#CHROM\\tPOS\\tID\\tREF\\tALT\\tQUAL\\tFILTER\\tINFO\\tFORMAT\\tsyntheticX_normal\\tsyntheticX_tumor\n19\\t36007191\\t.\\tC\\tA\\t24.8697\\tPASS\\tSSC=8.6069;TYPE=snp;ANN=A|synonymous_variant|LOW|SYNE4|ENSG00000181392|transcript|ENST00000490730.1|protein_coding|3/8|c.357G>T|p.Arg119Arg|469/1175|357/1063|119/353||WARNING_TRANSCRIPT_INCOMPLETE,A|synonymous_variant|LOW|SYNE4|ENSG00000181392|transcript|ENST00000324444.7|protein_coding|3/8|c.357G>T|p.Arg119Arg|469/1354|357/1215|119/404||,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000378875.7|protein_coding||c.*2099G>T|||||1933|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000490986.5|nonsense_mediated_decay||n.*2509G>T|||||1930|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000252984.11|protein_coding||c.*2099G>T|||||2014|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000392183.7|retained_intron||n.*3099G>T|||||3099|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000466196.5|retained_intron||n.*3547G>T|||||3547|,A|downstream_gene_variant|MODIFIER|AC002116.8|ENSG00000248101|transcript|ENST00000473572.2|retained_intron||n.*1447G>T|||||1447|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000495116.6|processed_transcript||n.*1929G>T|||||1929|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000471323.1|retained_intron||n.*1931G>T|||||1931|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000475223.5|retained_intron||n.*3547G>T|||||3547|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000486389.5|protein_coding||c.*2376G>T|||||1933|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000462793.5|retained_intron||n.*2270G>T|||||2270|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000590666.5|retained_intron||n.*3989G>T|||||3989|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000461668.5|nonsense_mediated_decay||n.*2581G>T|||||1930|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000490483.5|nonsense_mediated_decay||n.*2509G>T|||||1930|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000485128.5|protein_coding||c.*2376G>T|||||1984|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000497999.1|nonsense_mediated_decay||n.*2598G>T|||||2091|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000468004.5|retained_intron||n.*3353G>T|||||3353|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000481257.5|nonsense_mediated_decay||n.*3846G>T|||||3445|,A|downstream_gene_variant|MODIFIER|ALKBH6|ENSG00000239382|transcript|ENST00000592353.1|retained_intron||n.*3847G>T|||||3847|,A|intron_variant|MODIFIER|SYNE4|ENSG00000181392|transcript|ENST00000340477.9|protein_coding|2/5|c.280-520G>T||||||,A|intron_variant|MODIFIER|SYNE4|ENSG00000181392|transcript|ENST00000505054.2|retained_intron|1/2|n.394+1026G>T||||||,A|intron_variant|MODIFIER|SYNE4|ENSG00000181392|transcript|ENST00000397428.7|protein_coding|1/2|c.39+1363G>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|SYNE4|ENSG00000181392|transcript|ENST00000503121.5|protein_coding|2/2|c.240+1026G>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|non_coding_transcript_exon_variant|MODIFIER|SYNE4|ENSG00000181392|transcript|ENST00000465425.1|retained_intron|3/7|n.469G>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:39.9452:8:8:320:0:0:0,-2.40824,-29.1663\\t0/1:24.8697:4:2:82:2:78:-6.19866,0,-6.57556\n10\\t101131861\\t.\\tT\\tC\\t0.0\\tPASS\\tSSC=176.441;TYPE=snp;ANN=C|missense_variant|MODERATE|TLX1|ENSG00000107807|transcript|ENST00000370196.10|protein_coding|1/3|c.320T>C|p.Leu107Ser|1357/2906|320/993|107/330||,C|missense_variant|MODERATE|TLX1|ENSG00000107807|transcript|ENST00000467928.2|protein_coding|1/3|c.320T>C|p.Leu107Ser|558/1838|320/774|107/257||,C|missense_variant|MODERATE|TLX1|ENSG00000107807|transcript|ENST00000463716.3|protein_coding|1/2|c.134T>C|p.Leu45Ser|134/469|134/469|45/155||WARNING_TRANSCRIPT_INCOMPLETE,C|upstream_gene_variant|MODIFIER|TLX1NB|ENSG00000236311|transcript|ENST00000445873.5|processed_transcript||n.-735A>G|||||735|,C|upstream_gene_variant|MODIFIER|TLX1NB|ENSG00000236311|transcript|ENST00000425505.1|processed_transcript||n.-735A>G|||||735|,C|upstream_gene_variant|MODIFIER|TLX1|ENSG00000107807|transcript|ENST00000533319.1|processed_transcript||n.-921T>C|||||921|,C|upstream_gene_variant|MODIFIER|TLX1|ENSG00000107807|transcript|ENST00000525019.1|processed_transcript||n.-2453T>C|||||2453|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:658:657:25828:1:12:0,-196.878,-2320.96\\t0/0:99:97:94:3642:3:94:0,-20.4367,-319.031\n22\\t25351843\\t.\\tTG\\tT\\t0.0\\tPASS\\tSSC=153.764;TYPE=del;OLD_VARIANT=22:25351843:TGGGGCGT/TGGGCGT;ANN=T|frameshift_variant|HIGH|LRP5L|ENSG00000100068|transcript|ENST00000402785.2|protein_coding|4/4|c.714delC|p.Thr239fs|811/1193|714/759|238/252||,T|frameshift_variant|HIGH|LRP5L|ENSG00000100068|transcript|ENST00000610821.4|protein_coding|4/4|c.714delC|p.Thr239fs|3179/3602|714/759|238/252||,T|frameshift_variant|HIGH|LRP5L|ENSG00000100068|transcript|ENST00000402859.6|protein_coding|6/6|c.714delC|p.Thr239fs|1238/1661|714/759|238/252||,T|3_prime_UTR_variant|MODIFIER|LRP5L|ENSG00000100068|transcript|ENST00000474163.1|nonsense_mediated_decay|4/4|n.*412delC|||||5547|,T|upstream_gene_variant|MODIFIER|CTA-246H3.11|ENSG00000231466|transcript|ENST00000434827.1|processed_pseudogene||n.-1522delC|||||1522|,T|downstream_gene_variant|MODIFIER|LRP5L|ENSG00000100068|transcript|ENST00000484509.1|retained_intron||n.*2913delC|||||2913|,T|intron_variant|MODIFIER|LRP5L|ENSG00000100068|transcript|ENST00000444995.7|protein_coding|6/6|c.656-30delC||||||,T|non_coding_transcript_exon_variant|MODIFIER|LRP5L|ENSG00000100068|transcript|ENST00000467672.5|retained_intron|4/4|n.3179delC||||||,T|non_coding_transcript_exon_variant|MODIFIER|LRP5L|ENSG00000100068|transcript|ENST00000474163.1|nonsense_mediated_decay|4/4|n.*412delC||||||;LOF=(LRP5L|ENSG00000100068|8|0.38)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:504:501:19784:0:0:0,-178.21,-1896.78\\t0/0:99:84:81:3200:2:82:0,-24.446,-284.026\n17\\t7024470\\t.\\tACCA\\tCCCC\\t1.78519E-4\\tPASS\\tSSC=0.42928;TYPE=complex;ANN=CCCC|synonymous_variant|LOW|BCL6B|ENSG00000161940|transcript|ENST00000293805.9|protein_coding|4/9|c.471_474delACCAinsCCCC|p.159|563/3555|471/1440|157/479||,CCCC|upstream_gene_variant|MODIFIER|BCL6B|ENSG00000161940|transcript|ENST00000571729.1|retained_intron||n.-2321_-2318delACCAinsCCCC|||||2321|,CCCC|upstream_gene_variant|MODIFIER|MIR497HG|ENSG00000267532|transcript|ENST00000443997.1|antisense||n.-4843_-4840delTGGTinsGGGG|||||4840|,CCCC|upstream_gene_variant|MODIFIER|BCL6B|ENSG00000161940|transcript|ENST00000537931.2|protein_coding||c.-2031_-2028delACCAinsCCCC|||||2031|WARNING_TRANSCRIPT_NO_START_CODON,CCCC|upstream_gene_variant|MODIFIER|MIR497HG|ENSG00000267532|transcript|ENST00000572453.1|antisense||n.-4814_-4811delTGGTinsGGGG|||||4811|,CCCC|downstream_gene_variant|MODIFIER|BCL6B|ENSG00000161940|transcript|ENST00000573503.1|protein_coding||c.*233_*236delACCAinsCCCC|||||233|WARNING_TRANSCRIPT_INCOMPLETE,CCCC|downstream_gene_variant|MODIFIER|BCL6B|ENSG00000161940|transcript|ENST00000576705.1|protein_coding||c.*166_*169delACCAinsCCCC|||||166|WARNING_TRANSCRIPT_INCOMPLETE,CCCC|non_coding_transcript_exon_variant|MODIFIER|BCL6B|ENSG00000161940|transcript|ENST00000572216.1|processed_transcript|4/4|n.379_382delACCAinsCCCC||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:58.2077:12:10:324:2:24:0,-1.33237,-27.1817\\t0/0:44.0237:3:3:119:0:0:0,-0.90309,-11.095\n22\\t42128903\\t.\\tT\\tA\\t9.57029E-16\\tPASS\\tSSC=171.425;TYPE=snp;ANN=A|missense_variant|MODERATE|CYP2D6|ENSG00000100197|transcript|ENST00000360608.9|protein_coding|4/9|c.547A>T|p.Ser183Cys|662/1684|547/1494|183/497||,A|missense_variant|MODERATE|CYP2D6|ENSG00000100197|transcript|ENST00000359033.4|protein_coding|3/8|c.394A>T|p.Ser132Cys|468/1433|394/1341|132/446||,A|missense_variant|MODERATE|CYP2D6|ENSG00000100197|transcript|ENST00000389970.7|protein_coding|4/10|c.481A>T|p.Ser161Cys|637/1714|481/1485|161/494||,A|upstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000617009.4|antisense||n.-3128T>A|||||3128|,A|upstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000621190.1|antisense||n.-3128T>A|||||3128|,A|upstream_gene_variant|MODIFIER|RP4-669P10.19|ENSG00000227370|transcript|ENST00000417586.1|processed_pseudogene||n.-3640T>A|||||3640|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000451451.1|antisense||n.*3875T>A|||||3875|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000417327.5|antisense||n.*3554T>A|||||3554|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000536447.6|antisense||n.*3944T>A|||||3944|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000595777.5|antisense||n.*3944T>A|||||3944|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000600968.5|antisense||n.*3944T>A|||||3944|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000434834.5|antisense||n.*3901T>A|||||3901|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000610250.5|antisense||n.*4004T>A|||||4004|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000547929.6|retained_intron||n.*4004T>A|||||4004|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000617396.4|antisense||n.*4341T>A|||||4341|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000609499.5|retained_intron||n.*4004T>A|||||4004|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000609833.5|retained_intron||n.*4004T>A|||||4004|,A|downstream_gene_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000608643.5|retained_intron||n.*4019T>A|||||4019|,A|intron_variant|MODIFIER|NDUFA6-AS1|ENSG00000237037|transcript|ENST00000439129.5|antisense|5/6|n.1718+3496T>A||||||,A|non_coding_transcript_exon_variant|MODIFIER|CYP2D6|ENSG00000100197|transcript|ENST00000360124.9|nonsense_mediated_decay|2/7|n.214A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|CYP2D6|ENSG00000100197|transcript|ENST00000488442.1|retained_intron|3/8|n.1271A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:646:646:24929:0:0:0,-194.465,-2195.25\\t0/0:99:92:90:3541:2:49:0,-23.04,-304.263\n6\\t160064455\\t.\\tC\\tCG\\t1.09451E-13\\tPASS\\tSSC=226.209;TYPE=ins;OLD_VARIANT=6:160064455:CGGGGGGGGACA/CGGGGGGGGGACA;ANN=CG|frameshift_variant|HIGH|IGF2R|ENSG00000197081|transcript|ENST00000356956.5|protein_coding|28/48|c.3949dupG|p.Asp1317fs|4098/14044|3950/7476|1317/2491||INFO_REALIGN_3_PRIME;LOF=(IGF2R|ENSG00000197081|5|0.20)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1057:1004:39425:21:778:0,-326.753,-3525.51\\t0/0:99:352:327:12912:11:406:0,-100.544,-1130.26\n9\\t70286221\\t.\\tT\\tC\\t0.0\\tPASS\\tSSC=160.285;TYPE=snp;ANN=C|missense_variant|MODERATE|SMC5|ENSG00000198887|transcript|ENST00000361138.6|protein_coding|8/25|c.1003T>C|p.Ser335Pro|1120/5980|1003/3306|335/1101||,C|non_coding_transcript_exon_variant|MODIFIER|SMC5|ENSG00000198887|transcript|ENST00000618375.1|processed_transcript|2/3|n.134T>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1133:1089:36523:24:308:0,-307.33,-3255.79\\t0/0:99:537:514:17203:10:120:0,-147.045,-1535.38\n1\\t227732408\\t.\\tG\\tT\\t0.0\\tPASS\\tSSC=135.632;TYPE=snp;ANN=T|missense_variant|MODERATE|JMJD4|ENSG00000081692|transcript|ENST00000366758.7|protein_coding|6/6|c.1376C>A|p.Ala459Asp|1376/2595|1376/1392|459/463||,T|missense_variant|MODERATE|JMJD4|ENSG00000081692|transcript|ENST00000615711.4|protein_coding|6/6|c.1376C>A|p.Ala459Asp|1376/2591|1376/1392|459/463||,T|missense_variant|MODERATE|JMJD4|ENSG00000081692|transcript|ENST00000620518.4|protein_coding|6/6|c.1238C>A|p.Ala413Asp|1248/2432|1238/1254|413/417||,T|missense_variant|MODERATE|JMJD4|ENSG00000081692|transcript|ENST00000438896.2|protein_coding|6/6|c.1328C>A|p.Ala443Asp|1328/2502|1328/1344|443/447||,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000315781.9|protein_coding||c.-3002G>T|||||2588|,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000366759.8|protein_coding||c.-3002G>T|||||2588|,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000418653.5|protein_coding||c.-3024G>T|||||3023|WARNING_TRANSCRIPT_NO_START_CODON,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000617596.4|protein_coding||c.-3137G>T|||||3045|,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000426344.5|protein_coding||c.-3029G>T|||||3028|WARNING_TRANSCRIPT_NO_START_CODON,T|upstream_gene_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000470038.1|processed_transcript||n.-3765G>T|||||3765|,T|downstream_gene_variant|MODIFIER|JMJD4|ENSG00000081692|transcript|ENST00000480590.1|retained_intron||n.*740C>A|||||740|,T|downstream_gene_variant|MODIFIER|JMJD4|ENSG00000081692|transcript|ENST00000465251.1|retained_intron||n.*1211C>A|||||1211|,T|intron_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000366760.5|protein_coding|1/3|c.-95+3622G>T||||||,T|intron_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000475930.1|processed_transcript|2/2|n.297+696G>T||||||,T|intron_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000491439.1|processed_transcript|2/2|n.243+661G>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000480897.5|processed_transcript|3/3|n.431G>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|SNAP47|ENSG00000143740|transcript|ENST00000480265.1|processed_transcript|2/2|n.258G>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|JMJD4|ENSG00000081692|transcript|ENST00000485807.1|retained_intron|2/2|n.1766C>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:527:526:20653:1:37:0,-154.945,-1853.29\\t0/0:99:90:88:3530:2:82:0,-19.313,-309.931\n3\\t123722214\\t.\\tG\\tC\\t5.93688E-15\\tPASS\\tSSC=149.583;TYPE=snp;ANN=C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000475616.5|protein_coding|10/31|c.1718C>G|p.Ala573Gly|1718/5745|1718/5745|573/1914||,C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000360304.7|protein_coding|12/33|c.1718C>G|p.Ala573Gly|1904/7738|1718/5745|573/1914||,C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000360772.7|protein_coding|14/34|c.1718C>G|p.Ala573Gly|2097/10027|1718/5592|573/1863||,C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000354792.9|protein_coding|11/32|c.1511C>G|p.Ala504Gly|1697/7531|1511/5538|504/1845||,C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000359169.5|protein_coding|12/32|c.1718C>G|p.Ala573Gly|1904/7585|1718/5592|573/1863||,C|missense_variant|MODERATE|MYLK|ENSG00000065534|transcript|ENST00000346322.9|protein_coding|12/33|c.1511C>G|p.Ala504Gly|1805/5892|1511/5538|504/1845||,C|3_prime_UTR_variant|MODIFIER|MYLK|ENSG00000065534|transcript|ENST00000464489.5|nonsense_mediated_decay|12/33|n.*1297C>G|||||17740|,C|non_coding_transcript_exon_variant|MODIFIER|MYLK|ENSG00000065534|transcript|ENST00000464489.5|nonsense_mediated_decay|12/33|n.*1297C>G||||||,C|non_coding_transcript_exon_variant|MODIFIER|MYLK|ENSG00000065534|transcript|ENST00000514623.1|retained_intron|3/4|n.2286C>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:554:553:22058:0:0:0,-166.47,-1971.73\\t0/0:99:82:79:3198:2:82:0,-16.8869,-279.96\n19\\t643332\\t.\\tC\\tG\\t3.4716E-14\\tPASS\\tSSC=183.092;TYPE=snp;ANN=G|stop_gained|HIGH|FGF22|ENSG00000070388|transcript|ENST00000215530.6|protein_coding|2/3|c.312C>G|p.Tyr104*|343/1311|312/513|104/170||,G|stop_gained|HIGH|FGF22|ENSG00000070388|transcript|ENST00000586042.6|protein_coding|2/3|c.312C>G|p.Tyr104*|343/1288|312/498|104/165||,G|downstream_gene_variant|MODIFIER|RNF126|ENSG00000070423|transcript|ENST00000292363.9|protein_coding||c.*4796G>C|||||4194|,G|downstream_gene_variant|MODIFIER|RNF126|ENSG00000070423|transcript|ENST00000586749.1|retained_intron||n.*4198G>C|||||4198|,G|downstream_gene_variant|MODIFIER|RNF126|ENSG00000070423|transcript|ENST00000589762.5|protein_coding||c.*4800G>C|||||4800|WARNING_TRANSCRIPT_INCOMPLETE,G|downstream_gene_variant|MODIFIER|RNF126|ENSG00000070423|transcript|ENST00000605891.5|nonsense_mediated_decay||n.*5567G>C|||||4194|,G|downstream_gene_variant|MODIFIER|RNF126|ENSG00000070423|transcript|ENST00000590885.6|processed_transcript||n.*4197G>C|||||4197|,G|downstream_gene_variant|MODIFIER|FGF22|ENSG00000070388|transcript|ENST00000591390.1|retained_intron||n.*1742C>G|||||1742|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:855:815:29588:39:478:0,-214.057,-2617.14\\t0/0:99:121:115:4120:5:60:0,-30.9648,-365.175\n3\\t160425010\\t.\\tA\\tC\\t0.0\\tPASS\\tSSC=162.974;TYPE=snp;ANN=C|synonymous_variant|LOW|SMC4|ENSG00000113810|transcript|ENST00000344722.5|protein_coding|15/23|c.2469A>C|p.Ala823Ala|2814/5356|2469/3867|823/1288||,C|synonymous_variant|LOW|SMC4|ENSG00000113810|transcript|ENST00000357388.7|protein_coding|16/24|c.2469A>C|p.Ala823Ala|2920/5471|2469/3867|823/1288||,C|synonymous_variant|LOW|SMC4|ENSG00000113810|transcript|ENST00000469762.5|protein_coding|16/24|c.2394A>C|p.Ala798Ala|2499/3998|2394/3792|798/1263||,C|synonymous_variant|LOW|SMC4|ENSG00000113810|transcript|ENST00000462787.5|protein_coding|15/22|c.2469A>C|p.Ala823Ala|3628/5033|2469/3693|823/1230||,C|upstream_gene_variant|MODIFIER|SMC4|ENSG00000113810|transcript|ENST00000488017.1|retained_intron||n.-3786A>C|||||3786|,C|downstream_gene_variant|MODIFIER|SMC4|ENSG00000113810|transcript|ENST00000469858.5|nonsense_mediated_decay||n.*1777A>C|||||63|,C|downstream_gene_variant|MODIFIER|SMC4|ENSG00000113810|transcript|ENST00000497203.1|retained_intron||n.*1416A>C|||||1416|,C|intron_variant|MODIFIER|RP11-432B6.3|ENSG00000248710|transcript|ENST00000483754.1|nonsense_mediated_decay|3/18|n.952+13222T>G||||||,C|non_coding_transcript_exon_variant|MODIFIER|SMC4|ENSG00000113810|transcript|ENST00000462668.5|retained_intron|8/16|n.1692A>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1620:1579:56755:40:495:0,-443.125,-5044.11\\t0/0:99:1001:982:36062:17:229:0,-280.151,-3212.6\n19\\t9757955\\t.\\tA\\tT\\t2.43962E-7\\tPASS\\tSSC=1.89386;TYPE=snp;ANN=T|synonymous_variant|LOW|ZNF846|ENSG00000196605|transcript|ENST00000397902.6|protein_coding|6/6|c.1122T>A|p.Ala374Ala|1536/2016|1122/1602|374/533||,T|3_prime_UTR_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000586293.5|protein_coding|5/5|c.*778T>A|||||778|,T|upstream_gene_variant|MODIFIER|CTD-2623N2.3|ENSG00000267370|transcript|ENST00000588113.1|unprocessed_pseudogene||n.-1092T>A|||||1092|,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000591377.1|retained_intron||n.*519T>A|||||519|,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000590471.1|processed_transcript||n.*4433T>A|||||4433|,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000587650.1|processed_transcript||n.*4145T>A|||||4145|,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000589412.5|protein_coding||c.*592T>A|||||592|WARNING_TRANSCRIPT_INCOMPLETE,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000586814.5|protein_coding||c.*794T>A|||||794|WARNING_TRANSCRIPT_INCOMPLETE,T|downstream_gene_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000592587.1|protein_coding||c.*1918T>A|||||1918|WARNING_TRANSCRIPT_INCOMPLETE,T|intron_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000589453.5|nonsense_mediated_decay|5/7|n.*674+104T>A||||||,T|intron_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000588267.5|protein_coding|5/5|c.631+104T>A||||||,T|intron_variant|MODIFIER|ZNF846|ENSG00000196605|transcript|ENST00000592859.1|protein_coding|2/2|c.631+104T>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:94.3483:28:26:1049:2:53:0,-3.39901,-89.6661\\t0/0:72.5331:6:5:205:0:0:0,-1.50515,-18.4586\n22\\t17548233\\t.\\tA\\tG\\t4.2069E-14\\tPASS\\tSSC=328.198;TYPE=snp;ANN=G|synonymous_variant|LOW|CECR2|ENSG00000099954|transcript|ENST00000400585.6|protein_coding|17/19|c.2454A>G|p.Thr818Thr|2892/4833|2454/3903|818/1300||,G|synonymous_variant|LOW|CECR2|ENSG00000099954|transcript|ENST00000262608.12|protein_coding|17/19|c.2457A>G|p.Thr819Thr|2842/4783|2457/3906|819/1301||,G|synonymous_variant|LOW|CECR2|ENSG00000099954|transcript|ENST00000342247.9|protein_coding|18/20|c.3006A>G|p.Thr1002Thr|3424/6178|3006/4455|1002/1484||,G|synonymous_variant|LOW|CECR2|ENSG00000099954|transcript|ENST00000612582.1|protein_coding|17/19|c.2880A>G|p.Thr960Thr|2887/9645|2880/4329|960/1442||,G|upstream_gene_variant|MODIFIER|CECR2|ENSG00000099954|transcript|ENST00000355219.3|nonsense_mediated_decay||n.-766A>G|||||766|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1473:1421:47573:36:437:0,-399.278,-4238.46\\t0/0:99:274:262:8853:10:120:0,-71.0802,-785.455\n6\\t35452666\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=132.932;TYPE=snp;ANN=T|missense_variant|MODERATE|FANCE|ENSG00000112039|transcript|ENST00000229769.2|protein_coding|1/10|c.121C>T|p.Arg41Trp|306/2554|121/1611|41/536||,T|downstream_gene_variant|MODIFIER|MKRNP2|ENSG00000227154|transcript|ENST00000436521.1|unprocessed_pseudogene||n.*2800C>T|||||2800|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:503:503:19998:0:0:0,-151.418,-1798.06\\t0/0:99:86:84:3354:2:78:0,-18.4858,-294.497\n11\\t108250705\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=111.591;TYPE=snp;OLD_MULTIALLELIC=11:108250705:C/G/T;ANN=T|stop_gained|HIGH|ATM|ENSG00000149311|transcript|ENST00000527805.5|protein_coding|10/27|c.1240C>T|p.Gln414*|1973/4841|1240/4108|414/1368||WARNING_TRANSCRIPT_INCOMPLETE,T|stop_gained|HIGH|ATM|ENSG00000149311|transcript|ENST00000452508.6|protein_coding|11/64|c.1240C>T|p.Gln414*|1429/12954|1240/9171|414/3056||,T|stop_gained|HIGH|ATM|ENSG00000149311|transcript|ENST00000278616.8|protein_coding|10/63|c.1240C>T|p.Gln414*|1625/13147|1240/9171|414/3056||,T|upstream_gene_variant|MODIFIER|ATM|ENSG00000149311|transcript|ENST00000525012.5|processed_transcript||n.-2116C>T|||||2116|,T|upstream_gene_variant|MODIFIER|ATM|ENSG00000149311|transcript|ENST00000533526.1|processed_transcript||n.-2116C>T|||||2116|;LOF=(ATM|ENSG00000149311|25|0.12);NMD=(ATM|ENSG00000149311|25|0.12)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:683:659:22302:15:190:0,-185.787,-1988.09\\t0/0:99:303:291:9534:5:70:0,-82.8026,-851.246\n2\\t39035228\\t.\\tT\\tC\\t1.30189E-14\\tPASS\\tSSC=261.19;TYPE=snp;ANN=C|missense_variant|MODERATE|SOS1|ENSG00000115904|transcript|ENST00000402219.6|protein_coding|8/23|c.1058A>G|p.Tyr353Cys|1099/8314|1058/4002|353/1333||,C|missense_variant|MODERATE|SOS1|ENSG00000115904|transcript|ENST00000426016.5|protein_coding|9/24|c.1058A>G|p.Tyr353Cys|1145/8517|1058/4002|353/1333||,C|missense_variant|MODERATE|SOS1|ENSG00000115904|transcript|ENST00000395038.6|protein_coding|8/22|c.1058A>G|p.Tyr353Cys|1086/4123|1058/3957|353/1318||,C|non_coding_transcript_exon_variant|MODIFIER|SOS1|ENSG00000115904|transcript|ENST00000461545.1|retained_intron|3/4|n.408A>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1743:1665:60732:50:630:0,-459.576,-5403.2\\t0/0:99:735:706:25542:17:214:0,-198.386,-2277.24\n9\\t94320516\\t.\\tT\\tC\\t4.3455E-14\\tPASS\\tSSC=483.276;TYPE=snp;ANN=C|missense_variant|MODERATE|NUTM2F|ENSG00000130950|transcript|ENST00000253262.8|protein_coding|5/7|c.1060A>G|p.Thr354Ala|1081/2561|1060/2271|354/756||,C|missense_variant|MODERATE|NUTM2F|ENSG00000130950|transcript|ENST00000341207.5|protein_coding|5/8|c.1060A>G|p.Thr354Ala|1081/2516|1060/2226|354/741||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1982:1933:70604:42:529:0,-546.925,-6030.86\\t0/0:99:237:230:8640:6:82:0,-63.6489,-725.973\n10\\t102504189\\t.\\tACCG\\tCCCC\\t0.0\\tPASS\\tSSC=158.978;TYPE=complex;OLD_MULTIALLELIC=10:102504189:ACCG/CCCC/CCCG/ACCC;ANN=CCCC|missense_variant|MODERATE|SUFU|ENSG00000107882|transcript|ENST00000369902.7|protein_coding|1/12|c.37_40delACCGinsCCCC|p.ThrAla13ProPro|203/5001|37/1455|13/484||,CCCC|missense_variant|MODERATE|SUFU|ENSG00000107882|transcript|ENST00000369899.6|protein_coding|1/11|c.37_40delACCGinsCCCC|p.ThrAla13ProPro|183/1839|37/1302|13/433||,CCCC|missense_variant|MODERATE|SUFU|ENSG00000107882|transcript|ENST00000423559.2|protein_coding|1/10|c.37_40delACCGinsCCCC|p.ThrAla13ProPro|111/2601|37/1446|13/481||,CCCC|upstream_gene_variant|MODIFIER|ACTR1A|ENSG00000138107|transcript|ENST00000369905.8|protein_coding||c.-1545_-1542delCGGTinsGGGG|||||1478|,CCCC|upstream_gene_variant|MODIFIER|ACTR1A|ENSG00000138107|transcript|ENST00000481044.6|processed_transcript||n.-1538_-1535delCGGTinsGGGG|||||1535|,CCCC|upstream_gene_variant|MODIFIER|ACTR1A|ENSG00000138107|transcript|ENST00000487599.1|protein_coding||c.-1545_-1542delCGGTinsGGGG|||||1511|,CCCC|upstream_gene_variant|MODIFIER|ACTR1A|ENSG00000138107|transcript|ENST00000636707.1|nonsense_mediated_decay||n.-1545_-1542delCGGTinsGGGG|||||1480|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:832:682:23916:38:472:0,-197.548,-2101.91\\t0/0:99:156:126:4526:8:120:0,-38.5703,-394.886\n17\\t41586597\\t.\\tAGCT\\tA\\t22.2524\\tPASS\\tSSC=6.40064;TYPE=del;OLD_VARIANT=17:41586597:AGCTGCTGCTGCTGCTGCTG/AGCTGCTGCTGCTGCTG;ANN=A|conservative_inframe_deletion|MODERATE|KRT14|ENSG00000186847|transcript|ENST00000167586.6|protein_coding|1/8|c.235_237delAGC|p.Ser79del|324/1662|235/1419|79/472||,A|upstream_gene_variant|MODIFIER|KRT14|ENSG00000186847|transcript|ENST00000441550.2|retained_intron||n.-3145_-3143delAGC|||||3143|,A|upstream_gene_variant|MODIFIER|KRT14|ENSG00000186847|transcript|ENST00000476662.1|retained_intron||n.-2129_-2127delAGC|||||2127|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:11.6396:2:2:81:0:0:0,-0.60206,-7.68573\\t0/1:22.2521:4:2:81:2:74:-5.79858,0,-6.48161\n12\\t389017\\t.\\tA\\tC\\t0.0\\tPASS\\tSSC=183.031;TYPE=snp;ANN=C|missense_variant|MODERATE|KDM5A|ENSG00000073614|transcript|ENST00000399788.6|protein_coding|1/28|c.75T>G|p.Ser25Arg|438/10763|75/5073|25/1690||,C|missense_variant|MODERATE|KDM5A|ENSG00000073614|transcript|ENST00000544760.1|protein_coding|1/13|c.75T>G|p.Ser25Arg|266/2338|75/2147|25/714||WARNING_TRANSCRIPT_INCOMPLETE,C|missense_variant|MODERATE|KDM5A|ENSG00000073614|transcript|ENST00000535014.5|protein_coding|1/3|c.75T>G|p.Ser25Arg|248/551|75/378|25/125||WARNING_TRANSCRIPT_NO_STOP_CODON,C|missense_variant|MODERATE|KDM5A|ENSG00000073614|transcript|ENST00000543507.1|protein_coding|1/4|c.75T>G|p.Ser25Arg|257/575|75/393|25/130||WARNING_TRANSCRIPT_NO_STOP_CODON,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000543504.5|protein_coding||c.-582A>C|||||378|WARNING_TRANSCRIPT_NO_STOP_CODON,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000540180.5|protein_coding||c.-528A>C|||||331|,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000537453.1|processed_transcript||n.-256A>C|||||256|,C|upstream_gene_variant|MODIFIER|KDM5A|ENSG00000073614|transcript|ENST00000536014.5|protein_coding||c.-677T>G|||||487|WARNING_TRANSCRIPT_INCOMPLETE,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000422000.5|protein_coding||c.-582A>C|||||333|,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000535052.5|protein_coding||c.-625A>C|||||345|WARNING_TRANSCRIPT_NO_STOP_CODON,C|upstream_gene_variant|MODIFIER|CCDC77|ENSG00000120647|transcript|ENST00000540344.5|processed_transcript||n.-402A>C|||||402|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1137:1114:40658:23:296:0,-315.503,-3629.07\\t0/0:99:460:453:16529:5:60:0,-132.472,-1480.89\n21\\t41473484\\t.\\tT\\tA\\t2.97738E-14\\tPASS\\tSSC=97.0928;TYPE=snp;ANN=A|missense_variant|MODERATE|TMPRSS2|ENSG00000184012|transcript|ENST00000332149.9|protein_coding|9/14|c.740A>T|p.Asn247Ile|875/3205|740/1479|247/492||,A|missense_variant|MODERATE|TMPRSS2|ENSG00000184012|transcript|ENST00000454499.5|protein_coding|10/14|c.740A>T|p.Asn247Ile|1174/1901|740/1467|247/488||WARNING_TRANSCRIPT_NO_STOP_CODON,A|missense_variant|MODERATE|TMPRSS2|ENSG00000184012|transcript|ENST00000398585.7|protein_coding|9/14|c.851A>T|p.Asn284Ile|912/3240|851/1590|284/529||,A|missense_variant|MODERATE|TMPRSS2|ENSG00000184012|transcript|ENST00000458356.5|protein_coding|9/14|c.740A>T|p.Asn247Ile|829/1701|740/1479|247/492||,A|missense_variant|MODERATE|TMPRSS2|ENSG00000184012|transcript|ENST00000424093.5|protein_coding|8/8|c.620A>T|p.Asn207Ile|688/726|620/658|207/218||WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TMPRSS2|ENSG00000184012|transcript|ENST00000469395.1|retained_intron||n.-4647A>T|||||4647|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:400:399:15720:1:22:0,-118.212,-1411.29\\t0/0:99:96:94:3652:2:82:0,-21.1192,-320.899\n2\\t39278433\\t.\\tC\\tG\\t3.85729E-14\\tPASS\\tSSC=207.86;TYPE=snp;ANN=G|missense_variant|MODERATE|MAP4K3|ENSG00000011566|transcript|ENST00000263881.7|protein_coding|24/34|c.1768G>C|p.Glu590Gln|2093/4362|1768/2685|590/894||,G|missense_variant|MODERATE|MAP4K3|ENSG00000011566|transcript|ENST00000341681.9|protein_coding|23/33|c.1705G>C|p.Glu569Gln|2019/4271|1705/2622|569/873||,G|missense_variant|MODERATE|MAP4K3|ENSG00000011566|transcript|ENST00000437545.5|protein_coding|23/33|c.1516G>C|p.Glu506Gln|1667/3924|1516/2433|506/810||,G|upstream_gene_variant|MODIFIER|MAP4K3|ENSG00000011566|transcript|ENST00000495648.3|retained_intron||n.-14G>C|||||14|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1220:1186:43554:26:330:0,-335.143,-3885.88\\t0/0:99:433:428:15911:2:24:0,-127.283,-1428.41\n19\\t48498789\\t.\\tA\\tG\\t0.0\\tPASS\\tSSC=45.7104;TYPE=snp;OLD_MULTIALLELIC=19:48498789:AGGAGGTGGCGGC/GGGGGGGGGGGGG/GGGGGGGGGCGGG/GGGGGGGGGCGGC/GGGGGGTGGCGGG/GGGGGGTGGCGGC/GGGAGGGGGGGGG/AGGGGGTGGGGGC/GGGAGGTGGCGGC/AGGGGGTGGCGGC/AGGAGGGGGCGGC;OLD_VARIANT=19:48498789:AGGAGGTGGCGGC/GGGAGGTGGCGGC;ANN=G|synonymous_variant|LOW|LMTK3|ENSG00000142235|transcript|ENST00000270238.3|protein_coding|12/16|c.2367T>C|p.Pro789Pro|2367/4972|2367/4470|789/1489||,G|synonymous_variant|LOW|LMTK3|ENSG00000142235|transcript|ENST00000600059.5|protein_coding|11/15|c.2280T>C|p.Pro760Pro|2508/5113|2280/4383|760/1460||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:147:81:3015:7:94:0,-52.6494,-348.753\\t0/0:99:29:18:647:1:12:0,-6.44703,-77.6863\n19\\t50415746\\t.\\tA\\tG\\t0.0\\tPASS\\tSSC=135.077;TYPE=snp;ANN=G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000595904.5|protein_coding|21/26|c.2818A>G|p.Ser940Gly|2818/3402|2818/3402|940/1133||,G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000440232.6|protein_coding|22/27|c.2740A>G|p.Ser914Gly|2793/3444|2740/3324|914/1107||,G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000599857.5|protein_coding|22/27|c.2740A>G|p.Ser914Gly|2784/3435|2740/3324|914/1107||,G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000613923.4|protein_coding|22/27|c.2818A>G|p.Ser940Gly|2887/3542|2818/3402|940/1133||,G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000593407.5|protein_coding|5/8|c.520A>G|p.Ser174Gly|521/867|520/866|174/287||WARNING_TRANSCRIPT_INCOMPLETE,G|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000593981.1|protein_coding|4/8|c.364A>G|p.Ser122Gly|366/873|364/871|122/289||WARNING_TRANSCRIPT_INCOMPLETE,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000595883.5|protein_coding||c.-3217A>G|||||3192|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000270632.7|protein_coding||c.-3217A>G|||||3212|,G|upstream_gene_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000597963.5|retained_intron||n.-567A>G|||||567|,G|upstream_gene_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596221.1|retained_intron||n.-1207A>G|||||1207|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000439922.6|protein_coding||c.-3275A>G|||||3192|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000596074.5|protein_coding||c.-3217A>G|||||3195|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000594685.1|protein_coding||c.-3217A>G|||||3208|WARNING_TRANSCRIPT_INCOMPLETE,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000599923.5|retained_intron||n.-3193A>G|||||3193|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000594188.1|retained_intron||n.-3195A>G|||||3195|,G|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000597855.5|protein_coding||c.-3217A>G|||||3195|,G|upstream_gene_variant|MODIFIER|CTD-2545M3.6|ENSG00000142539|transcript|ENST00000599632.1|protein_coding||c.-54A>G|||||53|WARNING_TRANSCRIPT_NO_START_CODON,G|downstream_gene_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596425.1|protein_coding||c.*2245A>G|||||2245|WARNING_TRANSCRIPT_INCOMPLETE,G|intron_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000600859.5|nonsense_mediated_decay|21/25|n.2717+156A>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596648.1|retained_intron|2/4|n.105A>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:578:573:22174:5:80:0,-166.637,-1986.42\\t0/0:99:116:113:4261:3:36:0,-31.5595,-380.086\n17\\t31940471\\t.\\tG\\tT\\t0.0\\tPASS\\tSSC=78.2338;TYPE=snp;ANN=T|missense_variant|MODERATE|SUZ12|ENSG00000178691|transcript|ENST00000322652.9|protein_coding|3/16|c.371G>T|p.Arg124Ile|600/4491|371/2220|124/739||,T|missense_variant|MODERATE|SUZ12|ENSG00000178691|transcript|ENST00000580398.1|protein_coding|3/15|c.371G>T|p.Arg124Ile|551/3977|371/2151|124/716||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:501:489:17464:11:138:0,-138.237,-1244.84\\t0/0:99:214:210:7495:2:59:0,-60.0032,-553.172\n14\\t24375678\\t.\\tA\\tC\\t0.0\\tPASS\\tSSC=150.353;TYPE=snp;ANN=C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000413692.6|protein_coding|8/10|c.2081A>C|p.Glu694Ala|2225/5700|2081/2895|694/964||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554591.5|protein_coding|8/11|c.2081A>C|p.Glu694Ala|2197/2893|2081/2574|694/857||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554966.5|protein_coding|8/11|c.1931A>C|p.Glu644Ala|2013/2506|1931/2424|644/807||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000555590.5|protein_coding|8/11|c.1931A>C|p.Glu644Ala|2013/2830|1931/2748|644/915||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000424781.6|protein_coding|8/10|c.1931A>C|p.Glu644Ala|2013/5488|1931/2745|644/914||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000539237.6|protein_coding|8/10|c.1988A>C|p.Glu663Ala|2211/5686|1988/2802|663/933||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000556279.5|protein_coding|8/11|c.1988A>C|p.Glu663Ala|2107/2924|1988/2805|663/934||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000553469.5|protein_coding|8/11|c.1988A>C|p.Glu663Ala|2073/2566|1988/2481|663/826||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554050.5|protein_coding|7/10|c.1892A>C|p.Glu631Ala|2213/3057|1892/2385|631/794||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000250373.8|protein_coding|7/10|c.1892A>C|p.Glu631Ala|2033/4749|1892/2709|631/902||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000553708.5|protein_coding|7/9|c.1892A>C|p.Glu631Ala|1892/5367|1892/2706|631/901||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554344.5|protein_coding|6/9|c.1682A>C|p.Glu561Ala|2138/2955|1682/2499|561/832||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554661.5|protein_coding|6/9|c.1682A>C|p.Glu561Ala|2138/2631|1682/2175|561/724||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000556169.5|protein_coding|7/10|c.1856A>C|p.Glu619Ala|2016/2509|1856/2349|619/782||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000422617.7|protein_coding|7/9|c.1856A>C|p.Glu619Ala|2016/5491|1856/2670|619/889||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000557451.5|protein_coding|6/8|c.1682A>C|p.Glu561Ala|2138/5613|1682/2496|561/831||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000555453.5|protein_coding|7/10|c.1856A>C|p.Glu619Ala|2002/3169|1856/2673|619/890||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000554473.5|protein_coding|4/7|c.497A>C|p.Glu166Ala|889/1382|497/990|166/329||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000556759.5|protein_coding|4/7|c.497A>C|p.Glu166Ala|889/2025|497/1314|166/437||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000555167.1|protein_coding|4/6|c.497A>C|p.Glu166Ala|889/4364|497/1311|166/436||,C|missense_variant|MODERATE|NFATC4|ENSG00000100968|transcript|ENST00000553879.5|protein_coding|7/10|c.1682A>C|p.Glu561Ala|1867/2707|1682/2499|561/832||,C|5_prime_UTR_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000555393.5|protein_coding|2/4|c.-245A>C|||||696|,C|5_prime_UTR_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000555802.1|protein_coding|2/5|c.-245A>C|||||696|,C|5_prime_UTR_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000557767.5|protein_coding|2/5|c.-245A>C|||||696|,C|upstream_gene_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000555821.1|processed_transcript||n.-396A>C|||||396|,C|downstream_gene_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000440487.6|processed_transcript||n.*3862A>C|||||3862|,C|downstream_gene_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000556957.5|retained_intron||n.*1533A>C|||||1533|,C|downstream_gene_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000557028.5|retained_intron||n.*971A>C|||||971|,C|downstream_gene_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000554779.1|protein_coding||c.*3092A>C|||||3092|WARNING_TRANSCRIPT_INCOMPLETE,C|non_coding_transcript_exon_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000556302.5|retained_intron|6/7|n.2349A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|NFATC4|ENSG00000100968|transcript|ENST00000554655.5|retained_intron|7/10|n.2548A>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:852:818:30252:32:434:0,-217.063,-2680.52\\t0/0:99:243:238:8969:5:70:0,-66.7104,-800.255\n2\\t105089049\\t.\\tC\\tT\\t39.442\\tPASS\\tSSC=7.70381;TYPE=snp;ANN=T|synonymous_variant|LOW|MRPS9|ENSG00000135972|transcript|ENST00000258455.7|protein_coding|6/11|c.555C>T|p.Leu185Leu|665/1500|555/1191|185/396||,T|upstream_gene_variant|MODIFIER|MRPS9|ENSG00000135972|transcript|ENST00000472220.1|retained_intron||n.-3049C>T|||||3049|,T|non_coding_transcript_exon_variant|MODIFIER|MRPS9|ENSG00000135972|transcript|ENST00000413583.5|nonsense_mediated_decay|1/6|n.30C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:1.78475:1:1:41:0:0:0,-0.30103,-4.09457\\t1/1:13.7445:2:0:0:2:78:-7.40278,-0.60206,0\n16\\t30980043\\t.\\tT\\tC\\t1.42238E-14\\tPASS\\tSSC=221.913;TYPE=snp;ANN=C|synonymous_variant|LOW|SETD1A|ENSG00000099381|transcript|ENST00000262519.12|protein_coding|14/19|c.4257T>C|p.Ser1419Ser|4943/6903|4257/5124|1419/1707||,C|downstream_gene_variant|MODIFIER|RP11-1072A3.3|ENSG00000279196|transcript|ENST00000624286.1|TEC||n.*4587A>G|||||4587|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:911:886:32097:19:229:0,-252.087,-2864.89\\t0/0:99:112:108:3976:3:36:0,-30.1743,-354.449\n7\\t102277952\\t.\\tA\\tC\\t2.05223E-14\\tPASS\\tSSC=129.744;TYPE=snp;ANN=C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000437600.8|protein_coding|18/23|c.1567A>C|p.Asn523His|1694/3031|1567/2037|523/678||,C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000622516.4|protein_coding|18/23|c.1561A>C|p.Asn521His|1653/2990|1561/2031|521/676||,C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000292538.8|protein_coding|18/23|c.1567A>C|p.Asn523His|1593/2930|1567/2037|523/678||,C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000393824.7|protein_coding|17/22|c.1450A>C|p.Asn484His|1473/2331|1450/1920|484/639||,C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000547394.6|protein_coding|17/22|c.1519A>C|p.Asn507His|1541/2878|1519/1989|507/662||,C|missense_variant|MODERATE|CUX1|ENSG00000257923|transcript|ENST00000425244.6|protein_coding|17/22|c.1429A>C|p.Asn477His|1439/2776|1429/1899|477/632||,C|non_coding_transcript_exon_variant|MODIFIER|CUX1|ENSG00000257923|transcript|ENST00000487284.2|retained_intron|3/8|n.254A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|CUX1|ENSG00000257923|transcript|ENST00000560541.5|processed_transcript|18/23|n.1839A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|CUX1|ENSG00000257923|transcript|ENST00000558836.5|processed_transcript|17/22|n.1673A>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:593:587:18985:4:48:0,-173.589,-1702.86\\t0/0:99:162:156:5061:4:48:0,-43.8448,-450.919\n17\\t37731789\\t.\\tT\\tC\\t0.0\\tPASS\\tSSC=290.046;TYPE=snp;ANN=C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000617811.4|protein_coding|4/9|c.851A>G|p.His284Arg|1214/2977|851/1674|284/557||,C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000621123.4|protein_coding|4/9|c.773A>G|p.His258Arg|948/1971|773/1596|258/531||,C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000613727.4|protein_coding|4/7|c.773A>G|p.His258Arg|907/1546|773/1374|258/457||,C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000617272.4|protein_coding|4/8|c.851A>G|p.His284Arg|985/1820|851/1278|284/425||,C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000614313.4|protein_coding|4/8|c.851A>G|p.His284Arg|985/1819|851/1647|284/548||,C|missense_variant|MODERATE|HNF1B|ENSG00000275410|transcript|ENST00000620125.1|protein_coding|6/6|c.754A>G|p.Thr252Ala|975/1103|754/882|252/293||,C|non_coding_transcript_exon_variant|MODIFIER|HNF1B|ENSG00000275410|transcript|ENST00000618894.1|retained_intron|2/2|n.303A>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1461:1420:52449:36:527:0,-390.901,-4668.11\\t0/0:99:359:355:13371:4:78:0,-100.855,-1195.18\n6\\t31355560\\t.\\tTGGGG\\tCGGGA\\t0.0\\tPASS\\tSSC=92.3602;TYPE=complex;ANN=CGGGA|missense_variant|MODERATE|HLA-B|ENSG00000234745|transcript|ENST00000412585.6|protein_coding|4/8|c.648_652delCCCCAinsTCCCG|p.Ile218Val|681/1547|648/1089|216/362||,CGGGA|missense_variant|MODERATE|HLA-B|ENSG00000234745|transcript|ENST00000434333.1|protein_coding|3/3|c.681_685delCCCCAinsTCCCG|p.Ile229Val|810/863|681/738|227/245||WARNING_TRANSCRIPT_NO_STOP_CODON,CGGGA|upstream_gene_variant|MODIFIER|MIR6891|ENSG00000277402|transcript|ENST00000618788.1|miRNA||n.-248_-244delCCCCAinsTCCCG|||||244|,CGGGA|upstream_gene_variant|MODIFIER|XXbac-BPG248L24.12|ENSG00000271581|transcript|ENST00000603274.1|unprocessed_pseudogene||n.-1087_-1083delTGGGGinsCGGGA|||||1087|,CGGGA|upstream_gene_variant|MODIFIER|HLA-B|ENSG00000234745|transcript|ENST00000481849.5|retained_intron||n.-758_-754delCCCCAinsTCCCG|||||754|,CGGGA|upstream_gene_variant|MODIFIER|HLA-B|ENSG00000234745|transcript|ENST00000497377.5|retained_intron||n.-488_-484delCCCCAinsTCCCG|||||484|,CGGGA|non_coding_transcript_exon_variant|MODIFIER|HLA-B|ENSG00000234745|transcript|ENST00000463574.1|retained_intron|1/2|n.239_243delCCCCAinsTCCCG||||||,CGGGA|non_coding_transcript_exon_variant|MODIFIER|HLA-B|ENSG00000234745|transcript|ENST00000498007.1|retained_intron|3/3|n.914_918delCCCCAinsTCCCG||||||,CGGGA|non_coding_transcript_exon_variant|MODIFIER|HLA-B|ENSG00000234745|transcript|ENST00000474381.1|retained_intron|2/2|n.1097_1101delCCCCAinsTCCCG||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:968:902:35747:55:2195:0,-156.895,-3176.54\\t0/0:99:266:259:10300:6:242:0,-64.5348,-943.326\n19\\t5135358\\t.\\tA\\tT\\t0.0\\tPASS\\tSSC=248.905;TYPE=snp;ANN=T|missense_variant|MODERATE|KDM4B|ENSG00000127663|transcript|ENST00000536461.5|protein_coding|15/23|c.2207A>T|p.Glu736Val|2247/5027|2207/3393|736/1130||,T|missense_variant|MODERATE|KDM4B|ENSG00000127663|transcript|ENST00000159111.8|protein_coding|15/23|c.2105A>T|p.Glu702Val|2323/5593|2105/3291|702/1096||,T|missense_variant|MODERATE|KDM4B|ENSG00000127663|transcript|ENST00000588361.1|protein_coding|8/12|c.1340A>T|p.Glu447Val|1342/3039|1340/1869|447/622||WARNING_TRANSCRIPT_NO_START_CODON,T|missense_variant|MODERATE|KDM4B|ENSG00000127663|transcript|ENST00000611640.4|protein_coding|16/24|c.2207A>T|p.Glu736Val|2433/5703|2207/3393|736/1130||,T|upstream_gene_variant|MODIFIER|KDM4B|ENSG00000127663|transcript|ENST00000588166.1|processed_transcript||n.-178A>T|||||178|,T|non_coding_transcript_exon_variant|MODIFIER|KDM4B|ENSG00000127663|transcript|ENST00000589104.5|retained_intron|9/17|n.1871A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:899:897:34686:0:0:0,-270.024,-3118.27\\t0/0:99:96:94:3644:2:82:0,-21.1192,-320.199\n7\\t7969419\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=43.9033;TYPE=snp;ANN=A|missense_variant|MODERATE|GLCCI1|ENSG00000106415|transcript|ENST00000223145.9|protein_coding|1/8|c.69G>A|p.Met23Ile|626/4743|69/1644|23/547||,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000492797.5|retained_intron||n.-288G>A|||||288|,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000460897.1|retained_intron||n.-317G>A|||||317|,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000414914.5|protein_coding||c.-268G>A|||||268|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000430798.1|protein_coding||c.-268G>A|||||268|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000470583.5|processed_transcript||n.-1022G>A|||||1022|,A|upstream_gene_variant|MODIFIER|GLCCI1|ENSG00000106415|transcript|ENST00000474269.5|processed_transcript||n.-1033G>A|||||1033|,A|downstream_gene_variant|MODIFIER|UMAD1|ENSG00000219545|transcript|ENST00000482067.3|protein_coding||c.*1646G>A|||||1399|,A|intron_variant|MODIFIER|AC006042.7|ENSG00000233108|transcript|ENST00000428660.1|antisense|1/1|n.132+353C>T||||||,A|intron_variant|MODIFIER|RP11-505D17.1|ENSG00000283549|transcript|ENST00000469183.5|processed_transcript|4/4|n.492-34489G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:204:204:8080:0:0:0,-61.4101,-726.729\\t0/0:99:84:82:3281:2:82:0,-17.5068,-287.543\n13\\t87677763\\t.\\tTGCA\\tT\\t3.50176E-14\\tPASS\\tSSC=31.1978;TYPE=del;OLD_VARIANT=13:87677763:TGCAGCAGCAGCAGCAG/TGCAGCAGCAGCAG;ANN=T|disruptive_inframe_deletion|MODERATE|SLITRK5|ENSG00000165300|transcript|ENST00000325089.7|protein_coding|2/2|c.2390_2392delAGC|p.Gln797del|2609/21103|2390/2877|797/958||INFO_REALIGN_3_PRIME\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:148:137:5428:4:155:0,-50.1627,-500.181\\t0/0:99:44:42:1657:0:0:0,-18.9649,-152.513\n2\\t74101995\\t.\\tA\\tG\\t1.3531E-14\\tPASS\\tSSC=169.858;TYPE=snp;ANN=G|missense_variant|MODERATE|TET3|ENSG00000187605|transcript|ENST00000409262.7|protein_coding|11/11|c.5207A>G|p.Glu1736Gly|5207/11388|5207/5388|1736/1795||,G|missense_variant|MODERATE|TET3|ENSG00000187605|transcript|ENST00000305799.8|protein_coding|11/11|c.4928A>G|p.Glu1643Gly|4993/5174|4928/5109|1643/1702||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:639:637:24904:1:12:0,-190.977,-2237.96\\t0/0:99:96:94:3701:2:82:0,-21.1192,-325.324\n17\\t31236017\\t.\\tA\\tC\\t0.0\\tPASS\\tSSC=169.999;TYPE=snp;ANN=C|missense_variant|MODERATE|NF1|ENSG00000196712|transcript|ENST00000358273.8|protein_coding|29/58|c.3970A>C|p.Thr1324Pro|4353/12425|3970/8520|1324/2839||,C|missense_variant|MODERATE|NF1|ENSG00000196712|transcript|ENST00000356175.7|protein_coding|29/57|c.3970A>C|p.Thr1324Pro|4353/12362|3970/8457|1324/2818||,C|missense_variant|MODERATE|NF1|ENSG00000196712|transcript|ENST00000456735.6|protein_coding|21/50|c.2968A>C|p.Thr990Pro|2968/7787|2968/7509|990/2502||WARNING_TRANSCRIPT_NO_START_CODON,C|3_prime_UTR_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000495910.6|nonsense_mediated_decay|27/29|n.*3371A>C|||||54583|,C|non_coding_transcript_exon_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000579081.5|nonsense_mediated_decay|29/58|n.4072A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000495910.6|nonsense_mediated_decay|27/29|n.*3371A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000493220.5|retained_intron|12/21|n.2506A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000466819.5|nonsense_mediated_decay|3/10|n.445A>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|NF1|ENSG00000196712|transcript|ENST00000479614.1|nonsense_mediated_decay|3/9|n.445A>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1152:1079:39413:52:668:0,-280.346,-3483.25\\t0/0:99:457:429:15688:23:286:0,-110.347,-1384.79\n1\\t76868591\\t.\\tCGCA\\tC\\t5.82463E-5\\tPASS\\tSSC=20.1327;TYPE=del;OLD_VARIANT=1:76868591:CGCAGCAGCAGCAGCAGCAGCAGCAA/CGCAGCAGCAGCAGCAGCAGCAA;ANN=C|disruptive_inframe_deletion|MODERATE|ST6GALNAC5|ENSG00000117069|transcript|ENST00000477717.5|protein_coding|2/5|c.132_134delGCA|p.Gln45del|367/3751|132/1011|44/336||INFO_REALIGN_3_PRIME,C|non_coding_transcript_exon_variant|MODIFIER|ST6GALNAC5|ENSG00000117069|transcript|ENST00000496845.1|processed_transcript|2/2|n.326_328delGCA||||||INFO_REALIGN_3_PRIME,C|non_coding_transcript_exon_variant|MODIFIER|ST6GALNAC5|ENSG00000117069|transcript|ENST00000480428.1|processed_transcript|2/3|n.328_330delGCA||||||INFO_REALIGN_3_PRIME,C|non_coding_transcript_exon_variant|MODIFIER|ST6GALNAC5|ENSG00000117069|transcript|ENST00000318803.6|nonsense_mediated_decay|2/5|n.132_134delGCA||||||INFO_REALIGN_3_PRIME\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:56:52:2094:2:82:0,-16.8685,-184.324\\t0/1:5.82463e-05:11:9:366:2:82:-3.26423,0,-28.7895\n2\\t85303979\\t.\\tT\\tG\\t6.58156E-14\\tPASS\\tSSC=294.911;TYPE=snp;ANN=G|missense_variant|MODERATE|TCF7L1|ENSG00000152284|transcript|ENST00000282111.3|protein_coding|6/12|c.743T>G|p.Leu248Arg|1018/2968|743/1767|248/588||,G|downstream_gene_variant|MODIFIER|TCF7L1|ENSG00000152284|transcript|ENST00000442813.1|protein_coding||c.*1485T>G|||||1485|WARNING_TRANSCRIPT_INCOMPLETE,G|non_coding_transcript_exon_variant|MODIFIER|TCF7L1|ENSG00000152284|transcript|ENST00000490744.1|retained_intron|1/2|n.587T>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1675:1587:52933:81:1166:0,-397.205,-4655.24\\t0/0:99:398:384:13209:13:191:0,-102.294,-1170.74\n3\\t128101645\\t.\\tC\\tG\\t0.0\\tPASS\\tSSC=195.793;TYPE=snp;ANN=G|missense_variant|MODERATE|RUVBL1|ENSG00000175792|transcript|ENST00000322623.9|protein_coding|5/11|c.517G>C|p.Asp173His|617/1761|517/1371|173/456||,G|missense_variant|MODERATE|RUVBL1|ENSG00000175792|transcript|ENST00000464873.5|protein_coding|5/10|c.337G>C|p.Asp113His|1088/2126|337/948|113/315||,G|upstream_gene_variant|MODIFIER|RUVBL1|ENSG00000175792|transcript|ENST00000585057.5|nonsense_mediated_decay||n.-4149G>C|||||4149|,G|upstream_gene_variant|MODIFIER|RUVBL1|ENSG00000175792|transcript|ENST00000472125.5|protein_coding||c.-27G>C|||||26|WARNING_TRANSCRIPT_NO_START_CODON,G|upstream_gene_variant|MODIFIER|RUVBL1|ENSG00000175792|transcript|ENST00000478892.1|protein_coding||c.-901G>C|||||901|WARNING_TRANSCRIPT_NO_START_CODON\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1016:989:34913:27:423:0,-267.633,-3101.28\\t0/0:99:262:258:8926:4:76:0,-71.8402,-795.744\n22\\t40266750\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=41.2466;TYPE=snp;ANN=A|stop_gained|HIGH|TNRC6B|ENSG00000100354|transcript|ENST00000335727.13|protein_coding|5/21|c.2520G>A|p.Trp840*|2714/17933|2520/5172|840/1723||,A|stop_gained|HIGH|TNRC6B|ENSG00000100354|transcript|ENST00000446273.1|protein_coding|1/17|c.1746G>A|p.Trp582*|1748/4741|1746/4173|582/1390||WARNING_TRANSCRIPT_NO_START_CODON,A|stop_gained|HIGH|TNRC6B|ENSG00000100354|transcript|ENST00000454349.6|protein_coding|5/23|c.2520G>A|p.Trp840*|2731/18279|2520/5502|840/1833||,A|intron_variant|MODIFIER|TNRC6B|ENSG00000100354|transcript|ENST00000402203.5|protein_coding|7/23|c.566-3372G>A||||||,A|intron_variant|MODIFIER|TNRC6B|ENSG00000100354|transcript|ENST00000301923.13|protein_coding|7/23|c.566-3372G>A||||||;LOF=(TNRC6B|ENSG00000100354|9|0.33);NMD=(TNRC6B|ENSG00000100354|9|0.33)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:133:133:5314:0:0:0,-40.037,-478.067\\t0/1:7.76924e-18:19:17:669:2:73:-1.20962,0,-54.8095\n22\\t37983649\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=251.666;TYPE=snp;ANN=A|missense_variant|MODERATE|SOX10|ENSG00000100146|transcript|ENST00000360880.6|protein_coding|3/5|c.136C>T|p.Pro46Ser|401/2861|136/1401|46/466||,A|missense_variant|MODERATE|SOX10|ENSG00000100146|transcript|ENST00000396884.6|protein_coding|2/4|c.136C>T|p.Pro46Ser|419/2879|136/1401|46/466||,A|missense_variant|MODERATE|SOX10|ENSG00000100146|transcript|ENST00000427770.1|protein_coding|2/3|c.136C>T|p.Pro46Ser|368/873|136/641|46/212||WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|SOX10|ENSG00000100146|transcript|ENST00000446929.5|protein_coding||c.-237C>T|||||235|WARNING_TRANSCRIPT_NO_START_CODON,A|upstream_gene_variant|MODIFIER|POLR2F|ENSG00000100142|transcript|ENST00000333418.4|protein_coding||c.-2545G>A|||||2544|WARNING_TRANSCRIPT_NO_START_CODON,A|upstream_gene_variant|MODIFIER|POLR2F|ENSG00000100142|transcript|ENST00000427034.1|protein_coding||c.-2552G>A|||||2550|WARNING_TRANSCRIPT_NO_START_CODON,A|intron_variant|MODIFIER|POLR2F|ENSG00000100142|transcript|ENST00000443002.5|nonsense_mediated_decay|5/7|n.*39-1403G>A||||||,A|intron_variant|MODIFIER|POLR2F|ENSG00000100142|transcript|ENST00000407936.5|protein_coding|4/5|c.294-2505G>A||||||,A|intron_variant|MODIFIER|POLR2F|ENSG00000100142|transcript|ENST00000405557.5|protein_coding|4/4|c.293+16479G>A||||||,A|intron_variant|MODIFIER|SOX10|ENSG00000100146|transcript|ENST00000470555.1|processed_transcript|1/1|n.70+690C>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|MIR4534|ENSG00000279010|transcript|ENST00000623111.1|sense_overlapping|1/1|n.35298G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:906:906:35931:0:0:0,-272.733,-3230.15\\t0/0:99:93:91:3544:2:73:0,-21.0666,-312.046\n7\\t99493944\\t.\\tC\\tT\\t5.07465E-12\\tPASS\\tSSC=8.07507;TYPE=snp;ANN=T|missense_variant|MODERATE|ZNF394|ENSG00000160908|transcript|ENST00000337673.6|protein_coding|3/3|c.1271G>A|p.Arg424Lys|1475/2179|1271/1686|424/561||,T|3_prime_UTR_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000426306.2|protein_coding|2/2|c.*655G>A|||||655|,T|downstream_gene_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000481881.1|retained_intron||n.*3918G>A|||||3918|,T|downstream_gene_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000485576.1|retained_intron||n.*4540G>A|||||4540|,T|downstream_gene_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000464401.1|retained_intron||n.*4641G>A|||||4641|,T|downstream_gene_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000394177.3|processed_transcript||n.*635G>A|||||635|,T|intron_variant|MODIFIER|ZNF789|ENSG00000198556|transcript|ENST00000494186.1|processed_transcript|1/1|n.115-6779C>T||||||,T|intron_variant|MODIFIER|ZNF394|ENSG00000160908|transcript|ENST00000462024.1|processed_transcript|1/1|n.83+4772G>A||||||,T|intron_variant|MODIFIER|ZNF789|ENSG00000198556|transcript|ENST00000493485.5|protein_coding|4/4|c.131-9603C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:46:43:1737:2:24:0,-11.3864,-154.251\\t0/0:99:11:11:424:0:0:0,-3.31133,-38.5031\n17\\t82830857\\t.\\tT\\tG\\t5.85226E-14\\tPASS\\tSSC=197.44;TYPE=snp;ANN=G|missense_variant|MODERATE|ZNF750|ENSG00000141579|transcript|ENST00000269394.3|protein_coding|3/3|c.1457A>C|p.Asp486Ala|2291/3713|1457/2172|486/723||,G|missense_variant|MODERATE|ZNF750|ENSG00000141579|transcript|ENST00000572562.1|protein_coding|3/3|c.260A>C|p.Asp87Ala|585/1513|260/975|87/324||,G|intron_variant|MODIFIER|TBCD|ENSG00000141556|transcript|ENST00000355528.8|protein_coding|13/38|c.1318+15923T>G||||||,G|intron_variant|MODIFIER|TBCD|ENSG00000141556|transcript|ENST00000539345.6|protein_coding|13/39|c.1318+15923T>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:854:842:31570:5:60:0,-249.572,-2833.07\\t0/0:99:191:187:6837:4:58:0,-52.1318,-609.71\n4\\t87114595\\t.\\tGGA\\tCGG\\t7.47356E-14\\tPASS\\tSSC=220.86;TYPE=complex;OLD_MULTIALLELIC=4:87114595:GGA/CGG/CGA/GGG;ANN=CGG|missense_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000307808.10|protein_coding|11/20|c.1741_1743delGGAinsCGG|p.Gly581Arg|2161/9390|1741/3633|581/1210||,CGG|missense_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000395146.8|protein_coding|12/21|c.1762_1764delGGAinsCGG|p.Gly588Arg|2037/9285|1762/3657|588/1218||,CGG|missense_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000544085.5|protein_coding|11/23|c.1741_1743delGGAinsCGG|p.Gly581Arg|1753/3644|1741/3618|581/1205||,CGG|upstream_gene_variant|MODIFIER|AFF1|ENSG00000172493|transcript|ENST00000503369.1|retained_intron||n.-348_-346delGGAinsCGG|||||348|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1341:1066:39163:72:925:0,-296.629,-3429.05\\t0/0:99:345:270:9885:18:223:0,-75.7695,-864.765\n16\\t72795165\\t.\\tT\\tA\\t4.82166E-14\\tPASS\\tSSC=526.717;TYPE=snp;ANN=A|missense_variant|MODERATE|ZFHX3|ENSG00000140836|transcript|ENST00000268489.9|protein_coding|9/10|c.7517A>T|p.His2506Leu|8190/16064|7517/11112|2506/3703||,A|missense_variant|MODERATE|ZFHX3|ENSG00000140836|transcript|ENST00000397992.5|protein_coding|8/9|c.4775A>T|p.His1592Leu|5967/13841|4775/8370|1592/2789||,A|downstream_gene_variant|MODIFIER|RP5-991G20.1|ENSG00000259768|transcript|ENST00000563328.4|antisense||n.*3541T>A|||||3541|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:2418:2334:79409:77:1019:0,-634.117,-7048.95\\t0/0:99:414:399:13698:15:190:0,-107.4,-1214.83\n19\\t49601523\\t.\\tACT\\tCCC\\t0.00243228\\tPASS\\tSSC=3.25855;TYPE=complex;OLD_MULTIALLELIC=19:49601523:ACT/CCC/ACC;ANN=CCC|missense_variant|MODERATE|PRR12|ENSG00000126464|transcript|ENST00000418929.6|protein_coding|6/14|c.4378_4380delACTinsCCC|p.Thr1460Pro|4390/6955|4378/6111|1460/2036||,CCC|missense_variant|MODERATE|PRR12|ENSG00000126464|transcript|ENST00000615927.1|protein_coding|4/12|c.1915_1917delACTinsCCC|p.Thr639Pro|1915/4479|1915/3648|639/1215||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:84.6254:24:18:602:2:24:0,-3.86061,-52.1599\\t0/.:0.00238636:3:2:62:0:0:-1.29684,-1.8989,-6.93536\n7\\t154968982\\t.\\tCCTG\\tC\\t1.78401E-13\\tPASS\\tSSC=183.705;TYPE=del;OLD_VARIANT=7:154968982:CCTGCTGCTGCTGCTGT/CCTGCTGCTGCTGT;ANN=C|conservative_inframe_deletion|MODERATE|PAXIP1|ENSG00000157212|transcript|ENST00000397192.5|protein_coding|7/21|c.1216_1218delCAG|p.Gln406del|1261/3711|1216/3210|406/1069||,C|conservative_inframe_deletion|MODERATE|PAXIP1|ENSG00000157212|transcript|ENST00000404141.5|protein_coding|7/21|c.1216_1218delCAG|p.Gln406del|1373/3827|1216/3210|406/1069||,C|3_prime_UTR_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000457196.5|nonsense_mediated_decay|8/22|n.*935_*937delCAG|||||17075|,C|upstream_gene_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000464717.5|retained_intron||n.-3275_-3273delCAG|||||3273|,C|downstream_gene_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000494182.1|processed_transcript||n.*64_*66delCAG|||||66|,C|non_coding_transcript_exon_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000475066.1|retained_intron|3/4|n.1304_1306delCAG||||||,C|non_coding_transcript_exon_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000457196.5|nonsense_mediated_decay|8/22|n.*935_*937delCAG||||||,C|non_coding_transcript_exon_variant|MODIFIER|PAXIP1|ENSG00000157212|transcript|ENST00000473219.5|processed_transcript|7/21|n.3156_3158delCAG||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:788:736:29188:33:1248:0,-263.694,-2702.74\\t0/0:99:244:230:9186:8:315:0,-79.9888,-832.854\n17\\t7848045\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=452.635;TYPE=snp;ANN=A|missense_variant|MODERATE|KDM6B|ENSG00000132510|transcript|ENST00000254846.9|protein_coding|11/22|c.1757G>A|p.Arg586Gln|2146/6713|1757/5049|586/1682||,A|missense_variant|MODERATE|KDM6B|ENSG00000132510|transcript|ENST00000448097.6|protein_coding|11/23|c.1757G>A|p.Arg586Gln|2088/5422|1757/4932|586/1643||,A|downstream_gene_variant|MODIFIER|KDM6B|ENSG00000132510|transcript|ENST00000571047.5|processed_transcript||n.*2698G>A|||||2698|,A|downstream_gene_variant|MODIFIER|KDM6B|ENSG00000132510|transcript|ENST00000575521.1|processed_transcript||n.*3073G>A|||||3073|,A|downstream_gene_variant|MODIFIER|KDM6B|ENSG00000132510|transcript|ENST00000570632.1|protein_coding||c.*474G>A|||||474|WARNING_TRANSCRIPT_INCOMPLETE\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:2497:2409:83668:78:1176:0,-642.874,-7417.09\\t0/0:99:679:666:24333:13:156:0,-190.239,-2173.91\n17\\t4894305\\t.\\tT\\tC\\t7.47356E-14\\tPASS\\tSSC=267.869;TYPE=snp;OLD_MULTIALLELIC=17:4894305:T/G/C;ANN=C|synonymous_variant|LOW|MINK1|ENSG00000141503|transcript|ENST00000355280.10|protein_coding|23/32|c.2802T>C|p.Ser934Ser|2998/4961|2802/3999|934/1332||,C|synonymous_variant|LOW|MINK1|ENSG00000141503|transcript|ENST00000347992.11|protein_coding|23/32|c.2715T>C|p.Ser905Ser|2899/4863|2715/3912|905/1303||,C|synonymous_variant|LOW|MINK1|ENSG00000141503|transcript|ENST00000453408.7|protein_coding|23/32|c.2742T>C|p.Ser914Ser|2742/3939|2742/3939|914/1312||,C|3_prime_UTR_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000574453.5|nonsense_mediated_decay|23/32|n.*2471T>C|||||13134|,C|3_prime_UTR_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000571207.5|nonsense_mediated_decay|19/28|n.*1453T>C|||||3874|,C|upstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000574871.1|retained_intron||n.-239T>C|||||239|,C|upstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000575511.1|retained_intron||n.-553T>C|||||553|,C|upstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000576037.1|protein_coding||c.-1900T>C|||||1900|WARNING_TRANSCRIPT_NO_START_CODON,C|downstream_gene_variant|MODIFIER|CHRNE|ENSG00000108556|transcript|ENST00000293780.4|protein_coding||c.*4431A>G|||||3469|,C|downstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000572629.1|retained_intron||n.*655T>C|||||655|,C|downstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000571526.1|retained_intron||n.*434T>C|||||434|,C|downstream_gene_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000572304.1|retained_intron||n.*89T>C|||||89|,C|downstream_gene_variant|MODIFIER|CHRNE|ENSG00000108556|transcript|ENST00000572438.1|retained_intron||n.*3752A>G|||||3752|,C|non_coding_transcript_exon_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000574453.5|nonsense_mediated_decay|23/32|n.*2471T>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000572330.5|retained_intron|22/31|n.3584T>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|MINK1|ENSG00000141503|transcript|ENST00000571207.5|nonsense_mediated_decay|19/28|n.*1453T>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1159:1110:39728:30:410:0,-306.28,-3535.13\\t0/0:99:213:201:7501:5:70:0,-55.7099,-668.273\n22\\t17505004\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=233.422;TYPE=snp;ANN=A|missense_variant|MODERATE|CECR2|ENSG00000099954|transcript|ENST00000400585.6|protein_coding|7/19|c.369G>A|p.Met123Ile|807/4833|369/3903|123/1300||,A|missense_variant|MODERATE|CECR2|ENSG00000099954|transcript|ENST00000262608.12|protein_coding|7/19|c.369G>A|p.Met123Ile|754/4783|369/3906|123/1301||,A|missense_variant|MODERATE|CECR2|ENSG00000099954|transcript|ENST00000342247.9|protein_coding|7/20|c.858G>A|p.Met286Ile|1276/6178|858/4455|286/1484||,A|missense_variant|MODERATE|CECR2|ENSG00000099954|transcript|ENST00000612582.1|protein_coding|7/19|c.792G>A|p.Met264Ile|799/9645|792/4329|264/1442||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:943:941:36337:2:24:0,-281.591,-3264.69\\t0/0:99:213:207:8203:5:172:0,-48.1686,-722.01\n19\\t35633777\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=20.2972;TYPE=snp;ANN=T|synonymous_variant|LOW|RBM42|ENSG00000126254|transcript|ENST00000262633.8|protein_coding|7/10|c.775C>T|p.Leu259Leu|880/1680|775/1443|259/480||,T|synonymous_variant|LOW|RBM42|ENSG00000126254|transcript|ENST00000588161.5|protein_coding|6/9|c.685C>T|p.Leu229Leu|809/1609|685/1353|229/450||,T|synonymous_variant|LOW|RBM42|ENSG00000126254|transcript|ENST00000592202.5|protein_coding|5/8|c.613C>T|p.Leu205Leu|700/1469|613/1281|205/426||,T|synonymous_variant|LOW|RBM42|ENSG00000126254|transcript|ENST00000589559.5|protein_coding|6/8|c.688C>T|p.Leu230Leu|765/1328|688/1161|230/386||,T|synonymous_variant|LOW|RBM42|ENSG00000126254|transcript|ENST00000589871.1|protein_coding|6/9|c.709C>T|p.Leu237Leu|732/1487|709/1377|237/458||,T|downstream_gene_variant|MODIFIER|RBM42|ENSG00000126254|transcript|ENST00000592526.1|retained_intron||n.*1865C>T|||||1865|,T|intron_variant|MODIFIER|RBM42|ENSG00000126254|transcript|ENST00000586618.5|protein_coding|3/4|c.339+2581C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:91:89:3533:2:24:0,-25.1137,-315.702\\t0/0:99:16:16:639:0:0:0,-4.81648,-57.8408\n6\\t99613712\\t.\\tC\\tG\\t0.0\\tPASS\\tSSC=62.8682;TYPE=snp;ANN=G|missense_variant|MODERATE|PRDM13|ENSG00000112238|transcript|ENST00000369215.4|protein_coding|4/4|c.1077C>G|p.His359Gln|1382/2429|1077/2124|359/707||,G|3_prime_UTR_variant|MODIFIER|PRDM13|ENSG00000112238|transcript|ENST00000369214.2|nonsense_mediated_decay|4/4|n.*739C>G|||||4464|,G|non_coding_transcript_exon_variant|MODIFIER|PRDM13|ENSG00000112238|transcript|ENST00000369214.2|nonsense_mediated_decay|4/4|n.*739C>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:217:217:8622:0:0:0,-65.3235,-775.43\\t0/0:99:34:32:1260:2:82:0,-2.45534,-105.884\n9\\t65737394\\t.\\tT\\tA\\t0.0\\tPASS\\tSSC=38.2653;TYPE=snp;ANN=A|synonymous_variant|LOW|FOXD4L4|ENSG00000184659|transcript|ENST00000377413.2|protein_coding|1/1|c.249T>A|p.Pro83Pro|840/2230|249/1251|83/416||,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000382405.7|protein_coding||c.*3778T>A|||||3353|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000377389.5|nonsense_mediated_decay||n.*4887T>A|||||3721|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000497250.5|nonsense_mediated_decay||n.*4511T>A|||||3724|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000430059.6|protein_coding||c.*3778T>A|||||3720|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000486221.5|nonsense_mediated_decay||n.*4562T>A|||||3722|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000377395.8|protein_coding||c.*3778T>A|||||3718|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000461932.5|retained_intron||n.*3400T>A|||||3400|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000377392.9|protein_coding||c.*3778T>A|||||3354|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000480229.5|nonsense_mediated_decay||n.*4564T>A|||||3535|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000429800.6|protein_coding||c.*3778T>A|||||3721|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000476797.5|processed_transcript||n.*3721T>A|||||3721|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000485088.5|retained_intron||n.*3402T>A|||||3402|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000463075.1|retained_intron||n.*3722T>A|||||3722|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000491485.1|retained_intron||n.*3720T>A|||||3720|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000489273.1|protein_coding||c.*3778T>A|||||3723|WARNING_TRANSCRIPT_NO_START_CODON,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000468066.5|processed_transcript||n.*3814T>A|||||3814|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000480819.6|retained_intron||n.*3723T>A|||||3723|,A|downstream_gene_variant|MODIFIER|CBWD5|ENSG00000147996|transcript|ENST00000486191.5|processed_transcript||n.*3747T>A|||||3747|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:175:170:6441:5:139:0,-45.7911,-422.912\\t0/0:99:25:25:934:0:0:0,-7.52575,-65.7374\n7\\t105041014\\t.\\tC\\tA\\t3.82117E-14\\tPASS\\tSSC=44.903;TYPE=snp;ANN=A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000257745.8|protein_coding|2/26|c.62C>A|p.Ala21Glu|448/6714|62/5577|21/1858||,A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000311117.7|protein_coding|3/27|c.62C>A|p.Ala21Glu|607/6874|62/5577|21/1858||,A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000495267.5|protein_coding|2/7|c.62C>A|p.Ala21Glu|504/1133|62/691|21/229||WARNING_TRANSCRIPT_INCOMPLETE,A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000476671.5|protein_coding|3/15|c.62C>A|p.Ala21Glu|568/2523|62/1830|21/609||,A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000474203.5|protein_coding|4/6|c.62C>A|p.Ala21Glu|466/617|62/213|21/70||WARNING_TRANSCRIPT_NO_STOP_CODON,A|missense_variant|MODERATE|KMT2E|ENSG00000005483|transcript|ENST00000478990.5|protein_coding|2/10|c.62C>A|p.Ala21Glu|506/1500|62/1056|21/351||WARNING_TRANSCRIPT_NO_STOP_CODON,A|downstream_gene_variant|MODIFIER|KMT2E|ENSG00000005483|transcript|ENST00000480368.5|processed_transcript||n.*158C>A|||||158|,A|non_coding_transcript_exon_variant|MODIFIER|KMT2E|ENSG00000005483|transcript|ENST00000334884.9|nonsense_mediated_decay|3/26|n.62C>A||||||,A|non_coding_transcript_exon_variant|MODIFIER|KMT2E|ENSG00000005483|transcript|ENST00000482560.6|nonsense_mediated_decay|2/14|n.62C>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:850:823:27658:23:286:0,-228.929,-2459.83\\t0/0:99:672:653:21767:15:190:0,-184.026,-1940.17\n3\\t9447999\\t.\\tC\\tG\\t0.0\\tPASS\\tSSC=381.417;TYPE=snp;ANN=G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000302463.10|protein_coding|14/22|c.1802C>G|p.Thr601Ser|2166/4786|1802/4035|601/1344||,G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000407969.5|protein_coding|13/21|c.2153C>G|p.Thr718Ser|2167/6463|2153/4386|718/1461||,G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000402198.5|protein_coding|15/23|c.2096C>G|p.Thr699Ser|2531/6827|2096/4329|699/1442||,G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000406341.5|protein_coding|14/22|c.2096C>G|p.Thr699Ser|2286/6582|2096/4329|699/1442||,G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000399686.6|protein_coding|6/14|c.1097C>G|p.Thr366Ser|1098/3362|1097/2733|366/910||WARNING_TRANSCRIPT_NO_START_CODON,G|missense_variant|MODERATE|SETD5|ENSG00000168137|transcript|ENST00000421188.1|protein_coding|1/7|c.29C>G|p.Thr10Ser|30/1323|29/1322|10/439||WARNING_TRANSCRIPT_INCOMPLETE,G|3_prime_UTR_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000443339.5|nonsense_mediated_decay|17/20|n.*2356C>G|||||18085|,G|3_prime_UTR_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000413704.5|nonsense_mediated_decay|6/14|n.*600C>G|||||2287|,G|upstream_gene_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000478961.5|processed_transcript||n.-476C>G|||||476|,G|upstream_gene_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000476740.1|processed_transcript||n.-560C>G|||||560|,G|downstream_gene_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000497213.5|processed_transcript||n.*2267C>G|||||2267|,G|downstream_gene_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000464410.1|retained_intron||n.*281C>G|||||281|,G|non_coding_transcript_exon_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000493918.5|retained_intron|11/19|n.2260C>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000443339.5|nonsense_mediated_decay|17/20|n.*2356C>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000413704.5|nonsense_mediated_decay|6/14|n.*600C>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000466242.5|retained_intron|5/13|n.1437C>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|SETD5|ENSG00000168137|transcript|ENST00000488236.5|processed_transcript|1/5|n.313C>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:2206:2158:85723:45:732:0,-597.376,-7639.94\\t0/0:99:811:795:31645:16:311:0,-215.959,-2816.74\n11\\t64810090\\t.\\tT\\tG\\t0.0\\tPASS\\tSSC=121.879;TYPE=snp;ANN=G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000377321.5|protein_coding|2/10|c.20A>C|p.Gln7Pro|88/2614|20/1728|7/575||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000312049.10|protein_coding|2/10|c.20A>C|p.Gln7Pro|130/2761|20/1833|7/610||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000424912.1|protein_coding|3/3|c.20A>C|p.Gln7Pro|396/816|20/440|7/145||WARNING_TRANSCRIPT_INCOMPLETE,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000429702.5|protein_coding|2/2|c.20A>C|p.Gln7Pro|524/944|20/440|7/145||WARNING_TRANSCRIPT_INCOMPLETE,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000377313.5|protein_coding|1/9|c.20A>C|p.Gln7Pro|43/1871|20/1848|7/615||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000413626.1|protein_coding|2/4|c.20A>C|p.Gln7Pro|107/870|20/783|7/260||WARNING_TRANSCRIPT_NO_STOP_CODON,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000337652.5|protein_coding|2/10|c.20A>C|p.Gln7Pro|524/3162|20/1848|7/615||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000377316.6|protein_coding|1/8|c.20A>C|p.Gln7Pro|396/2868|20/1668|7/555||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000377326.7|protein_coding|1/9|c.20A>C|p.Gln7Pro|519/3150|20/1833|7/610||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000315422.8|protein_coding|2/10|c.20A>C|p.Gln7Pro|517/3148|20/1833|7/610||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000394374.6|protein_coding|2/10|c.20A>C|p.Gln7Pro|517/3155|20/1848|7/615||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000394376.5|protein_coding|3/11|c.20A>C|p.Gln7Pro|396/3034|20/1848|7/615||,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000440873.5|protein_coding|2/7|c.20A>C|p.Gln7Pro|88/1107|20/1039|7/345||WARNING_TRANSCRIPT_INCOMPLETE,G|missense_variant|MODERATE|MEN1|ENSG00000133895|transcript|ENST00000450708.5|protein_coding|2/6|c.20A>C|p.Gln7Pro|99/922|20/843|7/280||WARNING_TRANSCRIPT_NO_STOP_CODON,G|upstream_gene_variant|MODIFIER|MEN1|ENSG00000133895|transcript|ENST00000478548.1|retained_intron||n.-3722A>C|||||3722|,G|upstream_gene_variant|MODIFIER|MEN1|ENSG00000133895|transcript|ENST00000487019.1|processed_transcript||n.-4098A>C|||||4098|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:747:701:26219:44:584:0,-171.696,-2304.7\\t0/0:99:191:184:6864:7:84:0,-49.8168,-609.737\n1\\t22593326\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=130.137;TYPE=snp;ANN=T|missense_variant&splice_region_variant|MODERATE|EPHA8|ENSG00000070886|transcript|ENST00000166244.7|protein_coding|6/17|c.1316C>T|p.Ala439Val|1388/4943|1316/3018|439/1005||,T|downstream_gene_variant|MODIFIER|EPHA8|ENSG00000070886|transcript|ENST00000374644.8|protein_coding||c.*3947C>T|||||3705|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:466:466:18718:0:0:0,-140.28,-1682.94\\t0/0:99:46:44:1756:2:39:0,-10.1426,-154.542\n7\\t151570202\\t.\\tT\\tA\\t1.45857E-14\\tPASS\\tSSC=111.852;TYPE=snp;ANN=A|stop_gained|HIGH|PRKAG2|ENSG00000106617|transcript|ENST00000287878.8|protein_coding|10/16|c.1075A>T|p.Lys359*|1580/3305|1075/1710|359/569||,A|stop_gained|HIGH|PRKAG2|ENSG00000106617|transcript|ENST00000418337.6|protein_coding|6/12|c.352A>T|p.Lys118*|606/2318|352/987|118/328||,A|stop_gained|HIGH|PRKAG2|ENSG00000106617|transcript|ENST00000392801.6|protein_coding|10/16|c.943A>T|p.Lys315*|1386/2281|943/1578|315/525||,A|stop_gained|HIGH|PRKAG2|ENSG00000106617|transcript|ENST00000476632.1|protein_coding|7/8|c.352A>T|p.Lys118*|986/1123|352/489|118/162||WARNING_TRANSCRIPT_NO_STOP_CODON,A|stop_gained|HIGH|PRKAG2|ENSG00000106617|transcript|ENST00000492843.5|protein_coding|8/14|c.703A>T|p.Lys235*|1024/2699|703/1338|235/445||,A|3_prime_UTR_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000488258.5|nonsense_mediated_decay|9/10|n.*315A>T|||||25247|,A|3_prime_UTR_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000493872.5|nonsense_mediated_decay|7/7|n.*324A>T|||||61439|,A|downstream_gene_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000491938.5|retained_intron||n.*2206A>T|||||2206|,A|non_coding_transcript_exon_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000488258.5|nonsense_mediated_decay|9/10|n.*315A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000478989.5|nonsense_mediated_decay|3/8|n.127A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000493872.5|nonsense_mediated_decay|7/7|n.*324A>T||||||;LOF=(PRKAG2|ENSG00000106617|16|0.25);NMD=(PRKAG2|ENSG00000106617|16|0.25)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:764:741:26773:17:229:0,-207.573,-2386.51\\t0/0:99:345:337:12050:7:87:0,-95.7206,-1075.69\n18\\t55403662\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=17.3356;TYPE=snp;ANN=A|missense_variant|MODERATE|TCF4|ENSG00000196628|transcript|ENST00000564228.5|protein_coding|1/16|c.53C>T|p.Ser18Phe|53/1915|53/1791|18/596||,A|missense_variant|MODERATE|TCF4|ENSG00000196628|transcript|ENST00000544241.6|protein_coding|1/16|c.53C>T|p.Ser18Phe|334/2264|53/1803|18/600||,A|missense_variant|MODERATE|TCF4|ENSG00000196628|transcript|ENST00000630828.2|protein_coding|1/7|c.53C>T|p.Ser18Phe|103/735|53/685|18/227||WARNING_TRANSCRIPT_INCOMPLETE,A|5_prime_UTR_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000628078.2|protein_coding|1/8|c.-230C>T|||||52680|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562680.5|retained_intron||n.-1623C>T|||||1623|,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562638.5|protein_coding||c.-1995C>T|||||1950|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000537856.7|protein_coding||c.-2101C>T|||||1905|,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000570177.6|protein_coding||c.-1629C>T|||||1422|,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000568186.5|protein_coding||c.-227C>T|||||2|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000569012.5|protein_coding||c.-2184C>T|||||2111|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000630268.2|protein_coding||c.-1626C>T|||||1456|WARNING_TRANSCRIPT_NO_STOP_CODON,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562030.3|protein_coding||c.-2683C>T|||||2137|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562607.5|protein_coding||c.-2680C>T|||||2569|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000566376.3|processed_transcript||n.-157C>T|||||157|,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000590810.5|protein_coding||c.-1790C>T|||||1623|WARNING_TRANSCRIPT_NO_STOP_CODON,A|upstream_gene_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000637250.1|processed_transcript||n.-2745C>T|||||2745|,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000398339.5|protein_coding|6/20|c.611-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000356073.8|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000543082.5|protein_coding|3/17|c.179-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000567880.5|protein_coding|4/16|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000566286.5|protein_coding|4/18|c.299-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000625716.2|processed_transcript|3/4|n.235-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562543.5|protein_coding|5/6|c.305-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000540999.5|protein_coding|4/18|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000537578.5|protein_coding|4/18|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000561992.5|protein_coding|1/15|c.-86-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000563686.5|retained_intron|2/7|n.160-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000566514.5|protein_coding|4/9|c.266-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000630712.2|protein_coding|1/5|c.-86-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000565908.6|protein_coding|4/8|c.233-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000562847.5|protein_coding|5/6|c.68-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000565580.3|processed_transcript|3/5|n.234-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000626425.2|protein_coding|4/7|c.233-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000563824.5|protein_coding|3/5|c.233-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000568147.5|protein_coding|4/6|c.269-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000563888.6|protein_coding|4/6|c.233-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000564343.5|protein_coding|4/5|c.233-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000627784.2|protein_coding|5/6|c.305-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000616053.4|protein_coding|5/17|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000564999.5|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000354452.7|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000629387.2|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000568673.5|protein_coding|4/18|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000568740.5|protein_coding|4/18|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000566279.5|protein_coding|5/17|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000565018.6|protein_coding|4/16|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000564403.6|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000626584.2|protein_coding|1/12|c.-164-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000629343.2|protein_coding|1/8|c.-22+18530C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000628636.2|protein_coding|1/8|c.-86-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000627136.2|processed_transcript|4/8|n.279-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000630319.2|protein_coding|1/6|c.74-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000568169.5|protein_coding|4/9|c.317-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000625925.2|protein_coding|1/6|c.-83-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000566777.5|protein_coding|1/6|c.-86-144C>T||||||WARNING_TRANSCRIPT_INCOMPLETE,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000631043.2|processed_transcript|1/5|n.104-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000627685.2|protein_coding|4/8|c.233-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000626595.2|protein_coding|5/9|c.305-144C>T||||||WARNING_TRANSCRIPT_NO_STOP_CODON,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000569357.4|nonsense_mediated_decay|5/6|n.*141-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000637239.1|processed_transcript|3/17|n.372-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000638154.1|protein_coding|4/18|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000637115.1|nonsense_mediated_decay|6/20|n.*195-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000635822.1|protein_coding|5/19|c.305-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000636400.1|protein_coding|5/19|c.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000636751.1|nonsense_mediated_decay|4/19|n.233-144C>T||||||,A|intron_variant|MODIFIER|TCF4|ENSG00000196628|transcript|ENST00000637500.1|processed_transcript|1/1|n.94-144C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:110:109:4309:1:12:0,-31.9133,-386.542\\t0/0:99:56:54:2157:2:24:0,-14.5777,-192.014\n19\\t7911277\\t.\\tA\\tG\\t4.68907E-14\\tPASS\\tSSC=318.745;TYPE=snp;ANN=G|missense_variant|MODERATE|MAP2K7|ENSG00000076984|transcript|ENST00000397983.7|protein_coding|9/12|c.931A>G|p.Thr311Ala|991/3396|931/1308|311/435||,G|missense_variant|MODERATE|MAP2K7|ENSG00000076984|transcript|ENST00000397981.7|protein_coding|8/11|c.883A>G|p.Thr295Ala|985/3430|883/1281|295/426||,G|missense_variant|MODERATE|MAP2K7|ENSG00000076984|transcript|ENST00000397979.3|protein_coding|8/11|c.883A>G|p.Thr295Ala|937/3361|883/1260|295/419||,G|upstream_gene_variant|MODIFIER|TGFBR3L|ENSG00000260001|transcript|ENST00000565886.1|protein_coding||c.-4991A>G|||||4868|,G|downstream_gene_variant|MODIFIER|MAP2K7|ENSG00000076984|transcript|ENST00000475022.1|retained_intron||n.*4211A>G|||||4211|,G|downstream_gene_variant|MODIFIER|CTD-3193O13.13|ENSG00000268149|transcript|ENST00000595655.1|antisense||n.*1371T>C|||||1371|,G|downstream_gene_variant|MODIFIER|MAP2K7|ENSG00000076984|transcript|ENST00000494348.1|retained_intron||n.*172A>G|||||172|,G|downstream_gene_variant|MODIFIER|MAP2K7|ENSG00000076984|transcript|ENST00000465324.1|retained_intron||n.*542A>G|||||542|,G|non_coding_transcript_exon_variant|MODIFIER|MAP2K7|ENSG00000076984|transcript|ENST00000468058.1|retained_intron|7/10|n.1078A>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|MAP2K7|ENSG00000076984|transcript|ENST00000498118.1|retained_intron|2/2|n.89A>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1374:1338:45283:28:386:0,-376.47,-4037.32\\t0/0:99:226:217:7534:8:111:0,-57.7253,-667.65\n4\\t13544317\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=157.392;TYPE=snp;ANN=T|missense_variant|MODERATE|NKX3-2|ENSG00000109705|transcript|ENST00000382438.5|protein_coding|1/2|c.98G>A|p.Arg33His|734/2801|98/1002|33/333||,T|downstream_gene_variant|MODIFIER|LINC01096|ENSG00000246095|transcript|ENST00000501050.1|lincRNA||n.*1759G>A|||||1759|,T|downstream_gene_variant|MODIFIER|LINC01096|ENSG00000246095|transcript|ENST00000503938.1|lincRNA||n.*1758G>A|||||1758|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:560:560:22471:0:0:0,-168.577,-2020.3\\t0/0:99:63:61:2461:2:82:0,-11.1852,-213.834\n7\\t151570191\\t.\\tC\\tA\\t4.55042E-14\\tPASS\\tSSC=108.562;TYPE=snp;ANN=A|splice_region_variant&non_coding_transcript_exon_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000493872.5|nonsense_mediated_decay|7/7|n.*335G>T||||||,A|synonymous_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000287878.8|protein_coding|10/16|c.1086G>T|p.Val362Val|1591/3305|1086/1710|362/569||,A|synonymous_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000418337.6|protein_coding|6/12|c.363G>T|p.Val121Val|617/2318|363/987|121/328||,A|synonymous_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000392801.6|protein_coding|10/16|c.954G>T|p.Val318Val|1397/2281|954/1578|318/525||,A|synonymous_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000476632.1|protein_coding|7/8|c.363G>T|p.Val121Val|997/1123|363/489|121/162||WARNING_TRANSCRIPT_NO_STOP_CODON,A|synonymous_variant|LOW|PRKAG2|ENSG00000106617|transcript|ENST00000492843.5|protein_coding|8/14|c.714G>T|p.Val238Val|1035/2699|714/1338|238/445||,A|3_prime_UTR_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000488258.5|nonsense_mediated_decay|9/10|n.*326G>T|||||25258|,A|3_prime_UTR_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000493872.5|nonsense_mediated_decay|7/7|n.*335G>T|||||61450|,A|downstream_gene_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000491938.5|retained_intron||n.*2217G>T|||||2217|,A|non_coding_transcript_exon_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000488258.5|nonsense_mediated_decay|9/10|n.*326G>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|PRKAG2|ENSG00000106617|transcript|ENST00000478989.5|nonsense_mediated_decay|3/8|n.138G>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:754:726:24946:20:265:0,-200.714,-2219.11\\t0/0:99:345:332:11540:10:120:0,-92.1523,-1026.9\n3\\t44721521\\t.\\tG\\tT\\t32.7588\\tPASS\\tSSC=8.68277;TYPE=snp;ANN=T|missense_variant|MODERATE|ZNF502|ENSG00000196653|transcript|ENST00000296091.8|protein_coding|4/4|c.704G>T|p.Gly235Val|960/3270|704/1635|235/544||,T|missense_variant|MODERATE|ZNF502|ENSG00000196653|transcript|ENST00000436624.6|protein_coding|3/3|c.704G>T|p.Gly235Val|858/2314|704/1635|235/544||,T|missense_variant|MODERATE|ZNF502|ENSG00000196653|transcript|ENST00000449836.5|protein_coding|3/3|c.704G>T|p.Gly235Val|865/3173|704/1635|235/544||,T|downstream_gene_variant|MODIFIER|ZNF502|ENSG00000196653|transcript|ENST00000411443.1|protein_coding||c.*239G>T|||||239|WARNING_TRANSCRIPT_NO_STOP_CODON\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:28.6358:6:6:204:0:0:0,-1.80618,-18.6824\\t0/1:32.1936:3:1:41:2:82:-6.87659,0,-3.19148\n5\\t57482408\\t.\\tATCTGGT\\tCTCGGGA\\t0.0\\tPASS\\tSSC=51.3288;TYPE=complex;ANN=CTCGGGA|missense_variant|MODERATE|ACTBL2|ENSG00000169067|transcript|ENST00000423391.2|protein_coding|1/1|c.294_300delACCAGATinsTCCCGAG|p.Asp100Glu|402/2794|294/1131|98/376||,CTCGGGA|intron_variant|MODIFIER|CTD-2023N9.1|ENSG00000250961|transcript|ENST00000506106.1|antisense|1/3|n.120-11667_120-11661delATCTGGTinsCTCGGGA||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:197:196:7835:0:0:0,-63.8184,-758.476\\t0/0:99:61:58:2274:2:80:0,-12.4896,-217.738\n1\\t53594360\\t.\\tG\\tT\\t0.0\\tPASS\\tSSC=177.655;TYPE=snp;ANN=T|synonymous_variant|LOW|GLIS1|ENSG00000174332|transcript|ENST00000312233.4|protein_coding|3/10|c.543C>A|p.Gly181Gly|1110/2812|543/1863|181/620||,T|synonymous_variant|LOW|GLIS1|ENSG00000174332|transcript|ENST00000628545.1|protein_coding|3/10|c.1068C>A|p.Gly356Gly|1110/2807|1068/2388|356/795||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:665:663:26240:1:41:0,-196.054,-2355.23\\t0/0:99:89:86:3430:3:90:0,-18.3988,-300.336\n10\\t112950777\\t.\\tT\\tA\\t5.71366E-14\\tPASS\\tSSC=173.418;TYPE=snp;ANN=A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000355995.8|protein_coding|1/15|c.21T>A|p.Gly7Gly|528/4073|21/1860|7/619||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000534894.5|protein_coding|1/11|c.21T>A|p.Gly7Gly|528/3778|21/1227|7/408||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000536810.5|protein_coding|1/13|c.21T>A|p.Gly7Gly|528/3953|21/1740|7/579||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000538897.5|protein_coding|1/14|c.21T>A|p.Gly7Gly|528/4000|21/1449|7/482||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000543371.5|protein_coding|1/14|c.21T>A|p.Gly7Gly|528/4037|21/1824|7/607||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000627217.2|protein_coding|1/14|c.21T>A|p.Gly7Gly|371/3680|21/1809|7/602||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000369397.8|protein_coding|1/14|c.21T>A|p.Gly7Gly|326/3802|21/1791|7/596||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000355717.9|protein_coding|1/13|c.21T>A|p.Gly7Gly|192/1979|21/1470|7/489||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000352065.10|protein_coding|1/15|c.21T>A|p.Gly7Gly|118/1553|21/1380|7/459||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000545257.6|protein_coding|1/15|c.21T>A|p.Gly7Gly|114/2160|21/1431|7/476||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000629706.2|protein_coding|1/13|c.21T>A|p.Gly7Gly|21/1755|21/1755|7/584||,A|synonymous_variant|LOW|TCF7L2|ENSG00000148737|transcript|ENST00000369395.6|protein_coding|1/15|c.21T>A|p.Gly7Gly|118/1541|21/1368|7/455||,A|5_prime_UTR_variant|MODIFIER|TCF7L2|ENSG00000148737|transcript|ENST00000542695.5|protein_coding|1/15|c.-298T>A|||||768|,A|upstream_gene_variant|MODIFIER|TCF7L2|ENSG00000148737|transcript|ENST00000346198.5|protein_coding||c.-139T>A|||||139|WARNING_TRANSCRIPT_INCOMPLETE,A|non_coding_transcript_exon_variant|MODIFIER|RP11-57H14.2|ENSG00000233547|transcript|ENST00000369391.3|antisense|2/2|n.329A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1483:1392:45103:61:912:0,-355.306,-3973.74\\t0/0:99:760:708:24073:29:444:0,-181.888,-2124.43\n14\\t50428753\\t.\\tT\\tC\\t2.001E-14\\tPASS\\tSSC=155.498;TYPE=snp;ANN=C|splice_region_variant&synonymous_variant|LOW|MAP4K5|ENSG00000012983|transcript|ENST00000013125.8|protein_coding|29/32|c.2235A>G|p.Lys745Lys|2554/4354|2235/2541|745/846||,C|splice_region_variant&non_coding_transcript_exon_variant|LOW|MAP4K5|ENSG00000012983|transcript|ENST00000554990.5|retained_intron|15/18|n.2988A>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:935:913:31825:22:289:0,-255.322,-2835.73\\t0/0:99:376:365:12759:11:147:0,-99.8239,-1134.2\n19\\t50416471\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=124.579;TYPE=snp;ANN=T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000595904.5|protein_coding|22/26|c.2974C>T|p.Leu992Phe|2974/3402|2974/3402|992/1133||,T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000440232.6|protein_coding|23/27|c.2896C>T|p.Leu966Phe|2949/3444|2896/3324|966/1107||,T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000599857.5|protein_coding|23/27|c.2896C>T|p.Leu966Phe|2940/3435|2896/3324|966/1107||,T|missense_variant|MODERATE|CTD-2545M3.6|ENSG00000142539|transcript|ENST00000599632.1|protein_coding|2/10|c.103C>T|p.Leu35Phe|104/1265|103/1191|35/396||WARNING_TRANSCRIPT_NO_START_CODON,T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000613923.4|protein_coding|23/27|c.2974C>T|p.Leu992Phe|3043/3542|2974/3402|992/1133||,T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000593407.5|protein_coding|6/8|c.676C>T|p.Leu226Phe|677/867|676/866|226/287||WARNING_TRANSCRIPT_INCOMPLETE,T|missense_variant|MODERATE|POLD1|ENSG00000062822|transcript|ENST00000593981.1|protein_coding|5/8|c.520C>T|p.Leu174Phe|522/873|520/871|174/289||WARNING_TRANSCRIPT_INCOMPLETE,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000595883.5|protein_coding||c.-2492C>T|||||2467|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000270632.7|protein_coding||c.-2492C>T|||||2487|,T|upstream_gene_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596221.1|retained_intron||n.-482C>T|||||482|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000439922.6|protein_coding||c.-2550C>T|||||2467|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000596074.5|protein_coding||c.-2492C>T|||||2470|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000594685.1|protein_coding||c.-2492C>T|||||2483|WARNING_TRANSCRIPT_INCOMPLETE,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000599923.5|retained_intron||n.-2468C>T|||||2468|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000594188.1|retained_intron||n.-2470C>T|||||2470|,T|upstream_gene_variant|MODIFIER|SPIB|ENSG00000269404|transcript|ENST00000597855.5|protein_coding||c.-2492C>T|||||2470|,T|downstream_gene_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596425.1|protein_coding||c.*2970C>T|||||2970|WARNING_TRANSCRIPT_INCOMPLETE,T|non_coding_transcript_exon_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000600859.5|nonsense_mediated_decay|22/26|n.2793C>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000597963.5|retained_intron|1/4|n.159C>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|POLD1|ENSG00000062822|transcript|ENST00000596648.1|retained_intron|2/4|n.830C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:476:476:18787:0:0:0,-143.29,-1689.23\\t0/0:99:88:86:3411:2:82:0,-18.711,-299.241\n16\\t4337131\\t.\\tT\\tTG\\t0.0\\tPASS\\tSSC=283.339;TYPE=ins;OLD_MULTIALLELIC=16:4337131:TGGGGGGGGCAT/TGGGGGGGGGCAT/GGGGGGGGGCAT;OLD_VARIANT=16:4337131:TGGGGGGGGCAT/TGGGGGGGGGCAT;ANN=TG|frameshift_variant|HIGH|GLIS2|ENSG00000126603|transcript|ENST00000433375.1|protein_coding|6/6|c.1190dupG|p.Met398fs|1248/3705|1191/1575|397/524||INFO_REALIGN_3_PRIME,TG|frameshift_variant|HIGH|GLIS2|ENSG00000126603|transcript|ENST00000262366.7|protein_coding|8/8|c.1190dupG|p.Met398fs|2012/4469|1191/1575|397/524||INFO_REALIGN_3_PRIME,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000318059.7|protein_coding||c.*3187dupC|||||3116|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000573236.5|retained_intron||n.*3117dupC|||||3117|,TG|downstream_gene_variant|MODIFIER|CORO7-PAM16|ENSG00000103426|transcript|ENST00000572467.5|protein_coding||c.*3187dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000573450.5|processed_transcript||n.*3119dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000573553.5|protein_coding||c.*3187dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|CORO7-PAM16|ENSG00000103426|transcript|ENST00000575334.5|nonsense_mediated_decay||n.*4860dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000571941.5|protein_coding||c.*3187dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000575848.5|protein_coding||c.*3187dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000575636.5|nonsense_mediated_decay||n.*3458dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000571986.5|nonsense_mediated_decay||n.*3458dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000571178.1|nonsense_mediated_decay||n.*3360dupC|||||3186|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000573614.5|processed_transcript||n.*3119dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000576217.1|protein_coding||c.*3187dupC|||||3119|,TG|downstream_gene_variant|MODIFIER|CORO7-PAM16|ENSG00000103426|transcript|ENST00000572274.1|processed_transcript||n.*3809dupC|||||3809|,TG|downstream_gene_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000571819.1|processed_transcript||n.*4520dupC|||||4520|,TG|intron_variant|MODIFIER|PAM16|ENSG00000217930|transcript|ENST00000577031.5|protein_coding|4/4|c.291+3788dupC||||||,TG|non_coding_transcript_exon_variant|MODIFIER|RP11-295D4.1|ENSG00000262712|transcript|ENST00000574705.1|sense_intronic|1/1|n.687dupC||||||;LOF=(GLIS2|ENSG00000126603|2|1.00)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:994:923:36342:33:1111:0,-322.811,-3219.44\\t0/0:99:105:93:3665:3:123:0,-39.4717,-325.383\n12\\t49051739\\t.\\tA\\tT\\t1.16443E-13\\tPASS\\tSSC=411.947;TYPE=snp;ANN=T|synonymous_variant|LOW|KMT2D|ENSG00000167548|transcript|ENST00000301067.11|protein_coding|10/54|c.1944T>A|p.Pro648Pro|1944/19419|1944/16614|648/5537||,T|downstream_gene_variant|MODIFIER|KMT2D|ENSG00000167548|transcript|ENST00000547610.1|protein_coding||c.*2641T>A|||||2641|WARNING_TRANSCRIPT_INCOMPLETE\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:2176:2063:71414:100:1355:0,-529.173,-6298.78\\t0/0:99:442:428:14910:12:169:0,-117.226,-1325.59\n9\\t21971181\\t.\\tC\\tT\\t2.57703E-15\\tPASS\\tSSC=81.231;TYPE=snp;ANN=T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000498124.1|protein_coding|2/4|c.178G>A|p.Ala60Thr|217/880|178/504|60/167||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000304494.9|protein_coding|2/3|c.178G>A|p.Ala60Thr|449/1218|178/471|60/156||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000579755.1|protein_coding|2/3|c.221G>A|p.Gly74Asp|514/1283|221/399|74/132||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000578845.2|protein_coding|1/2|c.25G>A|p.Ala9Thr|152/678|25/318|9/105||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000498628.6|protein_coding|2/3|c.25G>A|p.Ala9Thr|509/926|25/318|9/105||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000579122.1|protein_coding|2/3|c.178G>A|p.Ala60Thr|209/666|178/417|60/138||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000494262.5|protein_coding|3/4|c.25G>A|p.Ala9Thr|649/989|25/318|9/105||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000497750.1|protein_coding|2/2|c.25G>A|p.Ala9Thr|100/565|25/315|9/104||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000530628.2|protein_coding|2/3|c.221G>A|p.Gly74Asp|301/748|221/399|74/132||,T|missense_variant|MODERATE|CDKN2A|ENSG00000147889|transcript|ENST00000479692.2|protein_coding|2/3|c.25G>A|p.Ala9Thr|40/544|25/366|9/121||,T|3_prime_UTR_variant|MODIFIER|CDKN2A|ENSG00000147889|transcript|ENST00000380151.3|nonsense_mediated_decay|2/3|n.*101G>A|||||3296|,T|upstream_gene_variant|MODIFIER|CDKN2A|ENSG00000147889|transcript|ENST00000577854.1|processed_transcript||n.-714G>A|||||714|,T|downstream_gene_variant|MODIFIER|CDKN2A-AS1|ENSG00000224854|transcript|ENST00000441769.3|lincRNA||n.*3430C>T|||||3430|,T|intron_variant|MODIFIER|RP11-145E5.5|ENSG00000264545|transcript|ENST00000404796.2|nonsense_mediated_decay|4/5|n.348-58252C>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|CDKN2A|ENSG00000147889|transcript|ENST00000380151.3|nonsense_mediated_decay|2/3|n.*101G>A||||||,T|non_coding_transcript_exon_variant|MODIFIER|CDKN2A|ENSG00000147889|transcript|ENST00000380150.2|processed_transcript|1/2|n.152G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:307:306:12215:0:0:0,-92.1152,-1098.27\\t0/0:99:62:60:2387:2:82:0,-10.8842,-207.182\n5\\t87383752\\t.\\tG\\tC\\t6.08732E-15\\tPASS\\tSSC=53.614;TYPE=snp;ANN=C|synonymous_variant|LOW|RASA1|ENSG00000145715|transcript|ENST00000274376.10|protein_coding|21/25|c.2730G>C|p.Leu910Leu|3294/3752|2730/3144|910/1047||,C|synonymous_variant|LOW|RASA1|ENSG00000145715|transcript|ENST00000456692.6|protein_coding|21/25|c.2199G>C|p.Leu733Leu|2314/3776|2199/2613|733/870||,C|synonymous_variant|LOW|RASA1|ENSG00000145715|transcript|ENST00000512763.5|protein_coding|22/26|c.2229G>C|p.Leu743Leu|2430/3060|2229/2643|743/880||,C|synonymous_variant|LOW|RASA1|ENSG00000145715|transcript|ENST00000506290.1|protein_coding|22/26|c.2232G>C|p.Leu744Leu|2349/3009|2232/2646|744/881||,C|3_prime_UTR_variant|MODIFIER|RASA1|ENSG00000145715|transcript|ENST00000515800.6|nonsense_mediated_decay|22/26|n.*1255G>C|||||17392|,C|non_coding_transcript_exon_variant|MODIFIER|RASA1|ENSG00000145715|transcript|ENST00000515800.6|nonsense_mediated_decay|22/26|n.*1255G>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:742:719:26782:17:204:0,-203.198,-2389.48\\t0/0:99:552:536:20533:14:178:0,-149.584,-1829.98\n19\\t38395985\\t.\\tC\\tG\\t3.49569E-14\\tPASS\\tSSC=101.701;TYPE=snp;ANN=G|missense_variant|MODERATE|SPRED3|ENSG00000188766|transcript|ENST00000338502.8|protein_coding|5/5|c.1073C>G|p.Pro358Arg|1176/4778|1073/1233|358/410||,G|missense_variant|MODERATE|SPRED3|ENSG00000188766|transcript|ENST00000587013.5|protein_coding|5/5|c.1205C>G|p.Pro402Arg|1283/1539|1205/1365|402/454||,G|missense_variant|MODERATE|SPRED3|ENSG00000188766|transcript|ENST00000586301.5|protein_coding|6/6|c.1073C>G|p.Pro358Arg|1203/1366|1073/1233|358/410||,G|downstream_gene_variant|MODIFIER|SPRED3|ENSG00000188766|transcript|ENST00000587564.2|processed_transcript||n.*1509C>G|||||1509|,G|downstream_gene_variant|MODIFIER|SPRED3|ENSG00000188766|transcript|ENST00000586958.1|nonsense_mediated_decay||n.*1423C>G|||||1315|,G|downstream_gene_variant|MODIFIER|SPRED3|ENSG00000188766|transcript|ENST00000587947.5|protein_coding||c.*1222C>G|||||1222|WARNING_TRANSCRIPT_INCOMPLETE,G|downstream_gene_variant|MODIFIER|SPRED3|ENSG00000188766|transcript|ENST00000590962.1|retained_intron||n.*3338C>G|||||3338|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:369:369:14689:0:0:0,-111.08,-1320.79\\t0/0:99:57:55:2167:2:82:0,-9.37903,-187.417\n11\\t65599516\\t.\\tAGC\\tGGG\\t9.52344E-15\\tPASS\\tSSC=163.894;TYPE=complex;OLD_MULTIALLELIC=11:65599516:AGC/GGG/GGC;ANN=GGG|missense_variant|MODERATE|MAP3K11|ENSG00000173327|transcript|ENST00000309100.7|protein_coding|9/10|c.2082_2084delGCTinsCCC|p.Leu695Pro|2570/3566|2082/2544|694/847||,GGG|missense_variant|MODERATE|MAP3K11|ENSG00000173327|transcript|ENST00000532507.5|protein_coding|4/5|c.330_332delGCTinsCCC|p.Leu111Pro|817/1812|330/792|110/263||,GGG|missense_variant|MODERATE|MAP3K11|ENSG00000173327|transcript|ENST00000530153.5|protein_coding|9/10|c.1311_1313delGCTinsCCC|p.Leu438Pro|1835/2830|1311/1773|437/590||,GGG|3_prime_UTR_variant|MODIFIER|MAP3K11|ENSG00000173327|transcript|ENST00000524848.5|nonsense_mediated_decay|8/9|n.*550_*552delGCTinsCCC|||||7244|,GGG|upstream_gene_variant|MODIFIER|KCNK7|ENSG00000173338|transcript|ENST00000340313.4|protein_coding||c.-3746_-3744delGCTinsCCC|||||3520|,GGG|upstream_gene_variant|MODIFIER|KCNK7|ENSG00000173338|transcript|ENST00000342202.8|protein_coding||c.-3746_-3744delGCTinsCCC|||||3708|,GGG|upstream_gene_variant|MODIFIER|KCNK7|ENSG00000173338|transcript|ENST00000394216.6|protein_coding||c.-3746_-3744delGCTinsCCC|||||3520|,GGG|upstream_gene_variant|MODIFIER|KCNK7|ENSG00000173338|transcript|ENST00000394217.6|protein_coding||c.-3746_-3744delGCTinsCCC|||||3520|,GGG|non_coding_transcript_exon_variant|MODIFIER|MAP3K11|ENSG00000173327|transcript|ENST00000524848.5|nonsense_mediated_decay|8/9|n.*550_*552delGCTinsCCC||||||,GGG|non_coding_transcript_exon_variant|MODIFIER|MAP3K11|ENSG00000173327|transcript|ENST00000534432.1|processed_transcript|5/5|n.597_599delGCTinsCCC||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:803:745:27288:17:236:0,-213.21,-2457.46\\t0/0:99:171:163:6033:2:24:0,-49.3161,-552.777\n17\\t39530715\\t.\\tA\\tT\\t0.0\\tPASS\\tSSC=450.606;TYPE=snp;ANN=T|missense_variant|MODERATE|CDK12|ENSG00000167258|transcript|ENST00000447079.4|protein_coding|14/14|c.3872A>T|p.Gln1291Leu|3905/8336|3872/4473|1291/1490||,T|missense_variant|MODERATE|CDK12|ENSG00000167258|transcript|ENST00000430627.6|protein_coding|14/14|c.3845A>T|p.Gln1282Leu|4156/5918|3845/4446|1282/1481||,T|downstream_gene_variant|MODIFIER|CDK12|ENSG00000167258|transcript|ENST00000584632.5|protein_coding||c.*4552A>T|||||4552|WARNING_TRANSCRIPT_INCOMPLETE,T|intron_variant|MODIFIER|CDK12|ENSG00000167258|transcript|ENST00000559663.1|nonsense_mediated_decay|1/4|n.448+4399A>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|CDK12|ENSG00000167258|transcript|ENST00000584336.1|retained_intron|1/1|n.834A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:2289:2218:80248:70:880:0,-609.552,-7135.65\\t0/0:99:579:567:21001:12:169:0,-158.946,-1873.01\n19\\t18768684\\t.\\tT\\tA\\t0.0\\tPASS\\tSSC=168.819;TYPE=snp;ANN=A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000338797.10|protein_coding|11/15|c.1259T>A|p.Leu420Gln|1284/6929|1259/1953|420/650||,A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000321949.12|protein_coding|10/14|c.1211T>A|p.Leu404Gln|1237/2501|1211/1905|404/634||,A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000594658.5|protein_coding|10/14|c.1088T>A|p.Leu363Gln|1120/2384|1088/1782|363/593||,A|intron_variant|MODIFIER|CRTC1|ENSG00000105662|transcript|ENST00000601916.1|protein_coding|8/9|c.786+3156T>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:805:771:28444:34:488:0,-198.271,-2513.49\\t0/0:99:109:106:4015:3:36:0,-29.4523,-357.979\n9\\t93308569\\t.\\tT\\tG\\t3.0256E-14\\tPASS\\tSSC=79.0426;TYPE=snp;ANN=G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000297954.8|protein_coding|28/30|c.6612T>G|p.Pro2204Pro|6612/7138|6612/6894|2204/2297||,G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000432730.5|protein_coding|27/29|c.6486T>G|p.Pro2162Pro|6488/7792|6486/6660|2162/2219||WARNING_TRANSCRIPT_NO_START_CODON,G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000411624.5|protein_coding|21/22|c.4974T>G|p.Pro1658Pro|4975/6679|4974/5319|1658/1772||WARNING_TRANSCRIPT_NO_START_CODON,G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000448251.5|protein_coding|13/15|c.2889T>G|p.Pro963Pro|2891/3224|2889/3042|963/1013||WARNING_TRANSCRIPT_NO_START_CODON,G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000395477.6|protein_coding|27/29|c.6501T>G|p.Pro2167Pro|6501/6834|6501/6654|2167/2217||,G|synonymous_variant|LOW|WNK2|ENSG00000165238|transcript|ENST00000453718.2|protein_coding|7/7|c.1920T>G|p.Pro640Pro|1922/1937|1920/1935|640/644||WARNING_TRANSCRIPT_NO_START_CODON,G|non_coding_transcript_exon_variant|MODIFIER|WNK2|ENSG00000165238|transcript|ENST00000467401.1|retained_intron|1/3|n.1933T>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|WNK2|ENSG00000165238|transcript|ENST00000474009.5|processed_transcript|3/3|n.542T>G||||||,G|non_coding_transcript_exon_variant|MODIFIER|WNK2|ENSG00000165238|transcript|ENST00000460335.1|processed_transcript|1/2|n.69T>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:409:392:14685:17:234:0,-101.925,-1299.31\\t0/0:99:80:79:3079:1:12:0,-22.8824,-275.97\n19\\t38483504\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=83.6393;TYPE=snp;ANN=T|missense_variant|MODERATE|RYR1|ENSG00000196218|transcript|ENST00000355481.8|protein_coding|33/105|c.4922C>T|p.Pro1641Leu|5053/15377|4922/15102|1641/5033||,T|missense_variant|MODERATE|RYR1|ENSG00000196218|transcript|ENST00000359596.7|protein_coding|33/106|c.4922C>T|p.Pro1641Leu|4922/15117|4922/15117|1641/5038||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:296:296:11759:0:0:0,-89.1049,-1057.44\\t0/0:99:44:42:1608:2:82:0,-5.46564,-137.159\n6\\t42268688\\t.\\tC\\tA\\t0.00281751\\tPASS\\tSSC=17.1642;TYPE=snp;ANN=A|missense_variant|MODERATE|TRERF1|ENSG00000124496|transcript|ENST00000541110.5|protein_coding|5/18|c.903G>T|p.Gln301His|1472/7646|903/3663|301/1220||,A|missense_variant|MODERATE|TRERF1|ENSG00000124496|transcript|ENST00000372922.8|protein_coding|5/18|c.903G>T|p.Gln301His|1466/7286|903/3603|301/1200||,A|missense_variant|MODERATE|TRERF1|ENSG00000124496|transcript|ENST00000372917.8|protein_coding|5/17|c.420G>T|p.Gln140His|1244/3914|420/2871|140/956||,A|missense_variant|MODERATE|TRERF1|ENSG00000124496|transcript|ENST00000340840.6|protein_coding|4/16|c.903G>T|p.Gln301His|1491/4174|903/3390|301/1129||,A|missense_variant|MODERATE|TRERF1|ENSG00000124496|transcript|ENST00000354325.2|protein_coding|4/16|c.903G>T|p.Gln301His|1491/4138|903/3354|301/1117||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:43:43:1702:0:0:0,-12.9443,-153.397\\t0/1:0.00281751:9:7:273:2:73:-4.21992,0,-22.2207\n2\\t131264040\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=64.5985;TYPE=snp;ANN=T|missense_variant|MODERATE|POTEE|ENSG00000188219|transcript|ENST00000356920.9|protein_coding|15/15|c.2585C>T|p.Thr862Ile|2921/4159|2585/3228|862/1075||,T|downstream_gene_variant|MODIFIER|POTEE|ENSG00000188219|transcript|ENST00000358087.9|nonsense_mediated_decay||n.*1359C>T|||||449|,T|downstream_gene_variant|MODIFIER|POTEE|ENSG00000188219|transcript|ENST00000514256.5|nonsense_mediated_decay||n.*1338C>T|||||449|,T|downstream_gene_variant|MODIFIER|POTEE|ENSG00000188219|transcript|ENST00000626191.1|protein_coding||c.*1293C>T|||||449|,T|downstream_gene_variant|MODIFIER|POTEE|ENSG00000188219|transcript|ENST00000613282.3|protein_coding||c.*687C>T|||||340|,T|intron_variant|MODIFIER|PLEKHB2|ENSG00000115762|transcript|ENST00000404460.5|protein_coding|6/6|c.424-88980C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:226:224:8976:0:0:0,-67.4307,-723.002\\t0/0:99:34:32:1286:2:78:0,-2.83224,-99.6752\n3\\t65379364\\t.\\tG\\tT\\t1.23661E-6\\tPASS\\tSSC=19.5198;TYPE=snp;ANN=T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000402939.6|protein_coding|17/23|c.2892C>A|p.Thr964Thr|2892/4389|2892/4389|964/1462||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000330909.12|protein_coding|18/25|c.2976C>A|p.Thr992Thr|2976/7415|2976/3864|992/1287||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000611645.4|protein_coding|17/24|c.2055C>A|p.Thr685Thr|2665/6398|2055/2943|685/980||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000621418.4|protein_coding|16/22|c.1971C>A|p.Thr657Thr|2581/6225|1971/3468|657/1155||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000483466.5|protein_coding|18/23|c.2976C>A|p.Thr992Thr|3218/4791|2976/3771|992/1256||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000463103.6|protein_coding|17/22|c.2601C>A|p.Thr867Thr|2601/4193|2601/3396|867/1131||WARNING_TRANSCRIPT_NO_START_CODON,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000460329.6|protein_coding|17/22|c.2616C>A|p.Thr872Thr|2618/3694|2616/3408|872/1135||WARNING_TRANSCRIPT_NO_START_CODON,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000497477.6|protein_coding|17/21|c.2892C>A|p.Thr964Thr|2892/3555|2892/3483|964/1160||,T|synonymous_variant|LOW|MAGI1|ENSG00000151276|transcript|ENST00000472257.5|protein_coding|14/19|c.2250C>A|p.Thr750Thr|2250/3045|2250/3045|750/1014||WARNING_TRANSCRIPT_NO_START_CODON,T|non_coding_transcript_exon_variant|MODIFIER|MAGI1|ENSG00000151276|transcript|ENST00000468159.1|retained_intron|6/6|n.952C>A||||||,T|non_coding_transcript_exon_variant|MODIFIER|MAGI1|ENSG00000151276|transcript|ENST00000480729.1|processed_transcript|2/3|n.281C>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:55:55:2178:0:0:0,-16.5566,-196.178\\t0/1:1.23661e-06:16:14:566:2:82:-2.9632,0,-46.4647\n11\\t64766958\\t.\\tC\\tT\\t1.20541E-16\\tPASS\\tSSC=114.106;TYPE=snp;ANN=T|missense_variant|MODERATE|SF1|ENSG00000168066|transcript|ENST00000377394.7|protein_coding|12/13|c.1528G>A|p.Ala510Thr|1883/2854|1528/1716|510/571||,T|missense_variant|MODERATE|SF1|ENSG00000168066|transcript|ENST00000413725.5|protein_coding|3/4|c.232G>A|p.Ala78Thr|233/843|232/540|78/179||WARNING_TRANSCRIPT_NO_START_CODON,T|missense_variant|MODERATE|SF1|ENSG00000168066|transcript|ENST00000486867.1|protein_coding|5/6|c.682G>A|p.Ala228Thr|682/875|682/875|228/290||WARNING_TRANSCRIPT_INCOMPLETE,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000377387.5|protein_coding|12/13|c.1899G>A|p.Pro633Pro|1976/2947|1899/2022|633/673||,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000377390.7|protein_coding|12/13|c.1524G>A|p.Pro508Pro|1862/3470|1524/1920|508/639||,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000227503.13|protein_coding|12/13|c.1524G>A|p.Pro508Pro|1879/2850|1524/1647|508/548||,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000334944.9|protein_coding|12/14|c.1524G>A|p.Pro508Pro|1918/3094|1524/1917|508/638||,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000433274.6|protein_coding|12/13|c.1446G>A|p.Pro482Pro|1755/2317|1446/1842|482/613||,T|synonymous_variant|LOW|SF1|ENSG00000168066|transcript|ENST00000443908.5|protein_coding|3/4|c.480G>A|p.Pro160Pro|480/767|480/603|160/200||WARNING_TRANSCRIPT_NO_START_CODON,T|3_prime_UTR_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000448404.5|nonsense_mediated_decay|11/12|n.*1119G>A|||||3076|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000489544.1|processed_transcript||n.*1213G>A|||||1213|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000486960.5|retained_intron||n.*2320G>A|||||2320|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000626028.1|protein_coding||c.*3076G>A|||||3076|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000413951.5|nonsense_mediated_decay||n.*3691G>A|||||3339|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000496969.1|processed_transcript||n.*2584G>A|||||2584|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000633899.1|processed_transcript||n.*3320G>A|||||3320|,T|downstream_gene_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000432725.1|protein_coding||c.*3422G>A|||||3422|WARNING_TRANSCRIPT_INCOMPLETE,T|non_coding_transcript_exon_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000448404.5|nonsense_mediated_decay|11/12|n.*1119G>A||||||,T|non_coding_transcript_exon_variant|MODIFIER|SF1|ENSG00000168066|transcript|ENST00000477596.1|retained_intron|3/3|n.258G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:566:556:20885:10:130:0,-158.553,-1866.07\\t0/0:99:163:158:6152:4:48:0,-44.4469,-548.983\n21\\t10567752\\t.\\tAT\\tA\\t5.09165E-13\\tPASS\\tSSC=574.304;TYPE=del;OLD_VARIANT=21:10567752:ATTTTTTTTGAC/ATTTTTTTGAC;ANN=A|frameshift_variant|HIGH|TPTE|ENSG00000274391|transcript|ENST00000618007.4|protein_coding|11/24|c.537delT|p.Phe179fs|867/2150|537/1656|179/551||INFO_REALIGN_3_PRIME,A|frameshift_variant|HIGH|TPTE|ENSG00000274391|transcript|ENST00000622113.4|protein_coding|10/23|c.483delT|p.Phe161fs|835/2542|483/1602|161/533||INFO_REALIGN_3_PRIME,A|frameshift_variant|HIGH|TPTE|ENSG00000274391|transcript|ENST00000427445.6|protein_coding|9/22|c.423delT|p.Phe141fs|753/2036|423/1542|141/513||INFO_REALIGN_3_PRIME,A|frameshift_variant|HIGH|TPTE|ENSG00000274391|transcript|ENST00000612746.1|protein_coding|6/19|c.123delT|p.Phe41fs|591/1874|123/1242|41/413||INFO_REALIGN_3_PRIME,A|downstream_gene_variant|MODIFIER|TPTE|ENSG00000274391|transcript|ENST00000612957.4|protein_coding||c.*54delT|||||54|WARNING_TRANSCRIPT_INCOMPLETE,A|non_coding_transcript_exon_variant|MODIFIER|AL078471.5|ENSG00000273840|transcript|ENST00000612267.1|processed_transcript|20/32|n.2159delT||||||INFO_REALIGN_3_PRIME;LOF=(TPTE|ENSG00000274391|5|0.80)\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:3276:3076:122177:72:2867:0,-935.792,-11021.9\\t0/0:99:1256:1177:46810:26:1058:0,-361.488,-4223.02\n15\\t90890431\\t.\\tA\\tT\\t1.1542E-14\\tPASS\\tSSC=200.781;TYPE=snp;ANN=T|missense_variant|MODERATE|FES|ENSG00000182511|transcript|ENST00000328850.7|protein_coding|10/19|c.1267A>T|p.Thr423Ser|1409/2829|1267/2469|423/822||,T|missense_variant|MODERATE|FES|ENSG00000182511|transcript|ENST00000394300.7|protein_coding|8/17|c.1093A>T|p.Thr365Ser|1093/2302|1093/2295|365/764||,T|missense_variant|MODERATE|FES|ENSG00000182511|transcript|ENST00000444422.2|protein_coding|9/17|c.1267A>T|p.Thr423Ser|1267/2266|1267/2259|423/752||,T|missense_variant|MODERATE|FES|ENSG00000182511|transcript|ENST00000414248.6|protein_coding|9/17|c.1093A>T|p.Thr365Ser|1200/2327|1093/2085|365/694||,T|missense_variant|MODERATE|FES|ENSG00000182511|transcript|ENST00000394302.5|protein_coding|9/17|c.1093A>T|p.Thr365Ser|1178/2133|1093/2046|365/681||,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000470152.6|nonsense_mediated_decay||n.*1581A>T|||||1053|,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000481665.5|retained_intron||n.*4902A>T|||||4902|,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000452243.5|protein_coding||c.*3416A>T|||||3416|WARNING_TRANSCRIPT_INCOMPLETE,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000559355.5|protein_coding||c.*3222A>T|||||3222|WARNING_TRANSCRIPT_NO_STOP_CODON,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000443697.1|protein_coding||c.*4889A>T|||||4889|WARNING_TRANSCRIPT_INCOMPLETE,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000494259.1|retained_intron||n.*492A>T|||||492|,T|downstream_gene_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000497945.2|retained_intron||n.*1106A>T|||||1106|,T|non_coding_transcript_exon_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000448367.5|processed_transcript|4/5|n.463A>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000496379.5|retained_intron|3/5|n.341A>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000462476.1|retained_intron|3/3|n.367A>T||||||,T|non_coding_transcript_exon_variant|MODIFIER|FES|ENSG00000182511|transcript|ENST00000464684.5|nonsense_mediated_decay|10/18|n.1267A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:904:880:32880:17:227:0,-249.58,-2935.73\\t0/0:99:183:179:6954:4:68:0,-48.7986,-619.223\n9\\t130664844\\t.\\tC\\tG\\t0.0\\tPASS\\tSSC=108.925;TYPE=snp;ANN=G|missense_variant|MODERATE|PRDM12|ENSG00000130711|transcript|ENST00000253008.2|protein_coding|1/5|c.191C>G|p.Thr64Ser|251/2476|191/1104|64/367||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:381:381:15151:0:0:0,-114.692,-1362.33\\t0/0:99:45:43:1741:2:82:0,-5.76667,-149.116\n15\\t67827863\\t.\\tG\\tA\\t1.507E-15\\tPASS\\tSSC=298.045;TYPE=snp;ANN=A|missense_variant|MODERATE|SKOR1|ENSG00000188779|transcript|ENST00000341418.9|protein_coding|7/15|c.1855G>A|p.Glu619Lys|1855/3332|1855/2607|619/868||,A|missense_variant|MODERATE|SKOR1|ENSG00000188779|transcript|ENST00000380035.2|protein_coding|2/9|c.2035G>A|p.Glu679Lys|2093/3675|2035/2898|679/965||,A|missense_variant|MODERATE|SKOR1|ENSG00000188779|transcript|ENST00000554240.5|protein_coding|2/9|c.1918G>A|p.Glu640Lys|2032/3597|1918/2781|640/926||,A|missense_variant|MODERATE|SKOR1|ENSG00000188779|transcript|ENST00000554054.5|protein_coding|2/9|c.1951G>A|p.Glu651Lys|2038/3620|1951/2814|651/937||,A|upstream_gene_variant|MODIFIER|RP11-34F13.3|ENSG00000259410|transcript|ENST00000558889.5|lincRNA||n.-4862G>A|||||4862|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1076:1076:42423:0:0:0,-323.908,-3813.94\\t0/0:99:124:121:4901:3:123:0,-25.8629,-429.472\n14\\t95711797\\t.\\tG\\tA\\t3.05875E-14\\tPASS\\tSSC=107.617;TYPE=snp;ANN=A|synonymous_variant|LOW|TCL1A|ENSG00000100721|transcript|ENST00000402399.5|protein_coding|3/4|c.303C>T|p.Asp101Asp|433/1395|303/345|101/114||,A|synonymous_variant|LOW|TCL1A|ENSG00000100721|transcript|ENST00000554012.5|protein_coding|3/4|c.303C>T|p.Asp101Asp|433/1391|303/345|101/114||,A|synonymous_variant|LOW|TCL1A|ENSG00000100721|transcript|ENST00000555202.1|protein_coding|3/3|c.303C>T|p.Asp101Asp|367/717|303/345|101/114||,A|synonymous_variant|LOW|TCL1A|ENSG00000100721|transcript|ENST00000556450.5|protein_coding|3/4|c.303C>T|p.Asp101Asp|335/872|303/345|101/114||,A|synonymous_variant|LOW|TCL1A|ENSG00000100721|transcript|ENST00000557043.4|protein_coding|3/4|c.120C>T|p.Asp40Asp|226/980|120/162|40/53||,A|3_prime_UTR_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000555886.5|nonsense_mediated_decay|4/5|n.*386C>T|||||957|,A|3_prime_UTR_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000556156.1|nonsense_mediated_decay|3/4|n.*540C>T|||||957|,A|upstream_gene_variant|MODIFIER|RP11-164H13.1|ENSG00000257275|transcript|ENST00000556386.1|antisense||n.-3683G>A|||||3683|,A|intron_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000554119.5|nonsense_mediated_decay|2/2|n.*534+423C>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|RP11-164H13.1|ENSG00000257275|transcript|ENST00000547644.6|antisense|1/3|n.51G>A||||||,A|non_coding_transcript_exon_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000555886.5|nonsense_mediated_decay|4/5|n.*386C>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000553467.1|retained_intron|1/2|n.166C>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|RP11-164H13.1|ENSG00000257275|transcript|ENST00000553445.5|antisense|1/3|n.41G>A||||||,A|non_coding_transcript_exon_variant|MODIFIER|TCL1A|ENSG00000100721|transcript|ENST00000556156.1|nonsense_mediated_decay|3/4|n.*540C>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:451:449:17679:2:78:0,-128.362,-1582.21\\t0/0:99:107:104:4135:3:123:0,-20.7454,-360.63\n12\\t52428367\\t.\\tT\\tC\\t1.65146E-14\\tPASS\\tSSC=9.68008;TYPE=snp;ANN=C|missense_variant|MODERATE|KRT75|ENSG00000170454|transcript|ENST00000252245.5|protein_coding|7/9|c.1271A>G|p.Lys424Arg|1492/2324|1271/1656|424/551||,C|non_coding_transcript_exon_variant|MODIFIER|RP11-1020M18.10|ENSG00000257500|transcript|ENST00000548135.1|antisense|3/3|n.502T>C||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:72:70:2817:2:82:0,-13.8945,-245.835\\t0/0:99:14:14:555:0:0:0,-4.21442,-50.2823\n17\\t7890682\\t.\\tG\\tA\\t0.0\\tPASS\\tSSC=162.369;TYPE=snp;OLD_VARIANT=17:7890681:AG/AA;ANN=A|missense_variant|MODERATE|CHD3|ENSG00000170004|transcript|ENST00000358181.8|protein_coding|3/39|c.325G>A|p.Glu109Lys|535/7286|325/5901|109/1966||,A|missense_variant|MODERATE|CHD3|ENSG00000170004|transcript|ENST00000330494.11|protein_coding|3/40|c.325G>A|p.Glu109Lys|475/7328|325/6003|109/2000||,A|missense_variant|MODERATE|CHD3|ENSG00000170004|transcript|ENST00000380358.8|protein_coding|3/40|c.502G>A|p.Glu168Lys|503/7356|502/6180|168/2059||,A|upstream_gene_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000572579.1|retained_intron||n.-2604G>A|||||2604|,A|upstream_gene_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000571249.1|protein_coding||c.-3149G>A|||||3147|WARNING_TRANSCRIPT_INCOMPLETE,A|upstream_gene_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000452447.1|protein_coding||c.-54G>A|||||53|WARNING_TRANSCRIPT_NO_START_CODON,A|upstream_gene_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000479080.1|retained_intron||n.-3872G>A|||||3872|,A|downstream_gene_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000574022.1|processed_transcript||n.*77G>A|||||77|,A|non_coding_transcript_exon_variant|MODIFIER|CHD3|ENSG00000170004|transcript|ENST00000570758.1|processed_transcript|2/2|n.166G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1115:1081:38357:31:604:0,-285.873,-3393.65\\t0/0:99:493:477:17187:13:275:0,-123.504,-1519.68\n22\\t50249162\\t.\\tT\\tA\\t1.6876E-14\\tPASS\\tSSC=299;TYPE=snp;ANN=A|missense_variant|MODERATE|HDAC10|ENSG00000100429|transcript|ENST00000216271.9|protein_coding|8/20|c.697A>T|p.Met233Leu|1050/2687|697/2010|233/669||,A|missense_variant|MODERATE|HDAC10|ENSG00000100429|transcript|ENST00000349505.4|protein_coding|8/19|c.697A>T|p.Met233Leu|697/1950|697/1950|233/649||,A|missense_variant|MODERATE|HDAC10|ENSG00000100429|transcript|ENST00000448072.5|protein_coding|8/18|c.697A>T|p.Met233Leu|905/2133|697/1860|233/619||,A|3_prime_UTR_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000415993.5|nonsense_mediated_decay|7/18|n.*325A>T|||||902|,A|3_prime_UTR_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000626012.2|protein_coding|7/19|c.*309A>T|||||902|,A|upstream_gene_variant|MODIFIER|TUBGCP6|ENSG00000128159|transcript|ENST00000248846.9|protein_coding||c.-4703A>T|||||4598|,A|upstream_gene_variant|MODIFIER|TUBGCP6|ENSG00000128159|transcript|ENST00000439308.6|protein_coding||c.-4703A>T|||||4191|,A|upstream_gene_variant|MODIFIER|TUBGCP6|ENSG00000128159|transcript|ENST00000498611.5|retained_intron||n.-4170A>T|||||4170|,A|upstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000475965.1|retained_intron||n.-707A>T|||||707|,A|upstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000476310.5|retained_intron||n.-87A>T|||||87|,A|upstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000497952.5|retained_intron||n.-1214A>T|||||1214|,A|upstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000496235.5|retained_intron||n.-790A>T|||||790|,A|upstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000471375.5|retained_intron||n.-122A>T|||||122|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000215659.12|protein_coding||c.*4239A>T|||||3741|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000395780.5|protein_coding||c.*4239A>T|||||3741|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000622558.4|protein_coding||c.*4239A>T|||||3741|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000497738.1|retained_intron||n.*4691A>T|||||4691|,A|downstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000497483.1|processed_transcript||n.*957A>T|||||957|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000496942.5|retained_intron||n.*4619A>T|||||4619|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000482969.5|retained_intron||n.*4626A>T|||||4626|,A|downstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000488270.1|retained_intron||n.*125A>T|||||125|,A|downstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000482213.1|retained_intron||n.*1095A>T|||||1095|,A|downstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000489424.5|processed_transcript||n.*697A>T|||||697|,A|downstream_gene_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000470965.1|processed_transcript||n.*706A>T|||||706|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000488504.5|retained_intron||n.*3741A>T|||||3741|,A|downstream_gene_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000467891.5|retained_intron||n.*3758A>T|||||3758|,A|intron_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000429374.5|nonsense_mediated_decay|5/13|n.*175+473A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000415993.5|nonsense_mediated_decay|7/18|n.*325A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000454936.5|nonsense_mediated_decay|8/16|n.697A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000477814.5|retained_intron|1/10|n.47A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|MAPK12|ENSG00000188130|transcript|ENST00000497036.5|processed_transcript|14/26|n.4969A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000470378.1|retained_intron|1/3|n.42A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000496909.5|processed_transcript|6/8|n.556A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000483222.5|processed_transcript|7/19|n.744A>T||||||,A|non_coding_transcript_exon_variant|MODIFIER|HDAC10|ENSG00000100429|transcript|ENST00000498366.5|processed_transcript|7/19|n.806A>T||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1398:1358:51345:37:603:0,-368.432,-4564.43\\t0/0:99:247:241:9044:4:48:0,-69.4324,-808.981\n4\\t87127027\\t.\\tG\\tT\\t1.20541E-13\\tPASS\\tSSC=198.588;TYPE=snp;ANN=T|missense_variant&splice_region_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000307808.10|protein_coding|14/20|c.2792G>T|p.Gly931Val|3212/9390|2792/3633|931/1210||,T|missense_variant&splice_region_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000395146.8|protein_coding|15/21|c.2813G>T|p.Gly938Val|3088/9285|2813/3657|938/1218||,T|missense_variant&splice_region_variant|MODERATE|AFF1|ENSG00000172493|transcript|ENST00000544085.5|protein_coding|16/23|c.2789G>T|p.Gly930Val|2801/3644|2789/3618|930/1205||,T|downstream_gene_variant|MODIFIER|AFF1|ENSG00000172493|transcript|ENST00000503369.1|retained_intron||n.*1750G>T|||||1750|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1300:1267:44359:33:516:0,-344.749,-3942.2\\t0/0:99:526:514:18264:11:132:0,-146.161,-1630.48\n2\\t37228986\\t.\\tA\\tG\\t0.0\\tPASS\\tSSC=220.397;TYPE=snp;ANN=G|synonymous_variant|LOW|CEBPZ|ENSG00000115816|transcript|ENST00000234170.9|protein_coding|2/16|c.207T>C|p.Asp69Asp|353/3463|207/3165|69/1054||,G|synonymous_variant|LOW|CEBPZ|ENSG00000115816|transcript|ENST00000446769.1|protein_coding|2/2|c.60T>C|p.Asp20Asp|148/526|60/438|20/145||WARNING_TRANSCRIPT_NO_STOP_CODON,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000002125.8|protein_coding||c.-2720A>G|||||2680|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000336237.10|protein_coding||c.-2720A>G|||||2693|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000474154.5|retained_intron||n.-2677A>G|||||2677|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000469831.1|retained_intron||n.-2781A>G|||||2781|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000416653.5|protein_coding||c.-2921A>G|||||2781|WARNING_TRANSCRIPT_NO_STOP_CODON,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000439218.5|protein_coding||c.-2965A>G|||||2834|WARNING_TRANSCRIPT_INCOMPLETE,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000431821.5|protein_coding||c.-2796A>G|||||2703|WARNING_TRANSCRIPT_NO_STOP_CODON,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000455230.5|nonsense_mediated_decay||n.-2720A>G|||||2645|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000483999.5|processed_transcript||n.-2790A>G|||||2790|,G|upstream_gene_variant|MODIFIER|NDUFAF7|ENSG00000003509|transcript|ENST00000432075.1|protein_coding||c.-3075A>G|||||2856|WARNING_TRANSCRIPT_NO_STOP_CODON\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1561:1519:59283:41:591:0,-416.639,-5276.18\\t0/0:99:705:692:27124:12:174:0,-196.242,-2422.79\n19\\t18768666\\t.\\tT\\tA\\t0.0\\tPASS\\tSSC=95.7259;TYPE=snp;ANN=A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000338797.10|protein_coding|11/15|c.1241T>A|p.Leu414Gln|1266/6929|1241/1953|414/650||,A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000321949.12|protein_coding|10/14|c.1193T>A|p.Leu398Gln|1219/2501|1193/1905|398/634||,A|missense_variant|MODERATE|CRTC1|ENSG00000105662|transcript|ENST00000594658.5|protein_coding|10/14|c.1070T>A|p.Leu357Gln|1102/2384|1070/1782|357/593||,A|intron_variant|MODIFIER|CRTC1|ENSG00000105662|transcript|ENST00000601916.1|protein_coding|8/9|c.786+3138T>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:743:673:25017:67:1139:0,-120.21,-2146.77\\t0/0:99:101:97:3442:4:64:0,-24.4841,-303.882\n3\\t187725066\\t.\\tG\\tC\\t3.50176E-14\\tPASS\\tSSC=251.531;TYPE=snp;ANN=C|missense_variant|MODERATE|BCL6|ENSG00000113916|transcript|ENST00000232014.8|protein_coding|9/10|c.1852C>G|p.Arg618Gly|2381/2710|1852/2121|618/706||,C|missense_variant|MODERATE|BCL6|ENSG00000113916|transcript|ENST00000406870.6|protein_coding|9/10|c.1852C>G|p.Arg618Gly|2219/3569|1852/2121|618/706||,C|missense_variant|MODERATE|BCL6|ENSG00000113916|transcript|ENST00000450123.6|protein_coding|7/8|c.1684C>G|p.Arg562Gly|1708/2003|1684/1953|562/650||,C|missense_variant|MODERATE|BCL6|ENSG00000113916|transcript|ENST00000621333.4|protein_coding|8/9|c.1684C>G|p.Arg562Gly|2049/3399|1684/1953|562/650||,C|3_prime_UTR_variant|MODIFIER|BCL6|ENSG00000113916|transcript|ENST00000419510.6|nonsense_mediated_decay|9/10|n.*1622C>G|||||6796|,C|intron_variant|MODIFIER|RP11-211G3.3|ENSG00000228804|transcript|ENST00000449623.5|antisense|2/2|n.347-8458G>C||||||,C|intron_variant|MODIFIER|RP11-211G3.3|ENSG00000228804|transcript|ENST00000437407.1|antisense|2/2|n.294-7305G>C||||||,C|non_coding_transcript_exon_variant|MODIFIER|BCL6|ENSG00000113916|transcript|ENST00000419510.6|nonsense_mediated_decay|9/10|n.*1622C>G||||||,C|non_coding_transcript_exon_variant|MODIFIER|BCL6|ENSG00000113916|transcript|ENST00000479110.1|retained_intron|2/2|n.138C>G||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1004:1002:39973:0:0:0,-301.632,-3593.14\\t0/0:99:229:224:8891:5:205:0,-50.1009,-780.789\n17\\t7847274\\t.\\tT\\tA\\t0.0\\tPASS\\tSSC=231.21;TYPE=snp;ANN=A|missense_variant|MODERATE|KDM6B|ENSG00000132510|transcript|ENST00000254846.9|protein_coding|10/22|c.1079T>A|p.Leu360His|1468/6713|1079/5049|360/1682||,A|missense_variant|MODERATE|KDM6B|ENSG00000132510|transcript|ENST00000448097.6|protein_coding|10/23|c.1079T>A|p.Leu360His|1410/5422|1079/4932|360/1643||,A|missense_variant|MODERATE|KDM6B|ENSG00000132510|transcript|ENST00000570632.1|protein_coding|8/9|c.881T>A|p.Leu294His|1135/1339|881/1085|294/360||WARNING_TRANSCRIPT_INCOMPLETE,A|downstream_gene_variant|MODIFIER|KDM6B|ENSG00000132510|transcript|ENST00000571047.5|processed_transcript||n.*1927T>A|||||1927|,A|downstream_gene_variant|MODIFIER|KDM6B|ENSG00000132510|transcript|ENST00000575521.1|processed_transcript||n.*2302T>A|||||2302|\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1448:1359:49260:87:1196:0,-327.635,-4321.17\\t0/0:99:381:366:13261:13:196:0,-96.4245,-1174.77\n19\\t1615670\\t.\\tA\\tG\\t0.0\\tPASS\\tSSC=174.592;TYPE=snp;ANN=G|synonymous_variant|LOW|TCF3|ENSG00000071564|transcript|ENST00000395423.7|protein_coding|15/16|c.1449T>C|p.Pro483Pro|1793/2779|1449/1977|483/658||,G|downstream_gene_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000590605.2|retained_intron||n.*121T>C|||||121|,G|downstream_gene_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000586410.2|protein_coding||c.*141T>C|||||141|WARNING_TRANSCRIPT_NO_START_CODON,G|downstream_gene_variant|MODIFIER|RNU6-1223P|ENSG00000252933|transcript|ENST00000517124.1|snRNA||n.*822T>C|||||822|,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000262965.9|protein_coding|17/18|c.1586+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000611869.4|protein_coding|16/17|c.1586+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000610756.4|retained_intron|8/9|n.944+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000593064.5|protein_coding|2/4|c.233+16T>C||||||WARNING_TRANSCRIPT_NO_START_CODON,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000587425.5|protein_coding|1/3|c.119+16T>C||||||WARNING_TRANSCRIPT_NO_START_CODON,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000585731.5|protein_coding|1/2|c.113+16T>C||||||WARNING_TRANSCRIPT_NO_START_CODON,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000588136.5|protein_coding|16/18|c.1586+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000590684.5|protein_coding|3/4|c.290+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000585855.2|nonsense_mediated_decay|2/4|n.176+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000586164.1|nonsense_mediated_decay|1/2|n.113+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000453954.6|protein_coding|17/19|c.1673+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000344749.9|protein_coding|15/16|c.1433+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000592395.5|nonsense_mediated_decay|1/4|n.113+16T>C||||||,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000592628.5|protein_coding|2/4|c.161+16T>C||||||WARNING_TRANSCRIPT_NO_START_CODON,G|intron_variant|MODIFIER|TCF3|ENSG00000071564|transcript|ENST00000590436.5|protein_coding|3/5|c.572+16T>C||||||WARNING_TRANSCRIPT_NO_START_CODON\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:942:888:29718:52:709:0,-219.144,-2608.64\\t0/0:99:148:148:5063:0:0:0,-44.5524,-455.574\n16\\t30979221\\t.\\tACG\\tCCC\\t4.31541E-14\\tPASS\\tSSC=316.342;TYPE=complex;OLD_MULTIALLELIC=16:30979221:ACG/CCC/CCG;ANN=CCC|missense_variant|MODERATE|SETD1A|ENSG00000099381|transcript|ENST00000262519.12|protein_coding|14/19|c.3435_3437delACGinsCCC|p.Arg1146Pro|4121/6903|3435/5124|1145/1707||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:1470:1264:45150:34:455:0,-382.387,-4069.26\\t0/0:99:248:213:7749:2:24:0,-66.0449,-699.417\n11\\t32435204\\t.\\tC\\tT\\t0.0\\tPASS\\tSSC=114.344;TYPE=snp;ANN=T|missense_variant|MODERATE|WT1|ENSG00000184937|transcript|ENST00000332351.7|protein_coding|1/10|c.142G>A|p.Ala48Thr|427/3122|142/1554|48/517||,T|missense_variant|MODERATE|WT1|ENSG00000184937|transcript|ENST00000452863.7|protein_coding|1/9|c.142G>A|p.Ala48Thr|142/2768|142/1494|48/497||,T|missense_variant|MODERATE|WT1|ENSG00000184937|transcript|ENST00000448076.7|protein_coding|1/10|c.142G>A|p.Ala48Thr|332/2114|142/1545|48/514||,T|upstream_gene_variant|MODIFIER|WT1|ENSG00000184937|transcript|ENST00000379079.6|protein_coding||c.-4665G>A|||||4391|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000395900.1|antisense||n.-375C>T|||||375|,T|upstream_gene_variant|MODIFIER|WT1|ENSG00000184937|transcript|ENST00000530998.5|protein_coding||c.-4665G>A|||||4391|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000459866.1|antisense||n.-572C>T|||||572|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000442957.1|antisense||n.-3166C>T|||||3166|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000494911.5|antisense||n.-314C>T|||||314|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000478367.5|antisense||n.-2419C>T|||||2419|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000525436.1|antisense||n.-597C>T|||||597|,T|upstream_gene_variant|MODIFIER|WT1-AS_1|ENSG00000278822|transcript|ENST00000619639.1|misc_RNA||n.-534C>T|||||534|,T|upstream_gene_variant|MODIFIER|WT1-AS_2|ENSG00000273677|transcript|ENST00000613208.1|misc_RNA||n.-1107C>T|||||1107|,T|upstream_gene_variant|MODIFIER|WT1-AS_3|ENSG00000278045|transcript|ENST00000613262.1|misc_RNA||n.-1593C>T|||||1593|,T|upstream_gene_variant|MODIFIER|WT1-AS_6|ENSG00000276530|transcript|ENST00000614919.1|misc_RNA||n.-3882C>T|||||3882|,T|upstream_gene_variant|MODIFIER|WT1-AS_7|ENSG00000273908|transcript|ENST00000426618.3|misc_RNA||n.-4512C>T|||||4512|,T|upstream_gene_variant|MODIFIER|WT1-AS_8|ENSG00000277119|transcript|ENST00000615200.1|misc_RNA||n.-4905C>T|||||4905|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000612620.1|misc_RNA||n.-1866C>T|||||1866|,T|upstream_gene_variant|MODIFIER|WT1-AS|ENSG00000183242|transcript|ENST00000615677.1|misc_RNA||n.-2419C>T|||||2419|,T|non_coding_transcript_exon_variant|MODIFIER|WT1|ENSG00000184937|transcript|ENST00000379077.7|nonsense_mediated_decay|1/10|n.142G>A||||||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:407:407:16227:0:0:0,-122.519,-1459.02\\t0/0:99:53:51:2047:2:82:0,-8.17491,-176.625\n16\\t3729155\\t.\\tA\\tT\\t0.0\\tPASS\\tSSC=200.889;TYPE=snp;ANN=T|synonymous_variant|LOW|CREBBP|ENSG00000005339|transcript|ENST00000262367.9|protein_coding|31/31|c.5892T>A|p.Arg1964Arg|6702/10803|5892/7329|1964/2442||,T|synonymous_variant|LOW|CREBBP|ENSG00000005339|transcript|ENST00000382070.7|protein_coding|30/30|c.5778T>A|p.Arg1926Arg|5982/7598|5778/7215|1926/2404||,T|downstream_gene_variant|MODIFIER|CREBBP|ENSG00000005339|transcript|ENST00000571763.5|retained_intron||n.*2753T>A|||||2753|,T|downstream_gene_variant|MODIFIER|CREBBP|ENSG00000005339|transcript|ENST00000576720.1|retained_intron||n.*2756T>A|||||2756|,T|downstream_gene_variant|MODIFIER|CREBBP|ENSG00000005339|transcript|ENST00000637492.1|protein_coding||c.*1357T>A|||||1357|WARNING_TRANSCRIPT_INCOMPLETE\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:99:839:804:27986:26:312:0,-221.796,-2488.24\\t0/0:99:98:91:3314:7:94:0,-20.9068,-289.701\n19\\t49596858\\t.\\tG\\tA\\t23.8449\\tPASS\\tSSC=11.1436;TYPE=snp;ANN=A|synonymous_variant|LOW|PRR12|ENSG00000126464|transcript|ENST00000418929.6|protein_coding|4/14|c.2523G>A|p.Pro841Pro|2535/6955|2523/6111|841/2036||,A|synonymous_variant|LOW|PRR12|ENSG00000126464|transcript|ENST00000615927.1|protein_coding|2/12|c.60G>A|p.Pro20Pro|60/4479|60/3648|20/1215||\\tGT:GQ:DP:RO:QR:AO:QA:GL\\t0/0:65.1424:14:14:520:0:0:0,-4.21442,-47.1235\\t1/1:0.087987:2:0:0:2:73:-6.92919,-0.60206,0\n`\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n lengths: false,\n peptideMutationPosition1: false,\n peptideMutationPosition2: false,\n frameshiftOverlap: false,\n maximumPeptideLength: false,\n table_state_1: false,\n table_state_2: false,\n }\n /**\n input_vcf_text: string\n peptide_length: int range(9-40, default=20)\n peptide_mutation_position1 number field: range(1-peptide_length)\n peptide_mutation_position2 number field: range(1-peptide_length)\n by default, this should be null\n frameshift_overlap: int range(1-20, default=9)\n min_length_near_start_stop: int range(5-peptide_lenth)\n maximum_peptide_length: int range(peptide_length +1 - peptide_length+10, default=peptide_length+3)\n reference_genome: text\n * */\n\n peptideLengthSliderOptions: Options = { // ngx-slider option\n showTicks: true,\n disabled: false,\n stepsArray: _.map(_.range(9, 41), (num): CustomStepDefinition => {return {value: num, legend: num % 5 === 0 ? `${num}` : undefined}}),\n minRange: 1,\n noSwitching: true,\n hideLimitLabels: true\n };\n /** Peptide Length slider: The '9' and '40' above the control aren't necessary and don't seem to be aligned with the notches. I would suggest to remove them altogether. Also, to be more consistent with TC1, can we move all of the labels above the line? Potentially move the selected length to below the line.*/\n // peptideLengthSliderOptions: Options = {\n // floor: 9,\n // ceil: 40,\n // showTicksValues: true,\n // translate: (value) => {\n // if (value === 9) return '';\n // if (value === 40) return '';\n // else return `${value}`;\n // },\n // // @ts-ignore\n // stepsArray: _.map(_.range(9, 41), (num) => {\n // return {value: num, legend: num % 5 === 0 ? num : null}\n // }),\n // }\n\n /** sequence files */\n // maxCharacters = 1000000;\n maxLines = 5000;\n files: any[] = [];\n fileName = '';\n\n pipelineUrl: string = ''\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n vcf_download_uri: ''\n };\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n mutgenLoading: boolean = false;\n referenceGenomes: any[] = [];\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private fb: UntypedFormBuilder,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private route: ActivatedRoute,\n private router: Router,\n private location: Location,\n private titleService: Title,\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n ) {\n }\n\n ngOnInit(): void {\n\n /** Load default vcf file*/\n this.http.get(\"assets/vcf-files/syntheticX.rand.speedseq.nrm.decomp.ann.100.vcf\", {responseType: 'text'}).subscribe(data =>{\n console.log(data);\n this.defaultInputVcfText = data;\n })\n\n this.getMutGenList()\n\n this.mutgenForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n // input_vcf_text_id INSTEAD OF inputSequenceTextURIs\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_vcf_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.vcf_download_uri = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n\n /** cancel run all */\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n // this.loading = this.tools[this.index]?.loading\n // if (this.tools[this.index]?.submitted){this.submitted = true}\n // if (this.tools[this.index].appliedFilters){this.submitted = true}\n // this.componentDisabled = value[this.index].disabled;\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges() // TODO uncomment\n\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n\n this.eventsSubscription.unsubscribe();\n this.runAllSubscription.unsubscribe();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const run = history.state?.run;\n // console.log(run);\n run && this.onRunMain();\n }, 0)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if(changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges t-cell')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n get inputSequenceText(){\n return this.mutgenForm.get('inputVcfText')?.value\n }\n\n get peptideMutationPosition1() {\n return this.mutgenForm.get('peptideMutationPosition1')?.value;\n }\n\n get peptideMutationPosition2() {\n return this.mutgenForm.get('peptideMutationPosition2')?.value;\n }\n\n onChanges(): void {\n this.mutgenForm.get('peptideMutationPosition1')?.valueChanges.subscribe(() => {\n this.inputChange.peptideMutationPosition1 = this.submitted\n });\n this.mutgenForm.get('peptideMutationPosition2')?.valueChanges.subscribe(() => {\n this.inputChange.peptideMutationPosition2 = this.submitted\n });\n this.mutgenForm.get('frameshiftOverlap')?.valueChanges.subscribe(() => {\n this.inputChange.frameshiftOverlap = this.submitted\n });\n this.mutgenForm.get('maximumPeptideLength')?.valueChanges.subscribe(() => {\n this.inputChange.maximumPeptideLength = this.submitted\n });\n }\n\n onRunMain() {\n // if(this.mutgenForm.invalid){\n // this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n // this.open(this.alertModal)\n // return;\n // }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n // this.onRun2()\n }\n }\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.mutgenForm.value.inputVcfText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertMutgenForm(this.mutgenForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"Mutated Peptide Generator\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mutgen\",\n \"input_vcf_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const initToolLoading = Object.assign(initMutatedPeptideGeneratorTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(initToolLoading, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n this.postPipelineAPI(params);\n }\n\n // onRun2() {\n //\n // }\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n } else if(file.type==='application/x-gzip') {\n console.log('GZIPPED')\n this.prepareGzipFileList($event)\n } else {\n this.prepareSequenceFileList($event);\n }\n }\n\n /** Modal Functions */\n open(content: any) {\n this.modalOpen = true;\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n this.modalOpen = false;\n }, (reason) => {\n this.saveState = false;\n // this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n prepareSequenceFileList(files: Array) {\n /**\n * Reads vcf file and enters it via myForm.patchValue({inputVcfText: val});\n * */\n console.log(files);\n this.fileName = files[0].name;\n console.log(this.fileName)\n const reader = new FileReader();\n const myForm = this.mutgenForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n const w = isMaxLines(val, this.maxLines)\n if (w) {\n myForm.patchValue({inputVcfText: val});\n } else {\n this.alertService.add(`VCF is too long - ${this.maxLines.toLocaleString(\"en-US\")} lines max`, 'alert-danger');\n this.open(this.alertModal);\n }\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .vcf.gz, .vcf,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n prepareGzipFileList(files: Array) {\n /**\n * Reads vcf.gz file and enters it via myForm.patchValue({inputVcfText: val});\n * */\n console.log(files);\n this.fileName = files[0].name;\n console.log(this.fileName)\n const reader = new FileReader();\n const myForm = this.mutgenForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsArrayBuffer(item);\n reader.onload = () => {\n console.log(reader.result)\n // const val = 'asdfads'\n let val = ''\n try {\n val = pako.inflate(reader.result as pako.Data, { to: 'string' });\n } catch (error) {\n this.alertService.add(`Error reading file ${this.fileName}.\\nIf this file was compressed with bgzip, try recompressing with gzip.\\nOtherwise, contact support (help@iedb.org) for assistance.`, 'alert-danger');\n this.open(this.alertModal);\n console.log(error);\n }\n\n // console.log(val);\n const v = isASCII(val);\n\n if (v) {\n const w = isMaxLines(val, this.maxLines)\n if (w) {\n myForm.patchValue({inputVcfText: val});\n } else {\n this.alertService.add(`VCF is too long - ${this.maxLines.toLocaleString(\"en-US\")} lines max`, 'alert-danger');\n this.open(this.alertModal);\n }\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .vcf.gz, .vcf,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n onLengthChange(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * */\n this.inputChange.lengths = this.submitted;\n }\n onFrameshiftOverlapChange(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * */\n this.inputChange.frameshiftOverlap = this.submitted;\n }\n\n onMaximumPeptideLengthChange(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * */\n this.inputChange.maximumPeptideLength = this.submitted;\n }\n onPeptideMutationPosition1Change(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * */\n this.inputChange.peptideMutationPosition1 = this.submitted;\n }\n onPeptideMutationPosition2Change(changeContext: ChangeContext): void {\n /**\n * used in (userChangeEnd)\n * */\n this.inputChange.peptideMutationPosition2 = this.submitted;\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * params\n * getResults: boolean\n * false - used in 'Save Table State'\n * */\n /** initial set up */\n this.disableInputs(); // TODO uncomment this\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTool = Object.assign(initMutatedPeptideGeneratorTool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n console.log(resp.pipeline_id);\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n if (this.showEmailModal) {\n // this.open(this.emailModal);\n }\n this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n error => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n })\n }\n\n getResultsSetInterval(result_url: string) {\n /** */\n this.getResultsClicked = true\n\n // this.residue_table_order = [];\n // this.residue_table_columns = null;\n // this.residue_table = [[]]\n //\n // this.sequence_table = [[]]\n // this.allele_distances_table = [[]]\n // this.residue_table = [[]]\n this.snp_table = [[]]\n // this.processingPlots = []\n\n this.resultUrl = result_url;\n console.log(result_url)\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(`${result_url}?statusOnly=true`).subscribe(\n {\n next: resp => {\n console.log(resp);\n if (resp['status'] === 'error' || resp['errors']) {\n // this.errorMessages = resp['errors'];\n // this.warningMessages = resp['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n\n if (resp['status'] === 'done') {\n clearInterval(this.runSetInterval);\n\n this._pipelineService.getResults(result_url).subscribe(resp => {\n // clearInterval(this.runSetInterval);\n console.log(resp)\n this.defaultOrder = [[]]\n /** 1) Create Column */\n const data = resp['data']['results'];\n this.active = data[0].type // = 'unique_table' // this.active = 'scatter_plots'\n console.log(this.active)\n _.forEach(data, table => {\n if (table.type === 'snp') {\n /** snp_table_columns */\n this.snp_table_columns = _.map(table.table_columns, (column, i: number) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n return column\n });\n this.snp_table_order = [...this.defaultOrder];\n if (this.snp_table_columns) {\n this.snp_table = table.table_data;\n }\n // console.log(this.peptide_table_order);\n // console.log(this.peptide_table_columns);\n // console.log(this.peptide_table);\n /**\n scatterPlotData\n * = \n * 5 = allele\n *\n * indexA (9) = score-peptidea\n * indexB (14) = score-peptideb\n * */\n // TODO COMMENTED THIS OUT\n // _.forEach(table.table_data, (i) => {\n // // console.log(indexA)\n // // console.log(indexB)\n // if(this.scatterPlotData[i[5]]){ // already exists, push\n // this.scatterPlotData[i[5]].push({'peptidea': i[indexA], 'peptideb': i[indexB], 'sequenceA': i[1], 'sequenceB': i[2]})\n // } else { // else, create data and push alleles\n // this.scatterPlotData[i[5]] = [{'peptidea': i[indexA], 'peptideb': i[indexB], 'sequenceA': i[1], 'sequenceB': i[2]}]\n // this.scatterPlotAlleles.push(i[5])\n // }\n // })\n // console.error(this.scatterPlotData)\n }\n if (table.type === 'unique_peptide') {\n /** peptide_output_columns */\n this.unique_peptide_table_columns = _.map(table.table_columns, (column, i: number) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n return column\n });\n this.unique_peptide_table_order = [...this.defaultOrder];\n if (this.unique_peptide_table_columns) {\n this.unique_peptide_table = table.table_data;\n }\n }\n if (table.type === 'peptide') {\n /** output_columns */\n this.peptide_table_columns = _.map(table.table_columns, (column, i: number) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n\n return column\n });\n this.peptide_table_order = [...this.defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n }\n }\n })\n this.submitted = true; this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n\n this.enableInputs();\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n },\n error: error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.loading = false;\n }\n }\n )\n }, milliseconds);\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n\n // input parameters\n const peptideLength: number = 21;\n const peptideMutationPosition1: number = 11;\n const peptideMutationPosition2: number | null = null;\n const frameshiftOverlap: number = 9\n const minLengthNearStartStop = 16\n const maximumPeptideLength = 24\n\n this.mutgenForm.patchValue({\n inputVcfText: '',\n peptideLength,\n peptideMutationPosition1,\n peptideMutationPosition2,\n frameshiftOverlap,\n minLengthNearStartStop,\n maximumPeptideLength\n }, {emitEvent: false});\n }\n\n onCancel(){\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n this.inputChange.table_state_1 = false; this.inputChange.table_state_2 = false;\n // this.submitted = false;\n const currentTool = this.tools[this.index];\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onFilterApplied() {\n this.inputChange.table_state_1 = this.submitted;\n }\n onFilterApplied2() {\n this.inputChange.table_state_2 = this.submitted;\n }\n\n onClearTableState() {\n this.unique_peptide_table_columns = _.map(this.unique_peptide_table_columns, (c) => {\n c.filters = ['int', 'float'].includes(c.type) ? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state_1 = this.submitted;\n }\n\n onClearTable2State() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state_2 = this.submitted;\n }\n\n onSaveTableStateMain(table_name: string) {\n console.log(table_name)\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n switch (table_name) {\n case 'unique_peptide':\n this.onSaveTable1State();\n break;\n case 'peptide':\n this.onSaveTable2State();\n break;\n }\n }\n }\n onSaveTable1State() {\n const tool_group = 'mutgen'\n\n const params = this.params\n // create colObj and params\n console.log(this.unique_peptide_table_columns)\n console.log(this.peptide_table_columns)\n\n let colObj = columnListToObject(this.unique_peptide_table_columns, tool_group)\n let colObj2 = columnListToObject(this.peptide_table_columns, tool_group)\n\n const table_state = [\n {table: 'unique_peptide', columns: colObj},\n {table: 'peptide', columns: colObj2}\n ]\n this._stateService.insertTableStateToStage(table_state, this.index)\n // this._stateService.insertTableStateToStage({columns: colObj}, this.index)\n\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n\n stageTemp.table_state[0].columns = colObj\n\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.inputChange.table_state_1 = false;\n\n this.saveState = false;\n }\n\n onSaveTable2State() {\n const tool_group = 'mutgen'\n\n const params = this.params\n /** create colObj and params */\n let colObj = columnListToObject(this.unique_peptide_table_columns, tool_group)\n let colObj2 = columnListToObject(this.peptide_table_columns, tool_group)\n\n const table_state = [\n {table: 'unique_peptide', columns: colObj},\n {table: 'peptide', columns: colObj2 }\n ]\n this._stateService.insertTableStateToStage(table_state, this.index)\n\n const stages = params.stages;\n const stageTemp = stages[this.index];\n console.log(this.peptide_table_columns)\n console.log(stageTemp)\n\n stageTemp.table_state[1].columns = colObj2\n\n stages[this.index] = stageTemp\n params.stages = stages;\n /** run_stage_range */\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n /** appliedFilters */\n let appliedFilters = !_.isEmpty(colObj2);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.inputChange.table_state_2 = false;\n\n this.saveState = false;\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n // TODO - need to have a way to save table on confirm modal based on what table was saved - created a variable to keep track of what table is selected\n this.saveState ? this.onSaveTableStateMain('unique_peptide') : this.onRun();\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.emitIndex.emit(this.index);\n }\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n const input_vcf_text: string = this.defaultInputVcfText;\n /** Sequences */\n let sequences = this.mutgenForm.value.inputVcfText\n if(!sequences && this.index===0) {\n this._stateService.setInputVcfText(input_vcf_text);\n this.mutgenForm.controls.inputVcfText.setValue(input_vcf_text);\n }\n }\n\n enableInputs() {\n this.mutgenForm.controls['peptideMutationPosition1'].enable({emitEvent: false})\n this.mutgenForm.controls['peptideMutationPosition2'].enable({emitEvent: false})\n this.mutgenForm.controls['frameshiftOverlap'].enable({emitEvent: false})\n this.mutgenForm.controls['maximumPeptideLength'].enable({emitEvent: false})\n // this.mutgenForm.enable({emitEvent: false});\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: false});\n }\n\n disableInputs() {\n this.mutgenForm.controls['peptideMutationPosition1'].disable({emitEvent: false})\n this.mutgenForm.controls['peptideMutationPosition2'].disable({emitEvent: false})\n this.mutgenForm.controls['frameshiftOverlap'].disable({emitEvent: false})\n this.mutgenForm.controls['maximumPeptideLength'].disable({emitEvent: false})\n // this.mutgenForm.disable({emitEvent: false}); // this enables the slider for some reason, so disable the controls individually\n this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: true});\n }\n\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadOriginal() {\n /** download vcf file */\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.vcf_download_uri, this.http, 'vcf');\n }\n\n getMutGenList() {\n this.mutgenLoading = true;\n this.http.get(API_URL)\n .pipe().subscribe(\n (resp: any) => {\n // @ts-ignore\n console.log(resp)\n this.referenceGenomes = resp.reference_genomes\n // this.mhciPredictors = resp['predictors'];\n // console.log(this.mhciPredictors);\n // this.predictionOptions = _.filter(this.mhciPredictors, {'group': 'binding'});\n // this.basicProcessingPredictionOption = _.filter(this.mhciPredictors, {'group': 'binding', 'has_ic50': true})\n // this.processingOptions = _.filter(this.mhciPredictors, {'group': 'processing'});\n // this.peptideSimilarityOptions = _.filter(this.mhciPredictors, {'group': 'peptide_similarity'})\n // console.log(this.processingOptions)\n this.mutgenLoading = false;\n }\n )\n }\n}\n\n\n","
\n
\n

{{index + 1}}

\n
\n
\n\n
\n

Mutated Peptide Generator\n \"cedar\"\n

\n
\n \n \n \n \n
\n
\n\n \n \n
\n
Input Variant Calls (VCF)
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n VCF\n \n
\n
\n
\n  \n \n\n \n
\n Upload sequence file
(.vcf)\n
\n\n
\n \n  \n
\n
\n
\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n
\n\n \n
\n
Prediction Parameters
\n
\n
\n
\n\n \n
\n
\n \n
\n\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n\n
\n
\n\n\n\n
\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n\n \n
\n
\n \n
\n
\n \n
\n
\n Loading...\n
\n
\n \n Parameter changed since prediction.\n \n
\n\n
\n \n
\n
\n\n
\n\n\n\n\n\n\n\n\n
\n
\n\n
\n\n
\n \n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n\n
\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n \n
\n\n
\n \n\n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n \n \n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{tool.name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n","import {Component} from '@angular/core';\n\nexport const GLOBALS = {\n logo: 'assets/logos/iedb/IEDB-logo-blue.svg',\n};\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss']\n})\nexport class NavbarComponent {\n logoImage = GLOBALS.logo;\n status: boolean = false;\n\n constructor() {}\n\n}\n","\n","import {\n Component,\n OnInit,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n ElementRef,\n OnChanges, SimpleChanges\n} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {Title} from \"@angular/platform-browser\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {FormBuilder, UntypedFormGroup, FormControl, FormArray, FormGroupDirective} from \"@angular/forms\";\nimport {CdkDragDrop} from '@angular/cdk/drag-drop';\nimport { Location } from '@angular/common';\n\nimport {Observable, timer, of, from, Subject, Subscription} from \"rxjs\";\nimport {NgbModal, NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {Options, ChangeContext} from '@angular-slider/ngx-slider';\n\nimport Columns from \"../_global/Columns\";\nimport {PipelineService} from \"../services/pipeline-service/pipeline.service\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {SequenceParserService} from \"../services/sequence-parser/sequence-parser.service\";\n\nimport Stage from \"../_global/Stage\";\nimport PipelineParams from \"../_global/PipelineParams\";\nimport * as pipelineData from \"../services/data/cluster-sample.json\";\nimport * as pepmatchData from \"../services/data/pepmatch-mismatch-sample.json\";\nimport {\n initClusterTool, initParams, initClusterState, initTCellPredictionTool, initPepmatchTool\n} from \"../services/state-services/default-stage-states\";\nimport {isASCII, IsJsonString, ltrim} from \"../util/string-helpers\";\nimport Tool from \"../_global/Tool\";\nimport {AlertServiceService} from \"../services/alert-service/alert-service.service\";\nimport {columnListToObject} from \"../util/convert-columns\";\nimport {AlleleSearchService} from \"../services/allele-search/allele-search.service\";\nimport * as _ from \"lodash\";\nimport {environment} from \"../../environments/environment\";\nimport {debounce, takeUntil} from \"rxjs/operators\";\nimport onCsvDownloadAllClickedNew from '../util/on-csv-download';\nimport {isMaxLength} from \"../util/is-max-length\";\n\nconst API_URL = `${environment['api_url']}/api/v1/pepmatch`;\nconst EMAIL_URL = `${environment['api_url']}/api/v1/request`;\n\n@Component({\n selector: 'app-pepmatch',\n templateUrl: './pepmatch.component.html',\n styleUrls: ['./pepmatch.component.scss'],\n styles: [\n `\n\t\t\t.accordion-button::after {\n\t\t\t\tcontent: none;\n\t\t\t}\n\t\t`,\n ]\n})\nexport class PepmatchComponent implements OnInit, OnDestroy, OnChanges {\n\n sequencePlaceHolder = `Type/paste/drag a set of peptides (max: 1,000) into this box or click 'Run' to use the example sequence:\nDDEDSKQNIFHFLYR\nADPGPHLMGGGGRAK\nKAVELGVKLLHAFHT\nQLQNLGINPANIGLS\nHEVWFFGLQYVDSKG\n`\n\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() showEmailModal: boolean = false;\n\n @Input() emailForm!: UntypedFormGroup;\n @Output() openEmailModal = new EventEmitter();\n\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n @Output() emitOnCancel = new EventEmitter();\n\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n unsubscribe$ = new Subject();\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n pipelineUrl: string = ''\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n /** Form variables */\n pepmatchForm!: UntypedFormGroup;\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters = 0\n seqFormat: string = 'Unknown';\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n proteome: false,\n mismatch: false,\n bestMatch: false,\n table_state: false,\n }\n\n options: Options = {\n floor: 0,\n ceil: 5,\n step: 1,\n showTicks: true,\n showTicksValues: true\n };\n\n predictionOptions: {display_name: string, short_name: string, group: string, source: string, has_ic50: boolean}[] = [];\n proteomeOptions: string[] = [];\n\n pepmatchLoading: boolean = false;\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n\n columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n currentOrder: any[] = [];\n defaultOrder: any[] = [];\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n active = 'peptide_table'\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n // private fb: FormBuilder,\n private location: Location,\n private titleService: Title,\n private _alleleSearchService: AlleleSearchService,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n ) { }\n\n ngOnInit(): void {\n this.getPepmatch()\n this.pepmatchForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n // inputSequenceTextURIs\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n\n /** cancel run all */\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n // this.loading = this.tools[this.index]?.loading\n // if (this.tools[this.index]?.submitted){this.submitted = true}\n // if (this.tools[this.index].appliedFilters){this.submitted = true}\n // this.componentDisabled = value[this.index].disabled;\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges()\n\n if(this.pepmatchForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.pepmatchForm.get('inputSequenceText')?.value)\n }\n // if(this.loading) {\n // this.disableInputs()\n // }\n\n // if(this.resultUrl) {\n // this.loading = true;\n // this.getResultsSetInterval(this.resultUrl);\n // }\n\n // filteredSequences\n // numOfAA\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n this.eventsSubscription.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges pepmatch')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n get inputSequenceText(){\n return this.pepmatchForm.get('inputSequenceText')?.value\n }\n\n /** Download Sequence File API calls*/\n\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadFasta() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n }\n onDownloadOriginal() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n uploadParameterFile($event: any, input: any) {\n console.log($event);\n $event.preventDefault();\n /**\n * Used for 'Upload' button to upload parameters\n * */\n // const {files} = $event.target;\n // files && this.onParameterFileDropped(files, input);\n }\n\n onDownloadParameter() {\n const data = this._pipelineService.convertPepmatchForm(this.pepmatchForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n getPepmatch() {\n this.pepmatchLoading = true;\n this.http.get(API_URL)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n // this.mhciPredictors = resp['predictors'];\n this.proteomeOptions = resp.optional_parameters[0].choice\n // console.log(resp.optional_parameters[0]);\n\n console.log(this.proteomeOptions)\n this.pepmatchLoading = false;\n }\n )\n }\n\n onChanges(): void {\n /** PredictionModel sessionStorage */\n this.pepmatchForm.get('proteome')?.valueChanges.subscribe(() => {\n this.inputChange.proteome = this.submitted\n });\n\n this.pepmatchForm.get('bestMatch')?.valueChanges.subscribe(() => {\n this.inputChange.bestMatch = this.submitted\n });\n\n const sequenceFieldChange = this.pepmatchForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n\n sequenceFieldChange?.subscribe(val => {\n // sessionStorage.setItem('sequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n }\n });\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.errorMessages = [];\n this.warningMessages = [];\n this.emitIndex.emit(this.index);\n }\n\n onRunMain() {\n if(this.pepmatchForm.invalid){\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }\n }\n }\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n const {input_sequence_text} = pepmatchData;\n /** Sequences */\n let sequences = this.pepmatchForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(input_sequence_text);\n this.pepmatchForm.controls.inputSequenceText.setValue(input_sequence_text);\n }\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n this.saveState ? this.onSaveTableState() : this.onRun();\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.pepmatchForm.value.inputSequenceText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepmatchForm(this.pepmatchForm)\n\n /** Table State */\n\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"Pepmatch\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"pepmatch\",\n \"input_sequence_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const initTool = Object.assign(initPepmatchTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(initTool, this.index);\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n this.postPipelineAPI(params);\n }\n\n onRun2() {\n\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index; // previous index\n\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepmatchForm(this.pepmatchForm)\n\n const initialStage = this.stages[this.index];\n console.log('initialStage');\n console.log(initialStage);\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage: Stage = {\n ...initialStage,\n result_url: undefined,\n stage_number: stage_number,\n input_stage_number: input_stage_number,\n input_parameters: inputParameters,\n table_state\n }\n\n // this.params.stages.push(stage);\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n console.log(params)\n\n /** set params */\n this._stateService.setParams(params);\n const loadingTCellPredictionTool = Object.assign(initPepmatchTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n console.log('loadingTCellPredictionTool')\n console.log(loadingTCellPredictionTool)\n this._stateService.insertTool(loadingTCellPredictionTool, this.index);\n\n this.postPipelineAPI(params);\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * params\n * getResults: boolean\n * false - used in 'Save Table State'\n * */\n /** initial set up */\n this.disableInputs();\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTool = Object.assign(initPepmatchTool, {\n submitted: false,\n loading: false,\n })\n this._stateService.insertTool(submittedTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n console.log(resp.pipeline_id);\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n if (this.showEmailModal) {\n // this.open(this.emailModal);\n }\n this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n this.inputChange.table_state = false;\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n error => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n })\n }\n\n getResultsSetInterval(result_url: string) {\n this.getResultsClicked = true\n\n this.sequence_table = [[]]\n this.peptide_table = [[]]\n\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(result_url).subscribe(resp => {\n if (resp['status'] === 'error' || resp['errors']) {\n this.errorMessages = resp['data']['errors'];\n this.warningMessages = resp['data']['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n if (resp['status'] === 'done') {\n /** 1) Create Column */\n const data = resp['data']['results'];\n console.log(data);\n\n this.active = data[0].type\n\n // this.active = data[0].table_data.length ? data[0].type : data[1].type\n\n _.forEach(data, table => {\n if (table.type === 'peptide_table') {\n this.columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // console.log(column);\n this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['name'] = source === 'core' ? display_name: `${source} ${display_name}`;\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n });\n this.currentOrder = [...this.defaultOrder];\n if (this.columns) {\n this.peptide_table = table.table_data;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedClusterTool = Object.assign(prevTool, {\n submitted: true,\n loading: false,\n })\n\n this._stateService.insertTool(submittedClusterTool, this.index);\n\n clearInterval(this.runSetInterval);\n this.enableInputs();\n\n this.submitted = true;\n this.loading = false;\n }\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n return column\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n // this.apiStatus = resp['status'];\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n }, error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.submitted = true;\n this.loading = false;\n })\n }, milliseconds);\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.pepmatchForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n // Allele Modal Functions\n\n open(content: any) {\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n }, (reason) => {\n this.saveState = false;\n // this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n // this.inputChange.table_state = false;\n // // this.submitted = false;\n const currentTool = this.tools[this.index]\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n }\n\n enableInputs() {\n // this.pepmatchForm.enable({emitEvent: false});\n this.pepmatchForm.controls['bestMatch'].enable({emitEvent: false})\n this.pepmatchForm.controls['proteome'].enable({emitEvent: false})\n this.options = Object.assign({}, this.options, {disabled: false});\n }\n\n disableInputs() {\n // this.pepmatchForm.disable({emitEvent: false});\n this.pepmatchForm.controls['bestMatch'].disable({emitEvent: false})\n this.pepmatchForm.controls['proteome'].disable({emitEvent: false})\n this.options = Object.assign({}, this.options, {disabled: true});\n }\n\n onFilterApplied() {\n this.inputChange.table_state = this.submitted;\n }\n\n onClearTableState() {\n this.columns = _.map(this.columns, (c) => {\n c.filters = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state = this.submitted;\n }\n\n onSaveTableStateMain() {\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n this.onSaveTableState();\n }\n }\n\n onSaveTableState() {\n const tool_group = 'pepmatch'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.columns, tool_group)\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n // stageTemp.table_state.columns = colObj;\n stageTemp.table_state = [{table: 'peptide_table', columns: colObj}];\n\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.saveState = false;\n }\n\n onNumOfMismatchesChange(changeContext: ChangeContext) : void {\n this.inputChange.mismatch = this.submitted;\n }\n\n sequenceParser(val: string) {\n\n const firstChar = ltrim(val)[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n if(val.length > this.maxCharacters) {\n // Skip parsing\n } else if (firstChar === '>' && this.sequenceParserService.fastaValidate(val)) { // fasta\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if ((firstChar === '{' || firstChar === '[') && IsJsonString(val)) { // json\n this.seqFormat = 'JSON'\n this.numOfCharacters = slicedVal.length\n } else if (firstLineNumOfElements === 2 && this.sequenceParserService.namedWhiteSpaceValidate(val, separator)) {\n // named white space\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val.length > 3 && !val.includes('>') && this.sequenceParserService.unnamedWhiteSpaceValidate(val)) {\n // Unnamed\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val === '') { // delete\n /**\n * Takes care of it up top - still need this if statement\n * */\n this.seqFormat = 'Unknown';\n this.numOfCharacters = 0\n } else { // error\n this.seqFormat = 'Error';\n this.numOfCharacters = 0\n }\n }\n\n}\n","
\n
\n

{{index + 1}}

\n
\n
\n
\n

PEPMatch

\n
\n \n \n \n \n
\n
\n \n \n
\n
Input Sequence(s)
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n \n FASTA\n \n \n Original\n \n
\n
\n
\n  \n\n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n Format: {{seqFormat}} | {{numOfCharacters | number}} characters\n \n \n\n \n Parameter changed since prediction.\n \n
\n
\n
\n\n \n
\n
Prediction Parameters
\n
\n \n \n  \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n \n Parameter changed since prediction.\n \n
\n
\n\n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n
\n \n Parameter changed since prediction.\n \n
\n
\n
\n \n \n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n
\n
\n\n
\n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n
\n\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n
\n\n
\n
    \n \n
  • \n Peptide Table\n \n \n
    \n \n No matches found with the given input peptides and selected parameters.\n \n
    \n\n
    \n
  • \n \n
  • \n Sequence Table \n \n \n \n
  • \n
\n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{stage.stage_display_name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{stage.stage_display_name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n
\n
\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Input, OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\nimport {FormGroupDirective, UntypedFormGroup} from \"@angular/forms\";\nimport {Title} from \"@angular/platform-browser\";\n\nimport {Observable, of, Subject, Subscription, timer} from \"rxjs\";\nimport _ from \"lodash\";\nimport {AlertServiceService} from \"../services/alert-service/alert-service.service\";\nimport Stage from \"../_global/Stage\";\nimport Tool from \"../_global/Tool\";\nimport PipelineParams from \"../_global/PipelineParams\";\nimport {environment} from \"../../environments/environment\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {Location} from \"@angular/common\";\nimport Columns from \"../_global/Columns\";\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {PipelineService} from \"../services/pipeline-service/pipeline.service\";\nimport {isASCII, IsJsonString, ltrim} from \"../util/string-helpers\";\nimport {isMaxLength} from \"../util/is-max-length\";\nimport onCsvDownloadAllClickedNew from \"../util/on-csv-download\";\nimport {debounce, takeUntil} from \"rxjs/operators\";\nimport {SequenceParserService} from \"../services/sequence-parser/sequence-parser.service\";\n// import {initPepmatchTool} from \"../services/state-services/default-stage-states\";\nimport {initPepxTool} from \"../services/state-services/default-stage-states\";\nimport * as pepxData from \"../services/data/pepx-sample.json\";\nimport {columnListToObject} from \"../util/convert-columns\";\nconst API_URL = `${environment['api_url']}/api/v1/pepx`;\n\n@Component({\n selector: 'app-pepx',\n templateUrl: './pepx.component.html',\n styleUrls: ['./pepx.component.scss']\n})\nexport class PepxComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n sequencePlaceHolder = `Ex:\nFVQMMTAK\nMRYVASYL\nEDIISFIK\nYEVSQLKD\nYISEHEHF\nAEMYVAKF\nSEFEARVI\nIESIVHAF\nKYGPVFSF\nWERLAVLV\nHETTFNSI\nYVHMVTHF\nKYPENFFL\nPNLAFLRF\nTEFIFTTI\nHESLSHEL\nYERSIVDY\nIEKLFQSV\nTDGKVFQF\nTEFKFPQI\nHQKQISSL\nNQKRLTVY\nHQVVVAKY\nLQNSVKQY\nHSVLIHEY\nVSAVVHEY\nMQKEITAL\nSQAIIHQY\nTQQLMRVY\n`\n\n datasourceLoading = false;\n datasetLoading = false;\n\n datasources: string[] = []\n dataSets: {dataset_id: number, nSamples: null | string, source: string, title: string}[] = []\n\n /** Pipeline form */\n @Input() formGroupName!: string\n @Input() index!: number;\n @Input() resultUrl!: string | undefined;\n @Input() showEmailModal: boolean = false;\n\n @Input() emailForm!: UntypedFormGroup;\n @Output() openEmailModal = new EventEmitter();\n\n\n @Output() emitIndex = new EventEmitter(); // used for run all\n @Output() emitOnCancel = new EventEmitter();\n\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('confirmModal') confirmModal!: ElementRef;\n\n @Input() events: Observable = of();\n private eventsSubscription: Subscription = new Subscription();\n\n @Input() runAllEvent: Observable = of();\n private runAllSubscription: Subscription = new Subscription();\n\n unsubscribe$ = new Subject();\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n params$: Observable = this._stateService.params$;\n\n stages: Stage[] = [];\n tools: Tool[] = [];\n pipelineId = '';\n params!: PipelineParams;\n pipelineUrl: string = ''\n\n swaggerUrl = `${environment['api_url']}/apidocs`\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: '',\n download_sequences: ''\n };\n\n /** Form variables */\n pepxForm!: UntypedFormGroup;\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n numOfCharacters = 0\n seqFormat: string = 'Unknown';\n\n inputChange = {\n /** Keeps track of inputChanges to highlight selected parameter table row*/\n input_sequence_text: false,\n quantitation_level: false,\n data_source: false,\n // lengths: false,\n // predictors: false,\n table_state_1: false,\n table_state_2: false,\n }\n\n // pepxLoading: boolean = false;\n\n /** API Call variables */\n runSetInterval: any;\n submitted = false;\n loading = false;\n getResultsClicked = true;\n\n pipelineLoading = false;\n tableStateSaving = false;\n saveState = false;\n\n errorMessages: string[] = [];\n warningMessages: string[] = [];\n\n peptide_table_columns: Columns[] | any;\n peptide_table: [(string | number)[]] = [[]]\n peptide_table_currentOrder: any[] = [];\n peptide_table_defaultOrder: any[] = [];\n\n peptide_gene_columns: Columns[] | any;\n peptide_gene_summary_table: [(string | number)[]] = [[]]\n peptide_gene_currentOrder: any[] = [];\n peptide_gene_defaultOrder: any[] = [];\n\n sequence_table_order: any[] = [];\n sequence_table_columns: Columns[] | any;\n sequence_table: [(string | number)[]] = [[]]\n\n /** sequence files */\n maxCharacters = 1000000;\n files: any[] = [];\n fileName = '';\n\n active = 'peptide_table'\n\n constructor(\n public alertService: AlertServiceService,\n private http: HttpClient,\n private location: Location,\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private rootFormGroup: FormGroupDirective, // pipeline component\n private sequenceParserService: SequenceParserService,\n private modalService: NgbModal,\n private titleService: Title,\n ) {\n }\n\n ngOnInit(): void {\n this.pepxForm = this.rootFormGroup.control.get(this.formGroupName) as UntypedFormGroup;\n\n const qlevel = this.pepxForm.controls['qlevel']?.value\n const datasource = this.pepxForm.controls['datasource']?.value\n this.getPepx(qlevel, datasource)\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.stages = value;\n this.errorMessages = this.stages[this.index]?.stage_messages!.errors\n this.warningMessages = this.stages[this.index]?.stage_messages!.warnings\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('tools$');\n console.log(value);\n this.tools = value;\n this.submitted = this.tools[this.index]?.submitted\n\n // inputSequenceTextURIs\n const inputSequenceTextId = this.tools[this.index]?.input_data_uri?.input_sequence_text_id\n\n this.synthesisDownloadLinks.sequence_list_json_uri = `${environment['api_url']}/api/v1/sequence_list_json/${inputSequenceTextId}`\n this.synthesisDownloadLinks.sequence_list_fasta_uri = `${environment['api_url']}/api/v1/sequence_list_fasta/${inputSequenceTextId}`\n this.synthesisDownloadLinks.download_sequences = `${environment['api_url']}/api/v1/download_sequences/${inputSequenceTextId}`\n /** pipeline Loading */\n this.pipelineLoading = _.some(this.tools, {loading: true})\n\n /** cancel run all */\n if(!this.tools[this.index]?.loading) {\n this.loading = false;\n clearInterval(this.runSetInterval)\n }\n // this.loading = this.tools[this.index]?.loading\n // if (this.tools[this.index]?.submitted){this.submitted = true}\n // if (this.tools[this.index].appliedFilters){this.submitted = true}\n // this.componentDisabled = value[this.index].disabled;\n })\n\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`params`);\n console.log(value);\n this.params = value;\n })\n\n this.eventsSubscription = this.events.subscribe(() => this.onRunMain());\n this.runAllSubscription = this.runAllEvent.subscribe(() => this.onRunAll())\n\n this.onChanges()\n\n if(this.pepxForm.get('inputSequenceText')?.value) {\n this.sequenceParser(this.pepxForm.get('inputSequenceText')?.value)\n }\n // if(this.loading) {\n // this.disableInputs()\n // }\n\n // if(this.resultUrl) {\n // this.loading = true;\n // this.getResultsSetInterval(this.resultUrl);\n // }\n\n // filteredSequences\n // numOfAA\n }\n\n ngOnDestroy() {\n clearInterval(this.runSetInterval);\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n this.eventsSubscription.unsubscribe();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n const run = history.state?.run;\n // console.log(run);\n run && this.onRunMain();\n }, 0)\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.resultUrl?.currentValue) {\n console.log(changes.resultUrl.currentValue);\n console.log('ngOnChanges pepx')\n this.loading = true;\n this.getResultsSetInterval(changes.resultUrl.currentValue);\n }\n }\n\n get styleResultContainer(){\n return !this.loading && this.submitted ? 'none' : 'dotted';\n }\n\n get inputSequenceText(){\n return this.pepxForm.get('inputSequenceText')?.value\n }\n\n get quantitationLevel(){\n return this.pepxForm.get('qlevel')?.value\n }\n\n /** Download Sequence File API calls*/\n\n onDownloadJson() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_json_uri, this.http, 'json');\n }\n\n onDownloadFasta() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.sequence_list_fasta_uri, this.http, 'fasta');\n }\n onDownloadOriginal() {\n onCsvDownloadAllClickedNew(this.synthesisDownloadLinks.download_sequences, this.http, 'txt');\n }\n\n onDownloadParameter() {\n const data = this._pipelineService.convertPepxForm(this.pepxForm)\n\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([JSON.stringify(data, null, 2)], ); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n a.download = 'parameter.json';\n\n a.click();\n }\n\n getPepx(qlevel: string = 'gene', datasource='Abelin') {\n // this.pepxLoading = true;\n this.datasetLoading = true\n this.datasourceLoading = true\n\n // https://api-nextgen-tools-dev.iedb.org/api/v1/pepx?datasource=Abelin\n this.http.get(`${API_URL}?qlevel=${qlevel}&datasource=${datasource}`)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n // this.mhciPredictors = resp['predictors'];\n console.log(resp)\n // @ts-ignore\n this.dataSets = resp.datasets\n console.log(this.dataSets)\n // @ts-ignore\n this.datasources = resp.datasources\n // this.pepxForm.patchValue({dataset_id: this.dataSets[0].dataset_id})\n // this.proteomeOptions = resp.optional_parameters[0].choice\n // console.log(resp.optional_parameters[0]);\n\n // console.log(this.proteomeOptions)\n // this.pepxLoading = false;\n this.datasetLoading = false\n this.datasourceLoading = false\n }\n )\n }\n\n\n /** File Download/Upload*/\n uploadSequenceFile($event: any) {\n $event.preventDefault();\n /**\n * Used for 'Upload' button\n * */\n const {files} = $event.target;\n files && this.onFileDropped(files);\n }\n\n onRunAll() {\n this.setDefaultFormValues()\n this.emitIndex.emit(this.index);\n }\n\n\n onRunMain() {\n if(this.pepxForm.invalid){\n this.alertService.add(`Input sequence text is too long. The maximum number of characters allowed is ${this.maxCharacters.toLocaleString()}\\nYour sequence contains ${this.inputSequenceText.length.toLocaleString()}`, 'alert-danger');\n this.open(this.alertModal)\n return;\n }\n\n const hasResult = _.find(this.tools.slice(this.index+1), (o) => o.submitted || o.loading)\n if(this.stages.length > 1 && hasResult) {\n this.open(this.confirmModal);\n } else {\n this.getResultsClicked = true;\n if(this.index===0) {\n this.onRun();\n } else {\n this.onRun2()\n }\n }\n }\n\n setDefaultFormValues() {\n /** defaults - use Sars placeholders*/\n const {input_sequence_text} = pepxData;\n /** Sequences */\n let sequences = this.pepxForm.value.inputSequenceText\n if(!sequences && this.index===0) {\n this._stateService.setInputSequenceText(input_sequence_text);\n this.pepxForm.controls.inputSequenceText.setValue(input_sequence_text);\n }\n }\n\n onChanges(): void {\n /** PredictionModel sessionStorage */\n // this.pepxForm.get('predictionModels')?.valueChanges.subscribe(val => {\n // // sessionStorage.setItem('predictionModels', JSON.stringify(val));\n // this.inputChange.predictors = this.submitted\n // });\n //\n const sequenceFieldChange = this.pepxForm.get('inputSequenceText')?.valueChanges.pipe(\n debounce(v => timer(1000)),\n );\n //\n // this.pepxForm.get('breakPeptides')?.valueChanges.subscribe(val => {\n // this.peptideLengthSliderOptions = Object.assign({}, this.peptideLengthSliderOptions, {disabled: val});\n // })\n //\n sequenceFieldChange?.subscribe(val => {\n console.log('sequenceFieldChange')\n // sessionStorage.setItem('sequences', val);\n this.sequenceParser(val);\n this.inputChange.input_sequence_text = this.submitted;\n if (val === '') { // delete\n this.filteredSequences = [];\n this.numOfAA = 0;\n }\n });\n }\n\n // Allele Modal Functions\n\n open(content: any) {\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n this.saveState = false;\n }, (reason) => {\n this.saveState = false;\n // this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n onCancel() {\n console.log(this.runSetInterval)\n clearInterval(this.runSetInterval);\n this.emitOnCancel.emit()\n\n // this.inputChange.table_state = false;\n // // this.submitted = false;\n const currentTool = this.tools[this.index]\n const unSubmittedTool = {\n ...currentTool,\n loading: false,\n submitted: false,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n this.warningMessages = [];\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n\n onReset() {\n this.alertService.clear();\n this.errorMessages = [];\n this.warningMessages = [];\n }\n\n enableInputs() {\n this.pepxForm.controls['qlevel'].enable({emitEvent: false})\n this.pepxForm.controls['datasource'].enable({emitEvent: false})\n this.pepxForm.controls['dataset_id'].enable({emitEvent: false})\n // this.options = Object.assign({}, this.options, {disabled: false});\n }\n\n disableInputs() {\n this.pepxForm.controls['qlevel'].disable({emitEvent: false})\n this.pepxForm.controls['datasource'].disable({emitEvent: false})\n this.pepxForm.controls['dataset_id'].disable({emitEvent: false})\n // this.options = Object.assign({}, this.options, {disabled: true});\n }\n\n onFilterApplied() {\n this.inputChange.table_state_1 = this.submitted;\n }\n onFilterApplied2() {\n this.inputChange.table_state_2 = this.submitted;\n }\n\n onClearTableState() {\n this.peptide_table_columns = _.map(this.peptide_table_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state_1 = this.submitted;\n }\n\n onClearTable2State() {\n this.peptide_gene_columns = _.map(this.peptide_gene_columns, (c) => {\n c.value_limits = c.type === 'int'? {\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } :\n {\n possibleValues: [],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n return c\n })\n this.inputChange.table_state_2 = this.submitted;\n }\n\n onSaveTableStateMain(table_name: string) {\n /**\n * @table_name: string - shows which table is used for save table state\n * */\n const hasResult = _.find(this.tools.slice(this.index+1), {submitted: true})\n if (hasResult) {\n this.saveState = true;\n this.open(this.confirmModal);\n } else {\n switch (table_name) {\n case 'peptide_gene_summary_table':\n this.onSaveTable2State();\n break;\n default:\n this.onSaveTable1State();\n }\n }\n }\n\n onSaveTable1State() {\n const tool_group = 'pepx'\n\n const params = this.params\n // create colObj and params\n let colObj = columnListToObject(this.peptide_table_columns, tool_group)\n let colObj2 = columnListToObject(this.peptide_gene_columns, tool_group)\n\n const table_state = [\n {table: 'peptide_table', columns: colObj},\n {table: 'peptide_gene_summary_table', columns: colObj2}\n ]\n this._stateService.insertTableStateToStage(table_state, this.index)\n // this._stateService.insertTableStateToStage({columns: colObj}, this.index)\n\n const stages = params.stages;\n const stageTemp = stages[this.index];\n\n\n stageTemp.table_state[0].columns = colObj\n\n stages[this.index] = stageTemp\n params.stages = stages;\n // run_stage_range\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n // appliedFilters\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.inputChange.table_state_1 = false;\n\n this.saveState = false;\n }\n\n onSaveTable2State() {\n const tool_group = 'pepx'\n\n const params = this.params\n /** create colObj and params */\n let colObj = columnListToObject(this.peptide_table, tool_group)\n let colObj2 = columnListToObject(this.peptide_gene_columns, tool_group)\n\n const table_state = [\n {table: 'peptide_table', columns: colObj},\n {table: 'peptide_gene_summary_table', columns: colObj2}\n ]\n this._stateService.insertTableStateToStage(table_state, this.index)\n\n const stages = params.stages;\n const stageTemp = stages[this.index];\n console.log(this.peptide_gene_summary_table)\n console.log(stageTemp)\n\n stageTemp.table_state[1].columns = colObj2\n\n stages[this.index] = stageTemp\n params.stages = stages;\n /** run_stage_range */\n const stage_number = this.index + 1;\n params.run_stage_range = [stage_number, stage_number];\n this._stateService.setParams(params);\n /** appliedFilters */\n let appliedFilters = !_.isEmpty(colObj);\n this._stateService.setToolAppliedFilters(appliedFilters, this.index)\n this.postPipelineAPI(params, false);\n this.inputChange.table_state_2 = false;\n\n this.saveState = false;\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n if (fileSize > 20000) {\n this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n this.open(this.alertModal);\n }\n else {\n this.prepareSequenceFileList($event);\n }\n }\n\n prepareSequenceFileList(files: Array) {\n console.log(files);\n this.fileName = files[0].name;\n const reader = new FileReader();\n const myForm = this.pepxForm;\n for (const item of files) {\n // console.log(item);\n reader.readAsText(item);\n reader.onload = () => {\n const val = reader.result?.toString() || '';\n console.log(val);\n const v = isASCII(val);\n console.log(v);\n if (v) {\n // myForm.patchValue({inputSequenceText: val.substring(0, this.maxCharacters)});\n const w = isMaxLength(val, this.maxCharacters)\n if (w) {\n myForm.patchValue({inputSequenceText: val});\n } else {\n this.alertService.add(`Sequence is too long - max Sequence length is ${this.maxCharacters.toLocaleString(\"en-US\")} characters`, 'alert-danger');\n this.open(this.alertModal);\n }\n // this.sequenceParser(val); // auto parser\n } else {\n this.alertService.add('Invalid file type.\\nValid file types are .txt, .fa, .fasta, .json, .faa,', 'alert-danger');\n this.open(this.alertModal);\n }\n };\n\n reader.onerror = () => {\n console.log(reader.error);\n };\n item.progress = 0;\n this.files.push(item);\n }\n }\n\n sequenceParser(val: string) {\n\n const firstChar = ltrim(val)[0];\n const firstLine = val.split('\\n')[0]\n console.log(firstLine)\n\n /** Named white space */\n let firstLineNumOfElements = 0\n let separator = ' '\n if(firstLine.includes(' ')){\n separator = ' '\n } else if (firstLine.includes('\\t')){\n separator = '\\t'\n } else if (firstLine.includes('\\s')){\n separator = '\\s'\n }\n firstLineNumOfElements = firstLine.split(separator).length\n console.log(firstLineNumOfElements)\n console.log(separator)\n\n const slicedVal = val.slice(0, this.maxCharacters)\n\n if(val.length > this.maxCharacters) {\n // Skip parsing\n } else if (firstChar === '>' && this.sequenceParserService.fastaValidate(val)) { // fasta\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if ((firstChar === '{' || firstChar === '[') && IsJsonString(val)) { // json\n this.seqFormat = 'JSON'\n this.numOfCharacters = slicedVal.length\n } else if (firstLineNumOfElements === 2 && this.sequenceParserService.namedWhiteSpaceValidate(val, separator)) {\n // named white space\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val.length > 3 && !val.includes('>') && this.sequenceParserService.unnamedWhiteSpaceValidate(val)) {\n // Unnamed\n this.seqFormat = this.sequenceParserService.seqFormat;\n this.numOfCharacters = slicedVal.length\n } else if (val === '') { // delete\n /**\n * Takes care of it up top - still need this if statement\n * */\n this.seqFormat = 'Unknown';\n this.numOfCharacters = 0\n } else { // error\n this.seqFormat = 'Error';\n this.numOfCharacters = 0\n }\n }\n\n // Function for dataSource and quanitation level on change\n onDataSourceChange(value: any) {\n console.log(value.target.value)\n // this.getPepx(this.quantitationLevel, value.target.value)\n\n const datasource = value.target.value\n\n // this.datasourceLoading = true\n this.datasetLoading = true\n this.http.get(`${API_URL}?qlevel=${this.quantitationLevel}&datasource=${datasource}`)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n // this.mhciPredictors = resp['predictors'];\n console.log(resp)\n // @ts-ignore\n this.dataSets = resp.datasets\n this.pepxForm.patchValue({dataset_id: this.dataSets[0].dataset_id})\n // @ts-ignore\n this.datasources = resp.datasources\n // this.proteomeOptions = resp.optional_parameters[0].choice\n // console.log(resp.optional_parameters[0]);\n\n // console.log(this.proteomeOptions)\n // this.pepxLoading = false;\n // this.datasourceLoading = false\n this.datasetLoading = false\n }\n )\n\n }\n\n onQuantitationLevelChange(value: any) {\n console.log(value)\n const qlevel = value\n let datasource = ''\n if(value==='gene'){\n // qlevel = value;\n // const datasource = this.pepxForm.get('datasource')\n this.pepxForm.controls['datasource'].patchValue('Abelin')\n // datasource = 'Abelin'\n // this.getPepx('gene','Abelin')\n }\n if(value==='transcript'){\n // qlevel = value;\n // this.getPepx('transcript','CCLE')\n this.pepxForm.controls['datasource'].patchValue('CCLE')\n // datasource = 'CCLE'\n }\n\n this.datasourceLoading = true\n this.datasetLoading = true\n this.http.get(`${API_URL}?qlevel=${qlevel}&datasource=${datasource}`)\n .pipe().subscribe(\n resp => {\n // @ts-ignore\n // this.mhciPredictors = resp['predictors'];\n console.log(resp)\n // @ts-ignore\n this.dataSets = resp.datasets\n // @ts-ignore\n this.datasources = resp.datasources\n this.pepxForm.patchValue({dataset_id: this.dataSets[0].dataset_id})\n // this.proteomeOptions = resp.optional_parameters[0].choice\n // console.log(resp.optional_parameters[0]);\n\n // console.log(this.proteomeOptions)\n // this.pepxLoading = false;\n this.datasourceLoading = false\n this.datasetLoading = false\n }\n )\n\n }\n\n onRun() {\n /**\n Update pipeline State\n *\n * */\n /** Reset global datatables search ext */\n $.fn.dataTable.ext.search = [];\n\n const stage_number = this.index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n /** Sequences */\n let sequences = this.pepxForm.value.inputSequenceText\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepxForm(this.pepxForm)\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const newStage = {\n \"stage_display_name\": \"PepX\",\n \"stage_number\": stage_number,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"pepx\",\n \"input_sequence_text\": sequences,\n \"input_parameters\": inputParameters,\n \"table_state\": table_state\n }\n\n const params = {\n \"pipeline_id\": '',\n \"pipeline_title\": this.emailForm.controls['name'].value,\n \"email\": this.emailForm.controls['email'].value,\n \"run_stage_range\": run_stage_range,\n \"stages\": [\n newStage\n ]\n }\n\n /** set params */\n const initTool = Object.assign(initPepxTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n this._stateService.setParams(params);\n this._stateService.insertTool(initTool, this.index);\n // this._stateService.insertTableStateToStage({columns: {}}, this.index);\n\n console.log(params)\n this.postPipelineAPI(params);\n }\n\n onRun2() {\n\n const params = this.params;\n const stage_number = this.index + 1;\n const input_stage_number = this.index; // previous index\n\n /** run_stage_range */\n const run_stage_range: [number, number] = [stage_number, stage_number]\n /** default formValue */\n this.setDefaultFormValues()\n\n /** input parameters */\n const inputParameters = this._pipelineService.convertPepxForm(this.pepxForm)\n const initialStage = this.stages[this.index];\n\n /** Table State */\n const { table_state } = this.stages[this.index];\n\n const stage: Stage = {\n ...initialStage,\n result_url: undefined,\n stage_number: stage_number,\n input_stage_number: input_stage_number,\n input_parameters: inputParameters,\n table_state\n }\n\n // this.params.stages.push(stage);\n params.stages[this.index] = stage;\n params.run_stage_range = run_stage_range;\n params.pipeline_title = this.emailForm.controls['name'].value;\n params.email = this.emailForm.controls['email'].value;\n\n console.log(params)\n\n /** set params */\n const loadingTool = Object.assign(initPepxTool, {\n loading: true,\n submitted: false,\n appliedFilters: !_.isEmpty(table_state?.columns)\n })\n console.log('loadingPepxTool')\n console.log(loadingTool)\n this._stateService.setParams(params);\n this._stateService.insertTool(loadingTool, this.index);\n this._stateService.insertInputParametersToStage(inputParameters, this.index);\n\n this.postPipelineAPI(params);\n }\n\n setValueLimits(column: Columns) : any {\n /* set value_limits (i.e. filters) for each column based on if type is a number/string */\n return column['type'] === 'int' || column['type'] === 'float' ? {\n ...column['value_limits'],\n minValue: NaN,\n maxValue: NaN,\n applied: false\n } : {\n // ...column['value_limits'],\n possibleValues: column['value_limits']['unique_values'],\n textValue: null,\n selectedValues: [],\n applied: false\n }\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * params\n * getResults: boolean\n * false - used in 'Save Table State'\n * */\n /** initial set up */\n this.disableInputs();\n this.loading = getResults; // true - defaults\n this.submitted = !getResults; // false - defaults\n this.tableStateSaving = !getResults\n if (getResults) {\n this.errorMessages = [];\n this.warningMessages = [];\n }\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n // Errors and Warnings\n if (resp['errors'] && resp['errors'].length) {\n console.log(resp);\n console.error(resp['errors']);\n this.errorMessages = resp['errors'];\n if (resp['warnings']?.length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n this.loading = false;\n this.submitted = true;\n const submittedTool = Object.assign(initPepxTool, {\n submitted: true,\n loading: false,\n })\n this._stateService.insertTool(submittedTool, this.index);\n this.enableInputs();\n return;\n }\n // Warnings\n if (resp['warnings'].length) {\n console.log(resp['warnings']);\n this.warningMessages = resp['warnings'];\n }\n\n console.log(resp.pipeline_id);\n\n const inputDataUri = {input_sequence_text_id: resp.input_sequence_text_id}\n this._stateService.insertInputDataUriToTool(inputDataUri, this.index)\n\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n /** Display email Modal if emailModalShow=true */\n if (this.showEmailModal) {\n // this.open(this.emailModal);\n }\n this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n if (getResults) {\n const result_url = `${resp.results_uri}`;\n console.log(result_url);\n this.getResultsSetInterval(result_url);\n } else {\n // this.inputChange.table_state_1 = false;\n // this.inputChange.table_state_2 = false;\n this.submitted = true;\n this.loading = false;\n this.tableStateSaving = false;\n this.enableInputs();\n }\n },\n error => {\n console.error(error);\n this.errorMessages.push(error.error);\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n })\n }\n\n getResultsSetInterval(result_url: string) {\n this.getResultsClicked = true\n\n // this.sequence_table = [[]]\n this.peptide_table = [[]]\n\n this.inputChange = _.mapValues(this.inputChange, () => false);\n let increment = 0;\n const milliseconds = 3000;\n this.runSetInterval = setInterval(() => {\n this._pipelineService.getResults(result_url).subscribe(resp => {\n if (resp['status'] === 'error' || resp['errors']) {\n this.errorMessages = resp['data']['errors'];\n this.warningMessages = resp['data']['warnings'];\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTool, this.index);\n clearInterval(this.runSetInterval);\n this.enableInputs();\n }\n if (resp['data']['warnings']?.length) {\n // console.log(resp['warnings']);\n this.warningMessages = resp['data']['warnings'];\n }\n if (resp['data']['errors']?.length) {\n // console.log(resp['warnings']);\n this.errorMessages = resp['data']['errors'];\n }\n if (resp['status'] === 'done') {\n /** 1) Create Column */\n const data = resp['data']['results'];\n console.log(data);\n\n this.active = data[0].type\n\n // this.active = data[0].table_data.length ? data[0].type : data[1].type\n\n _.forEach(data, table => {\n if (table.type === 'peptide_table') {\n this.peptide_table_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // console.log(column);\n this.peptide_table_defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['name'] = source === 'core' ? display_name: `${source} ${display_name}`;\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n });\n this.peptide_table_currentOrder = [...this.peptide_table_defaultOrder];\n if (this.peptide_table_columns) {\n this.peptide_table = table.table_data;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedClusterTool = Object.assign(prevTool, {\n submitted: true,\n loading: false,\n })\n\n this._stateService.insertTool(submittedClusterTool, this.index);\n\n clearInterval(this.runSetInterval);\n this.enableInputs();\n\n this.submitted = true;\n this.loading = false;\n }\n }\n if (table.type === 'peptide_gene_summary_table') {\n this.peptide_gene_columns = _.map(table.table_columns, (column, i) => {\n if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // console.log(column);\n this.peptide_gene_defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['name'] = source === 'core' ? display_name: `${source} ${display_name}`;\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] && this.setValueLimits(column)\n return column\n });\n this.peptide_gene_currentOrder = [...this.peptide_gene_defaultOrder];\n if (this.peptide_gene_columns) {\n this.peptide_gene_summary_table = table.table_data;\n // const prevTool = this.tools[this.index];\n // console.log(prevTool)\n // const submittedTool = Object.assign(prevTool, {\n // submitted: true,\n // loading: false,\n // })\n //\n // this._stateService.insertTool(submittedTool, this.index);\n\n // clearInterval(this.runSetInterval);\n // this.enableInputs();\n //\n // this.submitted = true;\n // this.loading = false;\n }\n }\n if (table.type === 'input_sequence_table') {\n this.sequence_table_columns = _.map(table.table_columns, (column, i) => {\n // if (column.default_order && Number.isFinite(column.row_sort_priority)) { // set defaultOrder\n // this.defaultOrder[column.row_sort_priority] = [i, column.default_order === \"ascending\" ? 'asc' : 'desc'];\n // }\n column['title'] = `${column['display_name']}`; // required\n column['data'] = `${column['name']}`;\n let source = column['source'];\n\n column['filterKey'] = `${source}.${column.name}`\n\n // console.log(`source=${source}`);\n let tempSource = source.split('.')\n // console.log(tempSource);\n source = tempSource[tempSource.length - 1];\n // console.log(`source=${source}`);\n column['data'] = `${source}_${column['name']}`;\n /** remove `core` from name */\n // column['name'] = column['display_name'] ? column['display_name'] : column['name']\n // column['filters'] = column['type'] === 'int' ? {\n // minValue: NaN,\n // maxValue: NaN,\n // applied: false\n // } : {\n // possibleValues: [],\n // textValue: null,\n // selectedValues: [],\n // applied: false\n // }\n column['value_limits'] = column['value_limits'] ? this.setValueLimits(column) : undefined\n return column\n });\n this.sequence_table_order = []\n if (this.sequence_table_columns) {\n\n this.sequence_table = table.table_data\n }\n }\n })\n }\n if (resp['status'] === 'canceled') {\n /** if status is canceled, then just stop loader **/\n this.submitted = false;\n this.loading = false;\n const prevTool = this.tools[this.index];\n console.log(prevTool)\n const submittedTCellPredictionTool = Object.assign(prevTool, {\n submitted: this.submitted,\n loading: this.loading,\n })\n this._stateService.insertTool(submittedTCellPredictionTool, this.index);\n clearInterval(this.runSetInterval);\n // console.log(data);\n this.enableInputs();\n // set error message\n // this.errorMessages = [`PIPELINE_ID=${this.pipelineId} w/ STATUS=${resp['status']}`]\n }\n else {\n this.getResultsClicked = false;\n // this.apiStatus = resp['status'];\n console.log(`current status: ${resp['status']} - ${increment}`);\n increment += 1;\n }\n }, error => {\n console.error(error);\n this.enableInputs();\n clearInterval(this.runSetInterval);\n this.submitted = true;\n this.loading = false;\n })\n }, milliseconds);\n }\n\n onRunConfirm() {\n let indicies = _.range(this.index + 1, this.stages.length)\n let initTool: Tool;\n console.log(indicies);\n _.forEach(indicies, i => {\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n })\n\n // TODO - work oout logic on how to save respecive table when confirm modal pops up...\n this.saveState ? this.onSaveTableStateMain('peptide_table') : this.onRun();\n }\n\n}\n","
\n
\n

{{index + 1}}

\n
\n
\n
\n

\n PepX - Peptide Expression Annotation\n \"cedar\"\n

\n
\n \n \n \n \n
\n
\n \n \n
\n
Input Sequence(s)
\n\n
\n \n
\n
\n \n  \n
\n \n JSON\n \n \n FASTA\n \n \n Original\n \n
\n
\n
\n  \n\n \n\n \n
\n Upload sequence file
(.txt, .json, .fasta)\n
\n\n
\n \n  \n
\n
\n
\n \n \n\n
\n = maxCharacters; else sequenceCounter\" class=\"text-danger\">\n Sequence text is too long - {{maxCharacters | number}} characters allowed\n \n \n \n Format: {{seqFormat}} | {{numOfCharacters | number}} characters\n \n \n\n \n Parameter changed since prediction.\n \n
\n
\n
\n \n
\n
Prediction Parameters
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n Parameter changed since prediction.\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n Loading...\n
\n
\n \n \n \n Parameter changed since prediction.\n \n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n Loading...\n
\n
\n \n \n \n Parameter changed since prediction.\n \n \n
\n
\n\n
\n
\n\n
\n \n  \n \n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n\n
\n
\n
\n\n
\n\n\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n \n
\n

\n \n

\n
\n
\n \n
    \n
  1. {{message}}
  2. \n
\n
\n
\n
\n
\n
\n\n
\n \n
\n\n
\n
\n Loading...\n
\n \n
\n\n
\n
    \n \n
  • \n Peptide Table\n \n \n
    \n \n No matches found with the given input peptides and selected parameters.\n \n
    \n\n
    \n
  • \n \n
  • \n Peptide Gene Summary Table\n \n \n
    \n \n No matches found with the given input peptides and selected parameters.\n \n
    \n\n
    \n
  • \n \n
  • \n Sequence Table \n \n \n \n
  • \n
\n
\n
\n\n\n\n
\n

Are you sure?

\n \n
\n
\n
\n

Re-running this step of the pipeline will delete all downstream results, including:

\n
    \n
  1. {{stage.stage_display_name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n

Applying these filters for input to the next stage will delete results from all downstream steps in\n this session, including:

\n
    \n
  1. {{stage.stage_display_name}}
  2. \n
\n

To access the current results, you can use this link

\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n\n\n
\n

Validation Error(s)

\n \n
\n
\n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {Observable, Subject} from \"rxjs\";\nimport {takeUntil} from \"rxjs/operators\";\n\n@Component({\n selector: 'app-pipeline-error',\n templateUrl: './pipeline-error.component.html',\n styleUrls: ['./pipeline-error.component.scss']\n})\nexport class PipelineErrorComponent {\n\n pipelineId$: Observable = this._stateService.pipelineId$;\n pipelineId = '';\n\n errorMessage = ''\n\n unsubscribe$ = new Subject();\n\n constructor(\n private _stateService: PipelineStateService,\n ) {\n }\n\n ngOnInit(): void {\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.errorMessage = `Pipeline ${this.pipelineId} does not exist`\n })\n\n }\n\n}\n","\n
\n
\n

\n {{errorMessage}}\n

\n \n Home\n \n
\n
\n","import {Component, ElementRef, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport Stage from \"../_global/Stage\";\nimport {Observable, Subject} from \"rxjs\";\nimport {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from \"@angular/forms\";\nimport {PipelineService} from \"../services/pipeline-service/pipeline.service\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {ActivatedRoute, Router, Params} from \"@angular/router\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {takeUntil} from \"rxjs/operators\";\nimport Allele from \"../_global/Allele\";\nimport _ from 'lodash';\n\nimport * as pipelineData from \"../services/data/pipeline-example.json\";\nimport * as clusterData from \"../services/data/cluster-sample.json\";\nimport * as tCellData from \"../services/data/t-cell-sample.json\";\nimport * as pepmatchiData from \"../services/data/pepmatch-mismatch-sample.json\";\nimport * as pepxData from \"../services/data/pepx-sample.json\";\nimport * as peptideBindingComparisonData from \"../services/data/pepcomp-sample.json\";\n\n\nimport {environment} from \"../../environments/environment\";\nimport Tool from \"../_global/Tool\";\nimport PipelineParams from \"../_global/PipelineParams\";\nimport {Location} from \"@angular/common\";\nimport {GoogleAnalyticsService} from \"ngx-google-analytics\";\n\nimport {NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\n// import * as sarsSampleData from \"../services/data/t-cell-sample.json\";\n\nimport {\n initClusterState,\n initParams,\n initPepMatchState,\n initTCellPredictionState,\n initPepXState,\n initPeptideBindingComparisonState,\n initMutatedPeptideGeneratorState, initTCellPrediction2State,\n} from \"../services/state-services/default-stage-states\";\n\n@Component({\n selector: 'app-pipeline-new',\n templateUrl: './pipeline-new.component.html',\n styleUrls: ['./pipeline-new.component.scss']\n})\nexport class PipelineNewComponent implements OnInit, OnDestroy {\n\n @ViewChild('alertModal') alertModal!: ElementRef;\n @ViewChild('emailModal') emailModal!: ElementRef;\n\n runTCellSubject: Subject = new Subject();\n runTCellClass2Subject: Subject = new Subject();\n runClusterSubject: Subject = new Subject();\n runPepmatchSubject: Subject = new Subject();\n runPepxSubject: Subject = new Subject();\n runPepcompSubject: Subject = new Subject();\n runMutgenSubject: Subject = new Subject();\n\n runAllTCellSubject: Subject = new Subject();\n runAllTCellClass2Subject: Subject = new Subject();\n runAllClusterSubject: Subject = new Subject();\n runAllPepmatchSubject: Subject = new Subject();\n runAllPepxSubject: Subject = new Subject();\n runAllPepcompSubject: Subject = new Subject();\n runAllMutgenSubject: Subject = new Subject();\n\n sidebarOpened = true;\n\n // state\n stages: Stage[] = []\n\n columnsToPipeMHCI: string[] = [] // used in pipe to button for conditional columns\n columnsToPipeMHCII: string[] = [] // used in pipe to button for conditional columns\n\n tools: Tool[] = []\n params!: PipelineParams\n paramsString: string = ''\n pipelineId: string = ''\n pipelineUrl: string = ''\n pipelineSpecUrl: string = ''\n maxCharacters = 1000000\n maxVcfLines = 5000\n\n stages$: Observable = this._stateService.stages$;\n tools$: Observable = this._stateService.tools$;\n pipelineId$: Observable = this._stateService.pipelineId$;\n pipelineSpecId$: Observable = this._stateService.pipelineSpecId$;\n params$: Observable = this._stateService.params$;\n\n /**\n {\n \"mhci\": [\n {\n \"valid_next_step\": \"cluster\",\n \"columns_to_pipe\": [\n \"peptide\"\n ]\n },\n {\n \"valid_next_step\": \"pepmatch\",\n \"columns_to_pipe\": [\n \"peptide\"\n ]\n }\n ],\n \"cluster\": [\n {\n \"valid_next_step\": \"mhci\",\n \"columns_to_pipe\": [\n \"peptide\",\n \"cluster_consensus\"\n ]\n },\n {\n \"valid_next_step\": \"pepmatch\",\n \"columns_to_pipe\": [\n \"peptide\",\n \"cluster_consensus\"\n ]\n }\n ],\n \"pepmatch\": [\n {\n \"valid_next_step\": \"mhci\",\n \"columns_to_pipe\": [\n \"peptide\"\n ]\n },\n {\n \"valid_next_step\": \"cluster\",\n \"columns_to_pipe\": [\n \"peptide\"\n ]\n }\n ]\n}\n * */\n possibleInputsMHCI = [\n {stage_type: 'prediction', tool_group: 'cluster', name: 'Cluster', enabled: true},\n ]\n possibleInputsCluster = [\n {stage_type: 'prediction', tool_group: 'mhci', name: 'T-Cell Prediction', enabled: true},\n ]\n\n validSteps: object = {};\n\n rootForm!: UntypedFormGroup;\n\n emailForm!: UntypedFormGroup;\n submittedEmailForm: { name: string, email: string } = {name: '', email: ''};\n infoAccordionCollapse = true\n\n inputSequenceText = '';\n\n unsubscribe$ = new Subject();\n\n showEmailModal: boolean = false;\n\n // get pipeline\n loading: boolean = false\n errorMessages: string[] = []\n warningMessages: string[] = []\n\n pipelineLoading = false;\n\n\n constructor(\n private _pipelineService: PipelineService,\n private _stateService: PipelineStateService,\n private fb: UntypedFormBuilder,\n private modalService: NgbModal,\n private router: Router, private activatedRoute: ActivatedRoute, private location: Location,\n private http: HttpClient,\n private titleService: Title,\n protected $gaService: GoogleAnalyticsService\n ) {\n // console.log(this.router.getCurrentNavigation()!.extras.state);\n }\n\n ngOnInit(): void {\n // this.$gaService.pageView('/pipeline-new', 'Teste de Title')\n\n\n this.activatedRoute.params.subscribe((params: Params) => {\n console.log(params)\n const id = params['id'];\n if (id) {\n this.loading = true;\n this._pipelineService.getPipeline(id).subscribe({\n next: (resp) => {\n /**\n if pipeline doesn't exist, navigate back to /pipeline\n\n {\n \"errors\": [\n \"pipeline: aaaa4968-744f-49e9-be96-95d49a does not exist\"\n ]\n }\n */\n if (resp.errors) {\n this.router.navigate(['/error'])\n }\n\n console.log(JSON.stringify(resp, null, 2));\n\n this._stateService.setPipelineId(id);\n this._stateService.setPipelineIdToParams(id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n\n /** set emailForm and submittedEmailForm */\n // const emailValue = {\n // email: resp.email,\n // name: resp.pipeline_title\n // }\n // this.emailForm.setValue(emailValue)\n // this.submittedEmailForm = emailValue\n\n /** stages */\n const stages = resp.stages;\n this.initPipeline(stages)\n this.titleService.setTitle(`${stages[0].stage_display_name}`)\n },\n error: (err) => {\n console.error(err)\n }\n })\n }\n\n const specId = params['pipelineSpecId']\n if (specId) {\n console.log(specId)\n this.loading = true;\n this._pipelineService.getPipelineSpec(specId).subscribe((resp) => {\n\n console.log(JSON.stringify(resp, null, 2));\n\n /** stages */\n const stages = resp.pipeline_params.stages;\n this.initPipeline(stages)\n\n this.titleService.setTitle(`${stages[0].stage_display_name}`);\n })\n\n this.location.replaceState('pipeline');\n\n }\n\n this.fetchValidSteps();\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.stages = value;\n // Conditional columns that can be piped from\n _.forEach(this.stages, (stage) => {\n if(stage.tool_group === 'mhci') {\n this.columnsToPipeMHCI = _.map(stage.input_parameters.predictors, (o) => o.method)\n }\n if(stage.tool_group === 'mhcii') {\n this.columnsToPipeMHCII = _.map(stage.input_parameters.predictors, (o) => o.method)\n }\n })\n\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.tools = value;\n !id && !specId && value.length === 1 && !value[0].submitted && !value[0].loading && this.setInitialForm(value[0]);\n\n this.pipelineLoading = _.some(this.tools, {loading: true})\n })\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(value);\n this.params = value;\n this.paramsString = JSON.stringify(value, null, 2)\n })\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n this.pipelineUrl = `${window.location.origin}/pipeline/${value}`;\n })\n\n this.pipelineSpecId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineSpecId=${value}`);\n this.pipelineSpecUrl = `${window.location.origin}/pipeline_spec/${value}`;\n })\n })\n\n this.activatedRoute.queryParamMap.subscribe(data => {\n /**\n * init pipeline setup\n default) /pipeline\n 1) T-Cell Class I - http://localhost:4200/pipeline?tool=tc1\n 1) T-Cell Class II - http://localhost:4200/pipeline?tool=tc2\n 2) Cluster - http://localhost:4200/pipeline?tool=cluster\n 3) PEPMatch - http://localhost:4200/pipeline?tool=pepmatch\n 4) PepX - http://localhost:4200/pipeline?tool=pepx\n 5) Peptide Comparision - http://localhost:4200/pipeline?tool=pepvcomp\n 6) Mutated Peptide Generator - http://localhost:4200/pipeline?tool=mutpepgen\n * */\n const data1 = data\n console.log(data1)\n const initTool = data1.get('tool');\n if(initTool) {\n switch (data1.get('tool')) {\n case 'cluster':\n this.titleService.setTitle(`Epitope Cluster Analysis`);\n const initClusterTool: Tool = {\n name: 'Cluster',\n toolGroup: 'cluster',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initClusterState, initClusterTool);\n break;\n case 'tc1':\n this.titleService.setTitle(`T Cell Prediction - Class I`);\n const initTCellPredictionTool: Tool = {\n name: 'T-Cell Prediction',\n toolGroup: 'mhci',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initTCellPredictionState, initTCellPredictionTool)\n break\n case 'tc2':\n this.titleService.setTitle(`T Cell Prediction - Class II`);\n const initTCellPredictionTool2: Tool = {\n name: 'T-Cell Prediction',\n toolGroup: 'mhcii',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initTCellPrediction2State, initTCellPredictionTool2)\n break\n case 'pepmatch':\n this.titleService.setTitle(`PEPMatch`);\n const initPepmatchTool = {\n name: 'Pepmatch',\n toolGroup: 'pepmatch',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initPepMatchState, initPepmatchTool)\n break\n case 'pepx': // http://localhost:4200/pipeline?tool=pepx\n this.titleService.setTitle(`PepX`);\n const initPepxTool = {\n name: 'Pepx',\n toolGroup: 'pepx',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initPepXState, initPepxTool)\n break\n case 'pepvcomp': // http://localhost:4200/pipeline?tool=pepvcomp\n this.titleService.setTitle(`Peptide Variant Comparison`);\n const initPeptideVariantComparisonTool = {\n name: 'Peptide Variant Comparison',\n toolGroup: 'peptide_variant_comparison',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initPeptideBindingComparisonState, initPeptideVariantComparisonTool)\n break\n case 'mutpepgen': // http://localhost:4200/pipeline?tool=mutpepgen\n this.titleService.setTitle(`Mutated Peptide Generator`);\n const initMPGTool = {\n name: 'Mutated Peptide Generator',\n toolGroup: 'mutgen',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }\n this.setInitialStageAndToolGroup(initMutatedPeptideGeneratorState, initMPGTool)\n break\n default:\n this.location.replaceState('pipeline');\n this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n break;\n }\n }\n });\n\n\n this.emailForm = this.fb.group({\n email: '',\n name: ''\n });\n }\n\n emitEventToChild() {\n // !tools[tools.length-1].submitted\n if(this.tools[this.tools.length-1].toolGroup === 'mhci'){\n this.runTCellSubject.next();\n }\n if(this.tools[this.tools.length-1].toolGroup === 'mhcii'){\n this.runTCellClass2Subject.next();\n }\n if(this.tools[this.tools.length-1].toolGroup === 'cluster'){\n this.runClusterSubject.next();\n }\n if(this.tools[this.tools.length-1].toolGroup === 'pepmatch'){\n this.runPepmatchSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'pepx'){\n this.runPepxSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'peptide_variant_comparison'){\n this.runPepcompSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'mutgen'){\n this.runMutgenSubject.next()\n }\n }\n\n emitRunAllToChild() {\n if(this.tools[this.tools.length-1].toolGroup === 'mhci'){\n this.runAllTCellSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'mhcii'){\n this.runAllTCellClass2Subject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'cluster'){\n this.runAllClusterSubject.next();\n }\n if(this.tools[this.tools.length-1].toolGroup === 'pepmatch'){\n this.runAllPepmatchSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'pepx'){\n this.runAllPepxSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'peptide_variant_comparison'){\n this.runAllPepcompSubject.next()\n }\n if(this.tools[this.tools.length-1].toolGroup === 'mutgen'){\n this.runAllMutgenSubject.next()\n }\n }\n\n\n generateStage(stage: any): Stage {\n /**\n * export default interface Stage {\n * stage_number: number // index\n * stage_type: string // prediction | filter\n * tool_group: string // mhci | cluster | ''\n * input_sequence_text?: string\n * input_stage_number?: number\n * data_to_pipe?: string\n * input_parameters: any\n * name: string\n * result_url?: string\n * }\n * */\n\n return {\n stage_display_name: stage.stage_display_name,\n stage_number: stage.stage_number,\n stage_type: stage.stage_type,\n tool_group: stage.tool_group,\n input_parameters: stage.input_parameters,\n result_url: stage.stage_result_uri ? stage.stage_result_uri : undefined,\n input_sequence_text: stage.input_sequence_text ? stage.input_sequence_text : undefined,\n input_vcf_text: stage.input_vcf_text ? stage.input_vcf_text : undefined,\n piped_data: stage.piped_data ? stage.piped_data : undefined,\n // piped_input: stage.piped_input ? stage.piped_input : undefined,\n table_state: stage.table_state ? stage.table_state : [\n {\n \"table\": \"\",\n \"columns\": {}\n }\n ],\n stage_messages: stage.stage_messages ? stage.stage_messages : {errors: [], warnings: []}\n }\n }\n\n generateTool(stage: any, loading = true): Tool {\n /**\n * toolGroup: 'mhci',\n * loading: false,\n * submitted: false,\n * appliedFilters: undefined,\n * disabled: false\n * */\n const appliedFilters = !_.isEmpty(stage.table_state[0]?.columns) || !_.isEmpty(stage.table_state[1]?.columns)\n return {\n name: stage.tool_group,\n toolGroup: stage.tool_group,\n loading,\n appliedFilters,\n disabled: false,\n submitted: false,\n input_data_uri: stage.input_data_uri ? stage.input_data_uri : undefined\n }\n }\n\n initPipeline(stages: Stage[]) {\n /**\n * Used for GET Pipeline and PipelineSpec\n * */\n let finalStages: Stage[] = []\n let paramStages: Stage[] = []\n let finalTools: Tool[] = []\n _.forEach(stages, (stage, i) => {\n\n const newStage = this.generateStage(stage);\n\n // this._stateService.setInitialStage(newStage);\n finalStages.push(newStage)\n paramStages.push({...newStage, result_url: undefined});\n\n const newTool = this.generateTool(stage, !!this.pipelineId);\n finalTools.push(newTool)\n\n const data = stage.input_parameters;\n\n // Sequence Input\n const input_sequence_text = stage.input_sequence_text;\n\n if (stage.tool_group === 'cluster') { // #1\n if (stage.stage_number === 1) {\n this.setClusterFormGroup(data, input_sequence_text);\n } else {\n this.setClusterFormGroup2(data)\n }\n } else if (stage.tool_group === 'mhci') { // #2\n if (stage.stage_number === 1) {\n this.setMhciFormGroup(data, input_sequence_text);\n } else {\n this.setMhciFormGroup2(data)\n }\n }\n else if (stage.tool_group === 'mhcii') { // #2\n if (stage.stage_number === 1) {\n this.setMhciiFormGroup(data, input_sequence_text);\n } else {\n this.setMhciiFormGroup2(data)\n }\n }\n else if (stage.tool_group === 'pepmatch') { // #3\n if (stage.stage_number === 1) {\n this.setPepmatchFormGroup(data, input_sequence_text);\n } else {\n this.setPepmatchFormGroup2(data)\n }\n } else if (stage.tool_group === 'pepx') { // # 4\n if (stage.stage_number === 1) {\n this.setPepXFormGroup(data, input_sequence_text);\n } else {\n this.setPepXFormGroup2(data)\n }\n } else if (stage.tool_group === 'peptide_variant_comparison') { // # 5\n if (stage.stage_number === 1) {\n this.setPepCompFormGroup(data, input_sequence_text);\n } else {\n this.setPepCompFormGroup2(data)\n }\n } else if (stage.tool_group === 'mutgen') { // # 6\n const input_vcf_text = stage.input_vcf_text;\n if (stage.stage_number === 1) {\n this.setMutGenFormGroup(data, input_vcf_text);\n } else {\n // this.setPepXFormGroup2(data)\n }\n }\n })\n\n this._stateService.setTools(finalTools);\n this._stateService.setStages(finalStages);\n this._stateService.setStagesToParams(paramStages);\n\n this.loading = false;\n }\n\n /** Pipeline Error Modal Functions */\n open(content: any) {\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: \"static\"\n }).result.then((result) => {\n // this.closeResult = `Closed with: ${result}`;\n }, (reason) => {\n // this.alleleSearch.nativeElement.focus();\n // this.closeResult = `Dismissed ${TCellPredictionComponent.getDismissReason(reason)}`;\n });\n }\n\n /**\n Set FormGroup\n * */\n setMhciFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n console.log(inputSequenceText);\n\n const {alleles, predictors, peptide_length_range, break_peptides} = data;\n // alleles\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'processing') {\n return this.mhcIProcessingFormGroup(p)\n } else if (p.type === 'immunogenicity') {\n const {mask_choice, position_to_mask} = p;\n return this.pmhcImmunogencityFormGroup(mask_choice, position_to_mask)\n } else if (p.type === 'mhcnp') {\n return this.mhcNpFormGroup()\n }\n return this.fb.group({})\n });\n\n const fg = this.addTCellPredictionFormGroup(\n inputSequenceText,\n peptide_length_range ? peptide_length_range[0] : 9,\n peptide_length_range ? peptide_length_range[1] : 9,\n allelesFormatted,\n !peptide_length_range,\n predictorsFormatted\n )\n let root_config = {mhci: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setMhciFormGroup2(data: any) {\n console.log(data);\n\n const {alleles, predictors, peptide_length_range, break_peptides} = data;\n\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'processing') {\n return this.mhcIProcessingFormGroup(p)\n } else if (p.type === 'immunogenicity') {\n const {mask_choice, position_to_mask} = p;\n return this.pmhcImmunogencityFormGroup(mask_choice, position_to_mask)\n } else if (p.type === 'mhcnp') {\n return this.mhcNpFormGroup()\n }\n return this.fb.group({})\n });\n\n const initialControlConfig = {\n peptideLength: new UntypedFormControl([\n peptide_length_range ? peptide_length_range[0] : 9,\n peptide_length_range ? peptide_length_range[1] : 9,\n ]),\n alleles: this.fb.array(allelesFormatted),\n predictionModels: this.fb.array(predictorsFormatted),\n breakPeptides: !peptide_length_range,\n };\n\n const fg = this.fb.group(initialControlConfig)\n this.rootForm.addControl('mhci', fg);\n }\n\n setMhciiFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n console.log(inputSequenceText);\n\n const {alleles, predictors, peptide_length_range, peptide_shift} = data;\n // alleles\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'immunogenicity') {\n return this.mhciiPmhcImmunogencityFormGroup()\n }\n return this.fb.group({})\n });\n\n const fg = this.addTCellPrediction2FormGroup(\n inputSequenceText,\n peptide_length_range ? peptide_length_range[0] : 15,\n peptide_length_range ? peptide_length_range[1] : 15,\n !peptide_length_range,\n allelesFormatted,\n peptide_shift,\n predictorsFormatted,\n )\n let root_config = {mhcii: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setMhciiFormGroup2(data: any, inputSequenceText = '') {\n console.log(data);\n\n const {alleles, predictors, peptide_length_range, peptide_shift} = data;\n // alleles\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'immunogenicity') {\n return this.mhciiPmhcImmunogencityFormGroup()\n }\n return this.fb.group({})\n });\n\n const initialControlConfig = {\n peptideLength: new UntypedFormControl([\n peptide_length_range ? peptide_length_range[0] : 15,\n peptide_length_range ? peptide_length_range[1] : 15,\n ]),\n alleles: this.fb.array(allelesFormatted),\n predictionModels: this.fb.array(predictorsFormatted),\n peptide_shift: peptide_shift,\n breakPeptides: !peptide_length_range,\n };\n\n const fg = this.fb.group(initialControlConfig)\n this.rootForm.addControl('mhcii', fg);\n\n // const fg = this.addTCellPrediction2FormGroup(\n // inputSequenceText,\n // peptide_length_range ? peptide_length_range[0] : 15,\n // peptide_length_range ? peptide_length_range[1] : 15,\n // allelesFormatted,\n // peptide_shift,\n // predictorsFormatted\n // )\n // let root_config = {mhcii: fg}\n // this.rootForm = this.fb.group(root_config);\n }\n\n setClusterFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n const {cluster_pct_identity, predictors, peptide_length_range} = data;\n const method = predictors[0].method;\n // const allelesFormatted = _.map(alleles.split(','), (a: string) => {return {label: a, synonym: null, score: null}})\n\n\n const fg = this.addClusterFormGroup(\n inputSequenceText,\n cluster_pct_identity,\n peptide_length_range[0],\n peptide_length_range[1],\n method\n )\n let root_config = {cluster: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setClusterFormGroup2(data: any) {\n console.log(data);\n const {cluster_pct_identity, predictors, peptide_length_range} = data;\n const method = predictors[0].method;\n // const allelesFormatted = _.map(alleles.split(','), (a: string) => {return {label: a, synonym: null, score: null}})\n\n let minPeptideLength = peptide_length_range[0];\n let maxPeptideLength = peptide_length_range[1];\n\n minPeptideLength = minPeptideLength === 0 ? 4 : minPeptideLength\n maxPeptideLength = maxPeptideLength === 0 ? 26 : maxPeptideLength\n\n /** state update*/\n this._stateService.addStage({\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'cluster',\n stage_display_name: 'Epitope Cluster Analysis',\n // data_to_pipe: 'peptide',\n input_parameters: {}\n })\n\n this._stateService.insertTool({\n name: 'Cluster',\n toolGroup: 'cluster',\n loading: false,\n submitted: false,\n disabled: false\n }, this.tools.length)\n\n this._stateService.setToolDisabled(true, this.tools.length - 1)\n\n const initialControlConfig = {\n threshold: cluster_pct_identity,\n peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n method\n };\n\n const fg = this.fb.group(initialControlConfig)\n // let root_config = {cluster: fg}\n this.rootForm.addControl('cluster', fg);\n }\n\n setPepmatchFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n const {proteome, mismatch, best_match, include_unmatched_peptides} = data;\n // const method = predictors[0].method;\n const fg = this.addPepmatchFormGroup(\n inputSequenceText,\n proteome,\n mismatch,\n best_match,\n include_unmatched_peptides\n )\n let root_config = {pepmatch: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setPepmatchFormGroup2(data: any) {\n console.log(data);\n\n /** state update*/\n this._stateService.addStage({\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'pepmatch',\n stage_display_name: 'Pepmatch',\n // data_to_pipe: 'peptide',\n input_parameters: {}\n })\n\n this._stateService.insertTool({\n name: 'Pepmatch',\n toolGroup: 'pepmatch',\n loading: false,\n submitted: false,\n disabled: false\n }, this.tools.length)\n\n const {proteome, mismatch, best_match, include_unmatched_peptides} = data;\n\n const initialControlConfig = {\n proteome,\n mismatch,\n bestMatch: best_match,\n include_unmatched_peptides\n };\n\n const fg = this.fb.group(initialControlConfig)\n this.rootForm.addControl('pepmatch', fg);\n }\n\n setPepXFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n const {qlevel, datasource, dataset_id } = data;\n const fg = this.addPepXFormGroup(\n inputSequenceText,\n qlevel,\n datasource,\n dataset_id\n )\n let root_config = {pepx: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setPepXFormGroup2(data: any) {\n console.log(data);\n\n /** state update*/\n this._stateService.addStage({\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'pepx',\n stage_display_name: 'PepX',\n // data_to_pipe: 'peptide',\n input_parameters: {}\n })\n\n this._stateService.insertTool({\n name: 'PepX',\n toolGroup: 'pepx',\n loading: false,\n submitted: false,\n disabled: false\n }, this.tools.length)\n\n const {qlevel, datasource, dataset_id} = data;\n\n const initialControlConfig = {\n qlevel,\n datasource,\n dataset_id\n };\n\n const fg = this.fb.group(initialControlConfig)\n this.rootForm.addControl('pepx', fg);\n }\n\n setPepCompFormGroup(data: any, inputSequenceText = '') {\n console.log(data);\n console.log(inputSequenceText);\n\n const {alleles, predictors, break_peptides} = data;\n // alleles\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'immunogenicity') {\n const {mask_choice, position_to_mask} = p;\n return this.pmhcImmunogencityFormGroup(mask_choice, position_to_mask)\n } else if (p.type === 'mhcnp') {\n return this.mhcNpFormGroup()\n } else if (p.type === 'peptide_similarity') {\n return this.peptideSimilarityFormGroup()\n }\n return this.fb.group({})\n });\n\n const fg = this.initPepCompFormGroup(\n inputSequenceText,\n allelesFormatted,\n predictorsFormatted\n )\n let root_config = {pepcomp: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n setPepCompFormGroup2(data: any) {\n console.log(data);\n\n /** state update*/\n this._stateService.addStage({\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'peptide_variant_comparison',\n stage_display_name: 'Peptide Variant Comparison',\n input_parameters: {},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n })\n\n this._stateService.insertTool({\n name: 'Peptide Variant Comparison',\n toolGroup: 'peptide_variant_comparison',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }, this.tools.length)\n\n const {alleles, predictors, break_peptides} = data;\n // alleles\n const allelesFormatted = _.map(alleles.split(','), (a: string) => {\n return {label: a, synonym: null, score: null}\n })\n\n // predictors\n const predictorsFormatted: UntypedFormGroup[] = _.map(predictors, (p) => {\n if (p.type === 'binding') {\n return this.mhcBindingFormGroup(p.method)\n } else if (p.type === 'immunogenicity') {\n const {mask_choice, position_to_mask} = p;\n return this.pmhcImmunogencityFormGroup(mask_choice, position_to_mask)\n } else if (p.type === 'mhcnp') {\n return this.mhcNpFormGroup()\n } else if (p.type === 'peptide_similarity') {\n return this.peptideSimilarityFormGroup()\n }\n return this.fb.group({})\n });\n\n const initialControlConfig = {\n // inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n // peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n alleles: this.fb.array(allelesFormatted),\n predictionModels: this.fb.array(predictorsFormatted)\n };\n\n\n const fg = this.fb.group(initialControlConfig)\n this.rootForm.addControl('pepcomp', fg);\n }\n\n setMutGenFormGroup(data: any, inputVcfText = '') {\n // console.log(data);\n // console.log(inputVcfText);\n const {peptide_length, reference_genome, peptide_mutation_position1, peptide_mutation_position2,\n frameshift_overlap, maximum_peptide_length} = data;\n\n const fg = this.addMutGenFormGroup(\n inputVcfText,\n true,\n reference_genome,\n peptide_length,\n peptide_mutation_position1,\n peptide_mutation_position2,\n frameshift_overlap,\n maximum_peptide_length\n )\n\n let root_config = {mutgen: fg}\n this.rootForm = this.fb.group(root_config);\n }\n\n ngOnDestroy() {\n clearInterval(this._pipelineService.runSetInterval)\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n get addedToolGroups() {\n return _.map(this.stages, (o) => o.tool_group);\n }\n\n setInitialForm(stage: Tool) {\n /**\n Used to set rootForm with either 'mhci' or 'cluster'\n * */\n console.log(stage);\n let root_config = {}\n if (stage?.toolGroup === 'mhci') { // t-cell prediction\n root_config = {mhci: this.addTCellPredictionFormGroup()}\n } else if (stage?.toolGroup === 'mhcii') { // cluster\n root_config = {mhcii: this.addTCellPrediction2FormGroup()}\n } else if (stage?.toolGroup === 'cluster') { // cluster\n root_config = {cluster: this.addClusterFormGroup()}\n } else if (stage?.toolGroup === 'pepmatch') { // pepmatch\n root_config = {pepmatch: this.addPepmatchFormGroup()}\n } else if (stage?.toolGroup === 'pepx') { // pepx\n root_config = {pepx: this.addPepXFormGroup()}\n }\n else if (stage?.toolGroup === 'peptide_variant_comparison') { // pepx\n root_config = {pepcomp: this.addPepCompFormGroup()}\n }\n else if (stage?.toolGroup === 'mutgen') { // mutgen\n root_config = {mutgen: this.addMutGenFormGroup()}\n }\n console.log(root_config);\n this.rootForm = this.fb.group(root_config);\n }\n\n setInitialStageAndToolGroup(state: any, tool: any) {\n /**\n Mainly used in this.activatedRoute.queryParamMap.subscribe()\n * */\n const initState = _.cloneDeep(state)\n // const initTool = _.cloneDeep(tool)\n\n // const initState = JSON.parse(JSON.stringify(state))\n // const initTool = JSON.parse(JSON.stringify(tool))\n\n // const initState = Object.assign({}, state)\n // const initTool = Object.assign({}, tool)\n\n this._stateService.setInitialStage(initState)\n this._stateService.setInitialTool(tool)\n this._stateService.setParams(initParams)\n this._stateService.setPipelineId('')\n this._stateService.setPipelineSpecId('')\n }\n\n get tCellForm() {\n return this.rootForm.get('mhci') as UntypedFormGroup;\n }\n\n get tCell2Form() {\n /** T Cell Prediction - Class II */\n return this.rootForm.get('mhcii') as UntypedFormGroup;\n }\n\n get clusterForm() {\n return this.rootForm.get('cluster') as UntypedFormGroup;\n }\n\n get pepmatchForm() {\n return this.rootForm.get('pepmatch') as UntypedFormGroup;\n }\n\n get pepxForm() {\n return this.rootForm.get('pepx') as UntypedFormGroup;\n }\n\n get pepcompForm() {\n return this.rootForm.get('pepcomp') as UntypedFormGroup;\n }\n\n get mutgenForm() {\n return this.rootForm.get('mutgen') as UntypedFormGroup;\n }\n\n get selectedAlleles() {\n /**\n\n * */\n return this.tCellForm.controls['alleles'].value;\n }\n\n get mhciiSelectedAlleles() {\n /**\n T Cell Prediction - Class II\n * */\n return this.tCell2Form.controls['alleles'].value;\n }\n\n get selectedAlleles2() {\n /**\n\n * */\n return this.pepcompForm.controls['alleles'].value;\n }\n\n get selectedAlleleLabels() {\n /**\n sidebar - Used to show min and max peptide length\n * */\n return this.tCellForm.controls['alleles'].value.map((o: Allele) => o.label).join(', ');\n }\n\n get predictionModels() {\n /**\n sidebar - Used to show min and max peptide length\n * */\n return this.tCellForm.controls['predictionModels'].value;\n }\n\n get mhciiPredictionModels() {\n /**\n sidebar - Used to show min and max peptide length\n * */\n return this.tCell2Form.controls['predictionModels'].value;\n }\n\n get predictionModels2() {\n /**\n sidebar - Used to show min and max peptide length\n * */\n return this.pepcompForm.controls['predictionModels'].value;\n }\n\n get clusterMinPeptideLength() {\n return [4, 26].includes(this.clusterForm.controls['peptideLength'].value[0]) ?\n 0 : this.clusterForm.controls['peptideLength'].value[0]\n }\n\n get clusterMaxPeptideLength() {\n return [4, 26].includes(this.clusterForm.controls['peptideLength'].value[1]) ?\n 0 : this.clusterForm.controls['peptideLength'].value[1]\n }\n\n debug() { // debugger\n /** defaults - use Sars placeholders*/\n\n console.log(this.inputSequenceText);\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n })\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('this.stages$');\n console.log(value);\n })\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('this.tools$');\n console.log(value);\n })\n // this.inputSequenceText$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log(value);\n // })\n this.params$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log('this.params$');\n console.log('params');\n console.log(value);\n })\n }\n\n onCancelRuns() {\n /**\n Sends a PUT request to change status to 'canceled'\n\n Also stops\n * */\n const params = {\n cancel_run: true\n }\n\n this._pipelineService.putPipeline(this.pipelineId, params).subscribe((resp) => {\n console.log(resp)\n })\n\n _.forEach(this.tools, (tool, i) => {\n console.log(tool)\n const cancelTool = {\n ...tool,\n loading: false,\n }\n this._stateService.insertTool(cancelTool, i);\n })\n }\n\n onShowEmailChange(e: boolean) {\n console.log(e)\n this.showEmailModal = e;\n }\n\n onOpenEmailModal() {\n this.open(this.emailModal)\n }\n\n onRunAll(index: number) {\n // debugger\n // console.log(JSON.stringify(this.rootForm.value, null, 2));\n\n $.fn.dataTable.ext.search = [];\n\n const stage_number = index + 1;\n /** run_stage_range */\n const run_stage_range: [number, number] = [1, stage_number]\n\n console.log(this.params);\n\n const stages = this.stages.slice(0, stage_number)\n console.log(stages);\n this.params.run_stage_range = run_stage_range\n let initTool: Tool;\n\n _.forEach(this.stages, (stage, i) => {\n console.log(stage)\n const key = stage.tool_group\n\n /** Input sequence text */\n\n switch (key) {\n case \"mhci\": {\n if (i === 0) {\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = tCellData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n // const {input_sequence_text} = tCellData;\n let sequences = this.tCellForm.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(seq); // TODO - delete (prob don't need)\n this.tCellForm.controls.inputSequenceText.setValue(seq);\n sequences = seq;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertTCellForm(this.tCellForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n\n break\n }\n case \"mhcii\": {\n if (i === 0) {\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = tCellData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n // const {input_sequence_text} = tCellData;\n let sequences = this.tCell2Form.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(seq); // TODO - delete (prob don't need)\n this.tCell2Form.controls.inputSequenceText.setValue(seq);\n sequences = seq;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertTCellClassIIForm(this.tCell2Form)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n break\n }\n case 'cluster': {\n if (i === 0) {\n const {input_sequence_text} = clusterData;\n let sequences = this.clusterForm.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(input_sequence_text); // TODO - delete (prob don't need)\n this.clusterForm.controls.inputSequenceText.setValue(input_sequence_text);\n sequences = input_sequence_text;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertClusterForm(this.clusterForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n break\n }\n case 'pepmatch': {\n\n if (i === 0) {\n const {input_sequence_text} = pepmatchiData;\n let sequences = this.pepmatchForm.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(input_sequence_text); // TODO - delete (prob don't need)\n this.pepmatchForm.controls.inputSequenceText.setValue(input_sequence_text);\n sequences = input_sequence_text;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertPepmatchForm(this.pepmatchForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n break\n }\n case 'pepx': {\n if (i === 0) {\n const {input_sequence_text} = pepxData;\n let sequences = this.pepxForm.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(input_sequence_text); // TODO - delete (prob don't need)\n this.pepxForm.controls.inputSequenceText.setValue(input_sequence_text);\n sequences = input_sequence_text;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertPepxForm(this.pepxForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n break\n }\n case 'peptide_variant_comparison': {\n if (i === 0) {\n const {input_sequence_text} = peptideBindingComparisonData;\n let sequences = this.pepcompForm.get('inputSequenceText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(input_sequence_text); // TODO - delete (prob don't need)\n this.pepcompForm.controls.inputSequenceText.setValue(input_sequence_text);\n sequences = input_sequence_text;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertPepcompForm(this.pepcompForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n break\n }\n case 'mutgen': {\n if (i === 0) {\n let seq: string = ''\n let all: string = ''\n if(environment.production || environment['name'] === 'DEV') { // prod or dev\n const {input_sequence_text, alleles } = tCellData; // correct examples\n seq = input_sequence_text\n all = alleles\n } else {\n const {input_sequence_text, alleles } = pipelineData;\n seq = input_sequence_text\n all = alleles\n }\n // const {input_sequence_text} = tCellData;\n let sequences = this.mutgenForm.get('inputVcfText')?.value;\n if (!sequences) {\n this._stateService.setInputSequenceText(seq); // TODO - delete (prob don't need)\n this.mutgenForm.controls.inputSequenceText.setValue(seq);\n sequences = seq;\n }\n this.params.stages[i].input_sequence_text = sequences\n }\n\n if (i <= index) {\n this.params.stages[i].input_parameters = this._pipelineService.convertMutgenForm(this.mutgenForm)\n this._stateService.setToolLoading(true, false, i)\n } else {\n this.params.stages[i].input_parameters = {}\n initTool = this.tools[i];\n const unSubmittedTool = {\n ...initTool,\n loading: false,\n submitted: false,\n }\n this._stateService.insertTool(unSubmittedTool, i);\n }\n\n break\n }\n default: {\n break\n }\n }\n })\n\n this.params.pipeline_title = this.emailForm.controls['name'].value;\n this.params.email = this.emailForm.controls['email'].value;\n\n\n console.log(this.params);\n this._stateService.setParams(this.params);\n\n this.postPipelineAPI(this.params);\n }\n\n postPipelineAPI(params: PipelineParams, getResults: boolean = true) {\n /**\n * Run All Above Post Pipeline\n * */\n this._pipelineService.postPipeline(params).subscribe(\n (resp) => {\n console.log(resp);\n if (resp.pipeline_id) {\n this._stateService.setPipelineId(resp.pipeline_id);\n this._stateService.setPipelineIdToParams(resp.pipeline_id);\n this._stateService.setPipelineSpecId(resp.pipeline_spec_id);\n this.location.replaceState(`pipeline/${resp.pipeline_id}`)\n // this.titleService.setTitle(`IEDB NG Tools Pipeline`);\n\n this._pipelineService.getPipeline(resp.pipeline_id).subscribe(value => {\n console.log(value);\n console.log(value.stages);\n _.forEach(value.stages, (s, i: number) => {\n console.log(i)\n if (i===0) {\n this.titleService.setTitle(`${s.stage_display_name}`)\n }\n this._stateService.changeResultUrl(s.stage_result_uri, i)\n })\n })\n } else if (resp.errors || resp.warnings) {\n this.errorMessages = resp.errors;\n this.warningMessages = resp.warnings;\n this.open(this.alertModal)\n console.log(resp)\n }\n }, error => {\n console.error(error)\n this.errorMessages.push(error)\n this.loading = false\n // this.submitted = false\n // this.tableStateSaving = false\n // this.enableInputs()\n });\n }\n\n fetchValidSteps() {\n /**\n /api/v1/pipeline/valid_steps\n * */\n const API_URL = `${environment['api_url']}/api/v1/pipeline/valid_steps`;\n this.http.get(API_URL).subscribe(value => {\n this.validSteps = value;\n console.log(value);\n })\n }\n\n addTCellPredictionFormGroup(\n inputSequenceText = '',\n minPeptideLength = 9,\n maxPeptideLength = 9,\n alleles: Allele[] = [],\n breakPeptides: boolean = false,\n predictions = [this.mhcBindingFormGroup()]\n ) {\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const all = sessionStorage.getItem('selectedAlleles') ? JSON.parse(sessionStorage.getItem('selectedAlleles') as string) : alleles\n sessionStorage.removeItem('selectedAlleles')\n\n console.log(seq)\n console.log(all)\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n alleles: this.fb.array(all),\n breakPeptides: breakPeptides,\n predictionModels: this.fb.array(predictions)\n };\n return this.fb.group(initialControlConfig)\n }\n\n addTCellPrediction2FormGroup(\n inputSequenceText = '',\n minPeptideLength = 15,\n maxPeptideLength = 15,\n breakPeptides: boolean = false,\n alleles: Allele[] = [],\n peptide_shift = 5,\n predictions = [this.mhcBindingFormGroup('netmhciipan_el')]\n ) {\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const all = sessionStorage.getItem('selectedAlleles') ? JSON.parse(sessionStorage.getItem('selectedAlleles') as string) : alleles\n sessionStorage.removeItem('selectedAlleles')\n\n console.log(seq)\n console.log(all)\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n alleles: this.fb.array(all),\n breakPeptides: breakPeptides,\n peptide_shift: peptide_shift,\n predictionModels: this.fb.array(predictions)\n };\n return this.fb.group(initialControlConfig)\n }\n\n initPepCompFormGroup(\n inputSequenceText = '',\n // minPeptideLength = 9,\n // maxPeptideLength = 9,\n alleles: Allele[] = [],\n predictions = [this.mhcBindingFormGroup()]\n ) {\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const all = sessionStorage.getItem('selectedAlleles') ? JSON.parse(sessionStorage.getItem('selectedAlleles') as string) : alleles\n sessionStorage.removeItem('selectedAlleles')\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n // peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n alleles: this.fb.array(all),\n predictionModels: this.fb.array(predictions)\n };\n return this.fb.group(initialControlConfig)\n }\n\n removeToolFromPipeline(formControlName: string) {\n /**\n * pop - Remove an item from the end of an array (Tools)\n 2 situations:\n When there is result\n When there is no result.\n * */\n this._stateService.popStage()\n this._stateService.popTool()\n this._stateService.popStageFromParams()\n\n this.rootForm.removeControl(formControlName)\n }\n\n addTCellPrediction(i: number, dataToPipe: string, tableName: string = 'peptide_table' ) {\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'mhci',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe}`],\n piped_stage_number: i,\n }\n ]},\n stage_display_name: 'T Cell Prediction - Class I',\n input_parameters: {},\n table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []},\n }\n\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'T-Cell Prediction - Class I',\n toolGroup: 'mhci',\n loading: false,\n submitted: false,\n disabled: false\n }, i)\n // this.stages.push({stage_number: 3, stage_type: 'prediction', tool_group: 'cluster', name: 'Cluster', input_parameters: {}});\n const initialControlConfig = {\n inputSequenceText: '',\n // sequences: sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : '',\n peptideLength: new UntypedFormControl([9, 10]),\n alleles: this.fb.array([]),\n // email: null,\n // jobTitle: null,\n breakPeptides: false,\n predictionModels: this.fb.array([\n this.mhcBindingFormGroup(),\n // this.mhcBindingFormGroup('smmpmbec'),\n // this.mhcBindingFormGroup('smm'),\n // this.pmhcImmunogencityFormGroup(),\n // this.mhcIProcessingFormGroup()\n ])\n };\n\n this.rootForm.addControl('mhci', this.fb.group(initialControlConfig));\n }\n\n addTCellPrediction2(i: number, dataToPipe: string, tableName: string = 'peptide_table' ) {\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'mhcii',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe}`],\n piped_stage_number: i,\n }\n ]},\n stage_display_name: 'T Cell Prediction - Class II',\n input_parameters: {},\n table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []},\n }\n\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'T-Cell Prediction - Class II',\n toolGroup: 'mhcii',\n loading: false,\n submitted: false,\n disabled: false\n }, i)\n // this.stages.push({stage_number: 3, stage_type: 'prediction', tool_group: 'cluster', name: 'Cluster', input_parameters: {}});\n const initialControlConfig = {\n inputSequenceText: '',\n peptideLength: new UntypedFormControl([15, 15]),\n breakPeptides: false,\n alleles: this.fb.array([]),\n peptide_shift: 5,\n predictionModels: this.fb.array([\n this.mhcBindingFormGroup('netmhciipan_el'),\n // this.mhcBindingFormGroup('smmpmbec'),\n // this.mhcBindingFormGroup('smm'),\n // this.pmhcImmunogencityFormGroup(),\n // this.mhcIProcessingFormGroup()\n ])\n };\n\n this.rootForm.addControl('mhcii', this.fb.group(initialControlConfig));\n }\n\n addClusterFormGroup(\n inputSequenceText = '',\n threshold = 0.7,\n minPeptideLength = 4,\n maxPeptideLength = 26,\n method = 'cluster-break'\n ) {\n\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n minPeptideLength = minPeptideLength === 0 ? 4 : minPeptideLength\n maxPeptideLength = maxPeptideLength === 0 ? 26 : maxPeptideLength\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n threshold,\n peptideLength: new UntypedFormControl([minPeptideLength, maxPeptideLength]),\n method\n };\n return this.fb.group(initialControlConfig)\n }\n\n addCluster(i: number, dataToPipe: string = 'peptide', tableName: string = 'peptide_table') {\n /**\n i - tools.length\n * */\n console.log('add cluster');\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'cluster',\n stage_display_name: 'Epitope Cluster Analysis',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe}`],\n piped_stage_number: i,\n }\n ]},\n input_parameters: {},\n table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []},\n }\n\n /** state update*/\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'Cluster',\n toolGroup: 'cluster',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }, i)\n\n this._stateService.setToolDisabled(true, i - 1)\n /** rootForm update */\n\n const initialControlConfig = {\n inputSequenceText: \"\",\n threshold: 0.7,\n peptideLength: new UntypedFormControl([4, 26]),\n method: 'cluster-break'\n };\n\n this.rootForm.addControl('cluster', this.fb.group(initialControlConfig));\n }\n\n /**\n Used in T-Cell Predictions\n 1) mhcBindingFormGroup\n 2) pmhcImmunogencityFormGroup\n 3) mhcIProcessingFormGroup\n\n Used in Peptide Variant Comparison\n 1) mhcBindingFormGroup\n 2) pmhcImmunogencityFormGroup\n 3) peptideSimilarityFormGroup\n * */\n mhcBindingFormGroup(method = 'netmhcpan_el') {\n /**\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'netmhcpan_el'\n * */\n return this.fb.group({\n type: 'binding',\n method: this.fb.control(method),\n })\n }\n\n peptideSimilarityFormGroup(method = 'icerfire') {\n /**\n * Creates peptideSimilarityFormGroup using formBuilder\n *\n * Currently defaulted to 'icerfire'\n * */\n return this.fb.group({\n type: 'peptide_similarity',\n method: this.fb.control(method),\n })\n }\n\n mhcNpFormGroup() {\n /**\n * Creates mhcNpFormGroup using formBuilder\n * */\n return this.fb.group({\n type: 'mhcnp'\n })\n }\n\n pmhcImmunogencityFormGroup(mask_choice = 'default', position_to_mask = '2,5,9') {\n /**\n * */\n return this.fb.group({\n type: 'immunogenicity',\n mask_choice: mask_choice,\n position_to_mask: this.fb.control(position_to_mask),\n })\n }\n\n mhcIProcessingFormGroup(predictor: any) {\n /**\n * TODO: add the rest of methods in\n * Creates mhcBindingFormGroup using formBuilder\n *\n * Currently defaulted to 'netmhcpan_el'\n * */\n\n const method = predictor.method\n\n switch (method) {\n case 'basic_processing': {\n return this.fb.group({\n type: \"processing\",\n method: this.fb.control(method),\n mhc_binding_method: \"netmhcpan_ba\",\n proteasome: \"immuno\",\n tap_precursor: 1,\n tap_alpha: 0.2\n\n })\n }\n case 'netchop': {\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n network_method: predictor.network_method,\n threshold: predictor.threshold\n })\n }\n case 'netctl': {\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n cleavage_weight: predictor.cleavage_weight,\n tap_weight: predictor.tap_weight,\n threshold: predictor.threshold\n })\n }\n case 'netctlpan': {\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n cleavage_weight: predictor.cleavage_weight,\n tap_weight: predictor.tap_weight,\n epitope_threshold: predictor.epitope_threshold\n })\n }\n default:\n return this.fb.group({\n type: 'processing',\n method: this.fb.control(method),\n })\n }\n }\n /**\n Used in T-Cell Predictions - Class II\n 1) mhcBindingFormGroup\n 2) pmhcImmunogencityFormGroup\n\n * */\n\n mhciiPmhcImmunogencityFormGroup(method = 'cd4episcore') {\n /**\n * Currently defaulted to 'cd4episcore'\n * */\n return this.fb.group({\n type: 'immunogenicity',\n method: this.fb.control(method),\n })\n }\n\n\n onGoToStage(toolGroup: string) {\n /**\n * used in pipeline sidebar to go to specific stage\n * all Tools' labels' ids are set to ${toolGroup}-label\n * */\n const navbarHeight = 81 // same as $navbar-height: 81px;\n window.scroll({\n left: 0,\n top: document.getElementById(`${toolGroup}-label`)!.offsetTop - navbarHeight,\n behavior: 'smooth'\n });\n }\n\n /* PepMatch Functions */\n addPepmatchFormGroup(\n inputSequenceText = '',\n proteome = 'Human',\n mismatch = 3,\n bestMatch = true,\n include_unmatched_peptides = false\n ) {\n\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n proteome,\n mismatch,\n bestMatch,\n include_unmatched_peptides\n };\n return this.fb.group(initialControlConfig)\n }\n\n addPepmatch(i: number, dataToPipe: string = 'peptide', tableName: string = 'peptide_table') {\n console.log('add pepmatch');\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'pepmatch',\n stage_display_name: 'Pepmatch',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe}`],\n piped_stage_number: i,\n }\n ]},\n input_parameters: {},\n table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []},\n }\n\n /** state update*/\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'Pepmatch',\n toolGroup: 'pepmatch',\n loading: false,\n submitted: false,\n disabled: false\n }, i)\n\n this._stateService.setToolDisabled(true, i - 1)\n /** rootForm update */\n\n const defaultFormGroup = this.addPepmatchFormGroup()\n\n this.rootForm.addControl('pepmatch', defaultFormGroup);\n }\n\n /* PepX Functions */\n addPepXFormGroup(\n inputSequenceText = '',\n qlevel = 'gene',\n datasource = 'Abelin',\n // dataset = 'v1'\n dataset_id = 2\n ) {\n\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const initialControlConfig = {\n inputSequenceText: [seq, Validators.maxLength(this.maxCharacters)],\n qlevel,\n datasource,\n // dataset\n dataset_id\n };\n return this.fb.group(initialControlConfig)\n }\n\n addPepX(i: number, dataToPipe: string = 'peptide', tableName: string = 'peptide_table') {\n console.log('add pepx');\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'pepx',\n stage_display_name: 'PepX',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe}`],\n piped_stage_number: i,\n }\n ]},\n input_parameters: {},\n table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []},\n }\n\n /** state update*/\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'PepX',\n toolGroup: 'pepx',\n loading: false,\n submitted: false,\n disabled: false\n }, i)\n\n this._stateService.setToolDisabled(true, i - 1)\n /** rootForm update */\n\n // const defaultFormGroup = this.addPepmatchFormGroup()\n const defaultFormGroup = this.addPepXFormGroup()\n\n this.rootForm.addControl('pepx', defaultFormGroup);\n }\n\n /* PepComp Functions */\n addPepCompFormGroup(\n inputSequenceText = '',\n alleles = this.fb.array([]),\n predictionModels = this.fb.array([this.mhcBindingFormGroup()])\n ) {\n\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputSequenceText;\n sessionStorage.removeItem('sequences');\n\n const initialControlConfig = {\n inputSequenceText: seq,\n alleles: alleles,\n predictionModels: predictionModels,\n };\n\n return this.fb.group(initialControlConfig)\n }\n\n addPepComp(i: number, tableName: string = 'unique_peptide', dataToPipe1: string = 'reference_peptide', dataToPipe2: string = 'mutant_peptide') {\n console.log('addPepComp');\n const stage = {\n stage_number: this.stages.length + 1,\n stage_type: 'prediction',\n tool_group: 'peptide_variant_comparison',\n stage_display_name: 'Peptide Variant Comparison',\n piped_data: {piped_input: [\n {\n piped_fields: [`${tableName}.${dataToPipe1}`,`${tableName}.${dataToPipe2}`],\n piped_stage_number: i,\n }\n ]},\n input_parameters: {},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n }\n\n this._stateService.addStage(stage)\n this._stateService.addStageToParams(stage)\n\n this._stateService.insertTool({\n name: 'Peptide Variant Comparison',\n toolGroup: 'peptide_variant_comparison',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n }, i)\n this._stateService.setToolDisabled(true, i - 1)\n\n const defaultFormGroup = this.addPepCompFormGroup()\n\n this.rootForm.addControl('pepcomp', defaultFormGroup);\n }\n\n /** MutGen Functions */\n addMutGenFormGroup(\n inputVcfText = '',\n annotate: boolean = false,\n reference_genome = 'GRCh38',\n peptide_length: number = 21,\n peptide_mutation_position1: number = 11,\n peptide_mutation_position2: number | null = null,\n frameshift_overlap: number = 9,\n min_len_near_start_stop: number = 16,\n maximum_peptide_length: number = 24\n ) {\n\n const seq = sessionStorage.getItem('sequences') ? sessionStorage.getItem('sequences') : inputVcfText;\n sessionStorage.removeItem('sequences');\n\n const initialControlConfig = {\n inputVcfText: seq,\n annotate: annotate,\n reference_genome: reference_genome,\n peptideLength: peptide_length,\n peptideMutationPosition1: peptide_mutation_position1,\n peptideMutationPosition2: peptide_mutation_position2,\n frameshiftOverlap: frameshift_overlap,\n minLengthNearStartStop: min_len_near_start_stop,\n maximumPeptideLength: maximum_peptide_length\n };\n\n return this.fb.group(initialControlConfig)\n }\n\n /*** Email functions */\n onSubmitEmailModal() {\n\n this.infoAccordionCollapse = false;\n this.submittedEmailForm = {...this.emailForm.value}\n // console.log('onSubmitEmailModal')\n // console.log(this.submittedEmailForm)\n\n if (this.pipelineId) {\n const params = {\n email: this.submittedEmailForm.email,\n pipeline_title: this.submittedEmailForm.name\n }\n\n this._pipelineService.putPipeline(this.pipelineId, params).subscribe((resp) => {\n // console.log(resp)\n })\n }\n\n this.modalService.dismissAll()\n }\n\n\n}\n","
\n
\n Loading...\n
\n
\n\n\n \n
\n \n

Pipeline Map

\n \n
\n \n \n \n \n \n \n \n
    \n
  • \n
    \n \n
    \n \n \n
    \n
    \n
  • \n
  • \n
    \n \n
    \n \n \n
    \n\n
    \n
  • \n
  • \n \n
  • \n
\n
\n
\n\n \n
\n \n
\n

\n \n

\n
\n
\n \n \n \n \n \n \n \n \n \n \n
Pipeline Name\n {{ submittedEmailForm['name'] }}\n
Email\n {{ submittedEmailForm['email'] }}\n
\n
\n
\n
\n
\n \n
\n\n

\n \n

\n
\n
\n \n \n
\n \n
\n\n
\n
\n \n \n
\n Loading...\n
\n \n
\n \n \n \n
\n \n
\n \n \n \n
\n\n
\n \n \n \n \n
\n
\n
\n \n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Tool Parameters\n
Predictors\n
\n {{ i + 1 }}\n . {{ o.type }} {{ ['binding', 'processing'].includes(o.type) ? '(' + o.method + ')' : null }}\n \n
\n
length(s)\n \n None\n \n \n \n {{ tCellForm.controls['peptideLength'].value[0] }}\n - {{ tCellForm.controls['peptideLength'].value[1] }}\n \n \n \n {{ tCellForm.controls['peptideLength'].value[0] }}\n \n \n \n
Alleles\n \n ({{ selectedAlleles[0].label }})\n \n \n ({{ selectedAlleles[0].label }}, {{ selectedAlleles[1].label }})\n \n 2\">\n ({{ selectedAlleles[0].label }},... {{ selectedAlleles[selectedAlleles.length - 1].label }})\n \n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Tool Parameters\n
Predictors\n
\n {{ i + 1 }}\n . {{ o.type }} {{ ['binding', 'immunogenicity'].includes(o.type) ? '(' + o.method + ')' : null }}\n \n
\n
Length(s)\n \n {{ tCell2Form.controls['peptideLength'].value[0] }}\n - {{ tCell2Form.controls['peptideLength'].value[1] }}\n \n \n \n {{ tCell2Form.controls['peptideLength'].value[0] }}\n \n \n
Pep. Spacing\n \n {{ tCell2Form.controls['peptide_spacing'].value }}\n \n
Alleles\n \n ({{ mhciiSelectedAlleles[0].label }})\n \n \n ({{ mhciiSelectedAlleles[0].label }}, {{ mhciiSelectedAlleles[1].label }})\n \n 2\">\n ({{ mhciiSelectedAlleles[0].label }},... {{ mhciiSelectedAlleles[mhciiSelectedAlleles.length - 1].label }})\n \n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Tool Parameters\n
Threshold\n {{ clusterForm.controls['threshold'].value * 100 }}%\n
length(s)\n \n {{ clusterMinPeptideLength }}-{{ clusterMaxPeptideLength }}\n \n
Method\n \n {{ clusterForm.controls['method'].value }}\n \n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Tool Parameters\n
Proteome\n {{ pepmatchForm.controls['proteome'].value }}\n
Max mismatches\n \n {{ pepmatchForm.controls['mismatch'].value }}\n \n
Best match per peptide\n \n {{ pepmatchForm.controls['bestMatch'].value }}\n \n
\n\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
\n Tool Parameters\n
Quantitation Level\n {{ pepxForm.controls['qlevel'].value }}\n
Data Source\n {{ pepxForm.controls['datasource'].value }}\n
Dataset ID\n \n {{ pepxForm.controls['dataset_id'].value }}\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Tool Parameters\n
Alleles\n \n ({{ selectedAlleles2[0].label }})\n \n \n ({{ selectedAlleles2[0].label }}, {{ selectedAlleles2[1].label }})\n \n 2\">\n ({{ selectedAlleles2[0].label }},... {{ selectedAlleles2[selectedAlleles2.length - 1].label }})\n \n
Predictors\n
\n {{ i + 1 }}\n . {{ o.type }} {{ ['binding', 'processing'].includes(o.type) ? '(' + o.method + ')' : null }}\n \n
\n
\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n
\n Tool Parameters\n
Peptide Length\n \n {{ mutgenForm.controls['peptideLength'].value }}\n \n
Peptide Mutation Position 1\n \n {{ mutgenForm.controls['peptideMutationPosition1'].value }}\n \n
Peptide Mutation Position 2\n \n {{ mutgenForm.controls['peptideMutationPosition2'].value }}\n \n
Frameshift Overlap\n \n {{ mutgenForm.controls['frameshiftOverlap'].value }}\n \n
Minimum Peptide Length\n \n {{ mutgenForm.controls['minLengthNearStartStop'].value }}\n \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n\n\n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n\n\n\n\n\n \n \n \n \n\n\n\n\n\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Documentation\n \n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n
\n \n \n \n \n \n \n \n \n \n\n \n \n
\n
\n\n
\n
\n
\n
\n
\n\n \n \n \n\n
\n \n
\n
\n \n
\n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n\n \n \n \n \n
\n
\n\n\n\n
\n

Missing/Invalid Parameters

\n \n
\n
\n

Please address the following issues in order for the pipeline to run:

\n \n \n \n \n \n
\n Errors ({{ errorMessages.length }})\n \n
\n
\n \n \n
    \n
  1. {{ message }}
  2. \n
\n
\n
\n \n \n \n \n
\n Warnings ({{ warningMessages.length }}) \n \n
\n
\n \n \n
    \n
  1. {{ message }}
  2. \n
\n
\n
\n
\n
\n
\n
\n
\n\n\n\n
\n

\n Pipeline Name and Email\n

\n \n
\n
\n
\n

\n Add or change the pipeline title and email address and we will send you an email when your job has finished.\n

\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n
\n
\n
\n\n","import {\n Component,\n Input,\n QueryList,\n ViewChildren} from '@angular/core';\nimport Columns from \"../_global/Columns\";\nimport * as _ from \"lodash\";\nimport {UntypedFormBuilder} from \"@angular/forms\";\nimport {NgbDropdown, NgbModal} from \"@ng-bootstrap/ng-bootstrap\";\nimport {Papa} from \"ngx-papaparse\";\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport {takeUntil} from \"rxjs/operators\";\nimport {Observable, Subject} from \"rxjs\";\nimport PipelineParams from \"../_global/PipelineParams\";\nimport Tool from \"../_global/Tool\";\nimport Stage from \"../_global/Stage\";\n\n@Component({\n selector: 'app-result-table-angular',\n templateUrl: './result-table-angular.component.html',\n styleUrls: ['./result-table-angular.component.scss']\n})\nexport class ResultTableAngularComponent {\n\n /** NgbDropdowns */\n @ViewChildren(NgbDropdown) dropdowns!: QueryList;\n private dropdown!: NgbDropdown;\n\n @Input() table_data: [(number | string)[]] = [[]]; // peptide_table\n @Input() columns: Columns[] | any; // peptide_table\n\n @Input() order: [][] | any = [];\n currentOrder: [][] | any;\n\n @Input() table_name!: string;\n @Input() tool_group!: string;\n\n currentPage: number = 1\n pages!: number;\n\n numOfRows: number = 100\n start!: number\n end: number = 0\n\n\n unsubscribe$ = new Subject();\n params$: Observable = this._stateService.params$;\n\n tools$: Observable = this._stateService.tools$;\n tools: Tool[] = [];\n\n stages$: Observable = this._stateService.stages$;\n stages: Stage[] = [];\n\n pipelineId$: Observable = this._stateService.pipelineId$;\n pipelineId = '';\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n private modalService: NgbModal,\n private papa: Papa,\n private _stateService: PipelineStateService\n ) {\n }\n\n ngOnInit() {\n this.start = this.currentPage\n this.pages = Math.floor(this.table_data.length/this.numOfRows)\n\n this.currentOrder = [...this.order];\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n })\n }\n\n get visibleColumns() {\n return _.filter(this.columns, c => !c.hidden) as Columns[]\n }\n\n get sliceTableData() {\n if(this.currentPage === 1) {\n this.start = 0\n this.end = this.numOfRows\n } else {\n this.start = this.currentPage * this.numOfRows\n this.end = this.start + this.numOfRows\n }\n return _.slice(this.table_data, this.start, this.end)\n }\n\n onPageSelect() {\n\n }\n\n nextPage() {\n this.currentPage += 1\n }\n\n prevPage() {\n this.currentPage -= 1\n }\n\n onPageJump() {\n const page = prompt('Jump to Page');\n\n if (page) {\n const tempInt = parseInt(page, 10);\n this.currentPage = tempInt;\n // Validation\n if (tempInt > this.pages) { // max\n this.currentPage = this.pages;\n } else if (tempInt < 1) { // min\n this.currentPage = 1;\n } else if (Number.isNaN(tempInt)) { // NaN\n this.currentPage = 1;\n }\n }\n }\n\n stopProp(e: { stopPropagation: () => void; }) {\n /** used in column filters */\n e.stopPropagation();\n }\n\n onSortColumns(colIndex: number, order: string) {\n /** used in column filters */\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // dtInstance.order([colIndex, order]).draw();\n // });\n }\n\n /** General filter functions */\n onFilterDropdownOpen() {\n $('.mat-drawer-content').removeClass(\"fixed-position\");\n $('.reset-button').prop(\"disabled\", false);\n $('.run-button').prop(\"disabled\", false);\n }\n\n onFilterDropdownClose() {\n $('.mat-drawer-content').addClass(\"fixed-position\");\n $('.reset-button').prop(\"disabled\", true);\n $('.run-button').prop(\"disabled\", true);\n }\n\n checkClosedDropdown(e: boolean) {\n if(!e) {this.onFilterDropdownOpen();}\n }\n\n checkOpenedDropdown(i: number) {\n /**\n * used in ngbDropdown - disable scroll when dropdown filter is applied.\n * */\n // Check which dropdown was clicked\n this.dropdown = this.dropdowns.get(i) as NgbDropdown;\n // Check if the clicked dropdown is open\n if(this.dropdown.isOpen()) {this.onFilterDropdownClose();}\n }\n\n /** Number Filter Functions*/\n setMinAndMax() {\n let that = this;\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // const newColumns = dtInstance.columns()\n // newColumns.every(function(i) {\n // let column = this;\n // const columnValue = column.dataSrc();\n //\n // let sortFunc;\n // if (columnValue !== 'core_peptide') {\n // sortFunc = (a: number, b: number) => a - b\n // }\n // /** Text Filter */\n // let distinctArray: any[] = [];\n // column.data().sort(sortFunc).each(function (d, j) {\n // if (distinctArray.indexOf(d) == -1) {\n // distinctArray.push(d);\n // }\n // });\n // /** Set Text/Number Filter Values */\n // // console.log(that.columns[i]['type']);\n // if (that.columns[i]['type'] === 'text') {\n // that.columns[i]['value_limits']['possibleValues'] = distinctArray\n // } else {\n // that.columns[i]['value_limits']['min'] = distinctArray[0]\n // that.columns[i]['value_limits']['max'] = distinctArray[distinctArray.length - 1]\n // }\n // })\n // })\n }\n\n onClearNumberFilter(i: number) {\n $(`.min${i}${this.tool_group}${this.table_name}, .max${i}${this.tool_group}${this.table_name}`).val(NaN);\n this.columns[i]['value_limits']['applied'] = false;\n this.columns[i]['value_limits']['minValue'] = NaN;\n this.columns[i]['value_limits']['maxValue'] = NaN;\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // dtInstance.column(i).search(\n // '',\n // true, false\n // ).draw();\n // this.emitFilterApplied.emit()\n // });\n }\n onNumberFilter(i: number) {\n this.columns[i]['value_limits']['minValue'] = parseFloat($(`.min${i}${this.tool_group}${this.table_name}`).val());\n this.columns[i]['value_limits']['maxValue'] = parseFloat($(`.max${i}${this.tool_group}${this.table_name}`).val());\n\n const {minValue, maxValue} = this.columns[i]['value_limits'];\n const filterApplied = !!(minValue || maxValue);\n this.columns[i]['value_limits']['applied'] = filterApplied;\n\n console.log(minValue)\n console.log(maxValue)\n\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // dtInstance.draw();\n // this.emitFilterApplied.emit()\n // });\n }\n\n /** Text Filter Functions*/\n onFilterPossibleValues(e: any, i: number) {\n /**\n * .toUpperCase() make it case insensitive\n * */\n\n let value = e.target.value;\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // let column = dtInstance.column(i);\n // let distinctArray: any[] = [];\n // column.data().sort().each(function (d, j) {\n // if (distinctArray.indexOf(d) == -1) {\n // distinctArray.push(d);\n // }\n // });\n // this.columns[i]['value_limits']['possibleValues'] = value ?\n // _.filter(distinctArray, (item) => _.startsWith(item.toUpperCase(), value.toUpperCase())) :\n // distinctArray\n // });\n\n }\n\n onClearTextFilter(i: number) {\n this.columns[i]['value_limits']['applied'] = false;\n $('.column-checkbox-'.concat(i.toString())).prop('checked', false);\n this.columns[i]['value_limits'].selectedValues = []\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // dtInstance.column(i).search(\n // '',\n // true, false\n // ).draw();\n // this.emitFilterApplied.emit()\n // // this.checkFilterApplied(dtInstance);\n // });\n }\n\n onTextFilter(i: number) {\n /**\n *\n * TODO: Edit this for params\n {\n \"search\": {\n \"search\": \"^MGQIVTMFE$|^GQIVTMFEA$|^QIVTMFEAL$\"\n },\n \"tool_group\": \"mhci\",\n \"name\": \"peptide\",\n \"source\": \"core\"\n },\n * */\n const { name, filters, value_limits, source } = this.columns[i];\n const {selectedValues} = value_limits;\n let searchString = selectedValues.length == 1 ? selectedValues[0] : selectedValues.join('|')\n this.columns[i]['value_limits']['applied'] = !!(selectedValues.length);\n /** create searchObject */\n\n console.log(searchString)\n\n // this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n // dtInstance.column(i).search(\n // searchString,\n // true, false\n // ).draw();\n // this.emitFilterApplied.emit()\n // });\n }\n\n createRegexSafe(searchString: string) {\n /**\n * Helper function - used in onTextValueSelect\n * */\n return '^' + searchString.toString().split('+').join('\\\\+').split('-').join('\\\\-').split('[').join('\\\\[').split(']').join('\\\\]').split('*').join('\\\\*') + '$';\n }\n\n onCheckSelectAllTextValue(e: any, i: number) {\n /**\n * e: $event\n * i: column index\n * */\n const checked = e.target.checked;\n this.columns[i]['value_limits'].selectedValues = [];\n if (checked) { // select all\n _.forEach(this.columns[i]['value_limits']['possibleValues'], (value) => {\n this.columns[i]['value_limits'].selectedValues.push(\n this.createRegexSafe(value)\n );\n });\n }\n }\n\n onTextValueSelect(e: any, i: number) {\n const checked = e.target.checked, value = e.target.value;\n // console.log(`checked=${checked} || value=${value}`)\n if (checked) {\n this.columns[i]['value_limits'].selectedValues.push(\n this.createRegexSafe(value)\n );\n } else {\n _.remove(this.columns[i]['value_limits'].selectedValues, (possibleValue) => this.createRegexSafe(value) === possibleValue)\n }\n // console.log(this.columns[i]['value_limits']);\n }\n\n}\n","
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n \n
\n current Page: {{currentPage}} / {{pages}}\n
\n
\n Total no of rows: {{table_data.length}}\n
\n \n
\n\n \n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n \n
\n
\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n","import {\n Component,\n OnInit,\n AfterViewInit,\n ViewChild,\n ViewChildren,\n Input,\n OnDestroy,\n Output,\n EventEmitter, ElementRef,\n QueryList\n} from '@angular/core';\nimport {UntypedFormBuilder, UntypedFormGroup} from \"@angular/forms\";\n\nimport {NgbModal, NgbDropdown} from '@ng-bootstrap/ng-bootstrap';\nimport _ from 'lodash';\nimport {Observable, Subject} from 'rxjs';\nimport {takeUntil} from \"rxjs/operators\";\nimport { Papa } from 'ngx-papaparse';\n\nimport {DataTableDirective} from 'angular-datatables';\nimport {ADTSettings} from 'angular-datatables/src/models/settings';\n\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\nimport Columns from '../_global/Columns';\nimport Tool from \"../_global/Tool\";\nimport Stage from \"../_global/Stage\";\n\n@Component({\n selector: 'app-result-table',\n templateUrl: './result-table.component.html',\n styleUrls: ['./result-table.component.scss']\n})\nexport class ResultTableComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @ViewChild(DataTableDirective, {static: false}) dtElement!: DataTableDirective;\n dtOptions: ADTSettings = {};\n\n @ViewChild('displayColumnModal') displayColumnModal!: ElementRef;\n\n /** NgbDropdowns */\n @ViewChildren(NgbDropdown) dropdowns!: QueryList;\n private dropdown!: NgbDropdown;\n\n @Input() inputChange: boolean = false;\n /** API Call Variables */\n @Input() table_data: [(number | string)[]] = [[]]; // peptide_table\n @Input() order: [][] | any = [];\n @Input() columns: Columns[] | any; // peptide_table\n defaultColumnConfig: object = {};\n @Input() warnings: [] = []\n @Input() tool_group!: string;\n @Input() index!: number;\n @Input() tableStateSaving = false;\n @Input() table_name!: string;\n\n @Output() emitSaveTableState = new EventEmitter();\n @Output() emitFilterApplied = new EventEmitter();\n @Output() emitResetTableState = new EventEmitter();\n\n prevColumnDisplayFormValue!: object\n columnDisplayForm!: UntypedFormGroup\n uniqSources: string[] = [];\n /** We use this trigger because fetching the list of persons can be quite long,\n thus we ensure the data is fetched before rendering */\n dtTrigger: Subject = new Subject();\n\n unsubscribe$ = new Subject();\n\n tools$: Observable = this._stateService.tools$;\n tools: Tool[] = [];\n\n stages$: Observable = this._stateService.stages$;\n stages: Stage[] = [];\n\n pipelineId$: Observable = this._stateService.pipelineId$;\n pipelineId = '';\n\n dataToPipe: string = '';\n dataToPipe2: string = '';\n\n currentOrder: [][] | any;\n\n table_state: any; // used in GET Pipeline\n searchCols: any[] = [] // used in GET Pipeline\n\n loading = false;\n constructor(\n private formBuilder: UntypedFormBuilder,\n private modalService: NgbModal,\n private papa: Papa,\n private _stateService: PipelineStateService\n ) {\n }\n\n ngOnInit() {\n this.currentOrder = [...this.order];\n console.log(this.order);\n\n this.dtOptions = {\n dom:\n '<\"\" ' +\n '<\"row p-1\" ' +\n '<\"col-3 pt-3\" l>' +\n '<\"col-4 px-5\" i>' +\n '<\"col-5\" p>>> t' +\n '<\"\" ' +\n '<\"row p-1\" ' +\n '<\"col-3 pt-3\" l>' +\n '<\"col-4 px-5\" i>' +\n '<\"col-5\" p>>>', // https://datatables.net/examples/basic_init/dom.html\n autoWidth: false,\n pagingType: 'simple_numbers',\n paging: true,\n pageLength: 50,\n ordering: true,\n orderMulti: true,\n stateSave: false,\n language: {\n lengthMenu: \"Show _MENU_ rows\",\n info: \"_START_ to _END_ of _TOTAL_ rows\",\n infoFiltered: \"(filtered from _MAX_ total rows)\"\n },\n data: this.table_data,\n order: this.currentOrder,\n columnDefs: _.map(this.columns, (column, i) => {\n return {\n targets: [i],\n createdCell: (td, cellData, rowData, row, col) => {\n let textAlign = ['int', 'float'].includes(column.type) ? 'right' : 'left';\n $(td).css('text-align', textAlign);\n },\n visible: !column.hidden, // set default visible columns\n render: (data, type) => {\n // console.log(i, data, type);\n if (column.type === 'int' && isNaN(data)) return parseInt(data);\n else if (column.type === 'float' && !isNaN(data) &&\n type === 'display' && column.number_of_digits) return parseFloat(data).toFixed(column.number_of_digits);\n else if (column.type === 'float' && !isNaN(data)) return parseFloat(data);\n else if (column.type === 'float' && isNaN(data)) return null;\n // if (column.name === 'protein_name' && data.length>=column.display_length) return `${data.substring(0, column.display_length)}...`;\n return data;\n }\n }\n }),\n destroy: true,\n deferRender: true,\n orderClasses: false,\n searchCols: []\n };\n\n // get tools\n this.tools$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n // console.log('tools$');\n // console.log(value);\n this.tools = value;\n })\n\n this.stages$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n this.stages = value;\n\n /** set dataToPipe */\n if(this.stages.length>=2) {\n const stage = this.stages[this.index+1]; // get the last stage\n // this.dataToPipe = stage?.piped_input && stage.piped_input[0].piped_fields[0];\n\n this.dataToPipe = stage?.piped_data && stage!.piped_data?.piped_input && stage.piped_data.piped_input[0]?.piped_fields![0] || '';\n this.dataToPipe2 = stage?.piped_data && stage!.piped_data?.piped_input && stage.piped_data.piped_input[0]?.piped_fields![1] || '';\n console.log(`dataToPipe = ${this.dataToPipe}`)\n console.log(`dataToPipe2 = ${this.dataToPipe2}`)\n } else {\n this.dataToPipe = '';\n this.dataToPipe2 = '';\n }\n // console.log(this.dataToPipe);\n\n /** set filters from GET Pipeline */\n this.table_state = this.stages[this.index]?.table_state;\n this.searchCols = Array.from({length: this.columns.length}, ()=> {})\n\n /**\n * Added 'this.table_state' in if statement and\n *\n * this.table_state[0] = peptide_table\n * this.table_state[1] = peptide_gene_summary_table (pepx)\n * */\n let tableIndex: number\n switch (this.table_name) {\n case 'peptide_gene_summary_table':\n tableIndex = 1\n break;\n case 'peptide':\n tableIndex = 1\n break;\n case 'unique_peptide':\n tableIndex = 0\n break;\n default: // peptide_table\n tableIndex = 0\n }\n\n if(this.table_state && this.table_state[tableIndex] && !_.isEmpty(this.table_state[tableIndex]?.columns)) {\n // console.log(`tableIndex=${tableIndex}`);\n // console.log(this.table_state[tableIndex].columns);\n // console.log(this.columns);\n for (const col in this.table_state[tableIndex].columns) {\n let column = this.table_state[tableIndex].columns[col]\n const{ name, source } = column\n const { min, max, search } = column.search;\n let i = _.findIndex(this.columns, {name, source})\n\n // console.log(i)\n // console.log({name, source})\n\n this.columns[i].value_limits.minValue = min || min === 0 ? min : NaN\n this.columns[i].value_limits.maxValue = max || max === 0 ? max : NaN\n\n this.searchCols[i] = {search: search, regex: true, smart: false}\n this.columns[i].value_limits.selectedValues = search ? search.split('|') : []\n this.columns[i].value_limits.applied = true\n }\n\n }\n // this.dtOptionsArr[this.index].searchCols = this.searchCols;\n this.dtOptions.searchCols = this.searchCols;\n })\n\n this.pipelineId$.pipe(takeUntil(this.unsubscribe$)).subscribe(value => {\n console.log(`pipelineId=${value}`);\n this.pipelineId = value;\n })\n\n }\n\n ngAfterViewInit() {\n this.setColumnDisplayForm();\n this.dtTrigger.next();\n // this.setMinAndMax();\n\n // console.log(this.filterDropdown.isOpen())\n }\n\n ngOnDestroy(): void {\n // $.fn.dataTable.ext.search = [];\n this.dtTrigger.unsubscribe();\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n get visibleColumns() {\n return _.filter(this.columns, c => !c.hidden) as Columns[]\n }\n\n onOpenDisplayColumnModal() {\n this.prevColumnDisplayFormValue = this.columnDisplayForm.value;\n console.log(this.columnDisplayForm.value)\n this.disableSortedColumnInputs()\n this.disableInputColumns()\n this.open(this.displayColumnModal)\n }\n\n disableSortedColumnInputs() {\n /**\n * Prior to opening modal,\n * disable controls from columnDisplayForm that have sorted columns.\n * */\n this.columnDisplayForm.enable();\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n const colIndex = [];\n const order = dtInstance.state().order;\n _.forEach(order, (o) => {\n console.log(o);\n colIndex.push(o[0]);\n const formControlName = this.columns[o[0]].filterKey;\n console.log(formControlName);\n this.columnDisplayForm.controls[`${formControlName}`].disable();\n })\n });\n }\n\n disableInputColumns() {\n /**\n * Prior to opening modal,\n * disable controls from columnDisplayForm that have columns that can be used downstream (i.e. peptide and cluster_concensus).\n * */\n this.columnDisplayForm.controls['core.peptide']?.value && this.columnDisplayForm.controls['core.peptide'].disable()\n this.columnDisplayForm.controls['cluster.peptide']?.value && this.columnDisplayForm.controls['cluster.peptide'].disable()\n this.columnDisplayForm.controls['cluster.cluster_consensus']?.value && this.columnDisplayForm.controls['cluster.cluster_consensus'].disable()\n\n /**\n * MHCII - TODO if core columns are defaulted to be seen\n * EXAMPLE - http://localhost:4200/pipeline/7fd07fb9-930d-44d7-9d0c-ca9df5c9d5f5\n * Another EXAMPLE - when you load the pipeline, the piped column (CD4Episcore Core) does not appear so just have all columns shown as default - http://localhost:4200/pipeline/d79137e0-fcdf-4739-8d4b-4153b191eb5e\n * - icore examples http://localhost:4200/pipeline/43e213e5-3183-4704-a82f-41a1ddc22028\n * Can hide the pipe to column if they are not defaulted to be disabled.\n **/\n // this.columnDisplayForm.controls['binding/elution.netmhciipan_ba_core'] && this.columnDisplayForm.controls['binding/elution.netmhciipan_ba_core'].disable()\n // this.columnDisplayForm.controls['core.peptide']?.value && this.columnDisplayForm.controls['core.peptide'].disable()\n // this.columnDisplayForm.controls['core.peptide']?.value && this.columnDisplayForm.controls['core.peptide'].disable()\n // this.columnDisplayForm.controls['core.peptide']?.value && this.columnDisplayForm.controls['core.peptide'].disable()\n // this.columnDisplayForm.controls['binding/elution.tepitope_core']?.value && this.columnDisplayForm.controls['binding/elution.tepitope_core'].disable()\n }\n\n /** Column Display Modal Functions*/\n\n open(content: any) {\n /**\n * Open Modal\n * */\n this.modalService.open(content, {\n ariaLabelledBy: 'modal-basic-title',\n size: 'lg',\n animation: true,\n backdrop: 'static'\n }).result.then((result) => {\n console.log(result)\n // this.closeResult = `Closed with: ${result}`;\n }, (reason) => {\n console.log(reason)\n });\n }\n\n dismissModal() {\n this.columnDisplayForm.patchValue(this.prevColumnDisplayFormValue)\n\n this.modalService.dismissAll()\n }\n\n onSetDisplayColumns() {\n /**\n * Display onClick\n * */\n let visibleColumns: number[] = []; // let visibleColumns: string[] = [];\n let invisibleColumns: number[] = []; // let invisibleColumns: string[] = [];\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n console.log(dtInstance);\n _.forEach(this.columns, (o, i: number) => {\n if (this.columnDisplayForm.controls[`${o.filterKey}`].value) {\n visibleColumns.push(i)\n this.columns[i].hidden = false\n }\n else {\n invisibleColumns.push(i);\n this.columns[i].hidden = true\n }\n })\n dtInstance.columns(visibleColumns).visible(true);\n dtInstance.columns(invisibleColumns).visible(false);\n this.modalService.dismissAll();\n });\n }\n\n setColumnDisplayForm() {\n /**\n * 1) set's this.selectedColumn w/ recommendedColumns, smmColumns, consensusColumns\n * 2) set's this.columnDisplayForm with the proper inputs.\n * 3) Also sets $.fn.dataTable.ext which allows number filtering\n * */\n let controlConfig: any = {}\n this.uniqSources = [];\n _.forEach(this.columns, (col, i: number) => {\n controlConfig[`${col.filterKey}`] = !col.hidden;\n if (!this.uniqSources.includes(col.source)) {\n this.uniqSources.push(col.source);\n }\n // datatables adding min/max filters for each of the table\n $.fn['dataTable'].ext.search.push((settings: any, data: string[], dataIndex: any) => {\n\n // const table = settings.table()\n if (settings.nTable.id !== `DataTables_${this.tool_group}${this.table_name}`){\n return true;\n }\n\n // const id = parseFloat(data[i]) || i; // use data for the id column - can't use this because '0' does not get\n const val = parseFloat(data[i]); // 0 does get set properly\n /**\n 1. Both min and max are numbers\n * */\n if ((isNaN(this.columns[i].value_limits?.minValue) && isNaN(this.columns[i].value_limits?.maxValue)) ||\n (isNaN(this.columns[i].value_limits?.minValue) && val <= this.columns[i].value_limits?.maxValue) ||\n (this.columns[i].value_limits?.minValue <= val && isNaN(this.columns[i].value_limits?.maxValue)) ||\n (this.columns[i].value_limits?.minValue <= val && val <= this.columns[i].value_limits?.maxValue)) {\n return true;\n }\n return false;\n\n })\n })\n this.columnDisplayForm = this.formBuilder.group(controlConfig);\n this.defaultColumnConfig = controlConfig\n }\n\n onDefaultColumns() {\n /**\n uses this.defaultColumnConfig that gets set in this.setColumnDisplayForm()\n * */\n this.columnDisplayForm = this.formBuilder.group(this.defaultColumnConfig);\n }\n\n stopProp(e: { stopPropagation: () => void; }) {\n /** used in column filters */\n e.stopPropagation();\n }\n\n onSortColumns(colIndex: number, order: string) {\n /** used in column filters */\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n dtInstance.order([colIndex, order]).draw();\n });\n }\n\n /** General filter functions */\n onFilterDropdownOpen() {\n $('.mat-drawer-content').removeClass(\"fixed-position\");\n $('.reset-button').prop(\"disabled\", false);\n $('.run-button').prop(\"disabled\", false);\n }\n\n onFilterDropdownClose() {\n $('.mat-drawer-content').addClass(\"fixed-position\");\n $('.reset-button').prop(\"disabled\", true);\n $('.run-button').prop(\"disabled\", true);\n }\n\n checkClosedDropdown(e: boolean) {\n if(!e) {this.onFilterDropdownOpen();}\n }\n\n checkOpenedDropdown(i: number) {\n /**\n * used in ngbDropdown - disable scroll when dropdown filter is applied.\n * */\n // Check which dropdown was clicked\n this.dropdown = this.dropdowns.get(i) as NgbDropdown;\n // Check if the clicked dropdown is open\n if(this.dropdown.isOpen()) {this.onFilterDropdownClose();}\n }\n\n\n /** Number Filter Functions*/\n setMinAndMax() {\n let that = this;\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n const newColumns = dtInstance.columns()\n newColumns.every(function(i) {\n let column = this;\n const columnValue = column.dataSrc();\n\n let sortFunc;\n if (columnValue !== 'core_peptide') {\n sortFunc = (a: number, b: number) => a - b\n }\n /** Text Filter */\n let distinctArray: any[] = [];\n column.data().sort(sortFunc).each(function (d, j) {\n if (distinctArray.indexOf(d) == -1) {\n distinctArray.push(d);\n }\n });\n /** Set Text/Number Filter Values */\n // console.log(that.columns[i]['type']);\n if (that.columns[i]['type'] === 'text') {\n that.columns[i]['value_limits']['possibleValues'] = distinctArray\n } else {\n that.columns[i]['value_limits']['min'] = distinctArray[0]\n that.columns[i]['value_limits']['max'] = distinctArray[distinctArray.length - 1]\n }\n })\n })\n }\n\n onClearNumberFilter(i: number) {\n $(`.min${i}${this.tool_group}${this.table_name}, .max${i}${this.tool_group}${this.table_name}`).val(NaN);\n this.columns[i]['value_limits']['applied'] = false;\n this.columns[i]['value_limits']['minValue'] = NaN;\n this.columns[i]['value_limits']['maxValue'] = NaN;\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n dtInstance.column(i).search(\n '',\n true, false\n ).draw();\n this.emitFilterApplied.emit()\n });\n }\n onNumberFilter(i: number) {\n\n this.columns[i]['value_limits']['minValue'] = parseFloat($(`.min${i}${this.tool_group}${this.table_name}`).val());\n this.columns[i]['value_limits']['maxValue'] = parseFloat($(`.max${i}${this.tool_group}${this.table_name}`).val());\n\n const {minValue, maxValue} = this.columns[i]['value_limits'];\n\n const filterApplied = !!(minValue || maxValue || minValue === 0 || maxValue === 0);\n this.columns[i]['value_limits']['applied'] = filterApplied\n\n console.log(`index=${i}`)\n console.log(minValue)\n console.log(maxValue)\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n dtInstance.draw();\n this.emitFilterApplied.emit()\n });\n }\n\n /** Text Filter Functions*/\n onFilterPossibleValues(e: any, i: number) {\n /**\n * .toUpperCase() make it case insensitive\n * */\n\n let value = e.target.value;\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n let column = dtInstance.column(i);\n let distinctArray: any[] = [];\n column.data().sort().each(function (d, j) {\n if (distinctArray.indexOf(d) == -1) {\n distinctArray.push(d);\n }\n });\n this.columns[i]['value_limits']['possibleValues'] = value ?\n _.filter(distinctArray, (item) => _.startsWith(item.toUpperCase(), value.toUpperCase())) :\n distinctArray\n });\n\n }\n\n onClearTextFilter(i: number) {\n this.columns[i]['value_limits']['applied'] = false;\n $('.column-checkbox-'.concat(i.toString())).prop('checked', false);\n this.columns[i]['value_limits'].selectedValues = []\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n dtInstance.column(i).search(\n '',\n true, false\n ).draw();\n this.emitFilterApplied.emit()\n // this.checkFilterApplied(dtInstance);\n });\n }\n\n onTextFilter(i: number) {\n /**\n *\n * TODO: Edit this for params\n {\n \"search\": {\n \"search\": \"^MGQIVTMFE$|^GQIVTMFEA$|^QIVTMFEAL$\"\n },\n \"tool_group\": \"mhci\",\n \"name\": \"peptide\",\n \"source\": \"core\"\n },\n * */\n const { name, filters, value_limits, source } = this.columns[i];\n const {selectedValues} = value_limits;\n let searchString = selectedValues.length == 1 ? selectedValues[0] : selectedValues.join('|')\n this.columns[i]['value_limits']['applied'] = !!(selectedValues.length);\n /** create searchObject */\n\n console.log(searchString)\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n dtInstance.column(i).search(\n searchString,\n true, false\n ).draw();\n this.emitFilterApplied.emit()\n }\n );\n }\n\n createRegexSafe(searchString: string) {\n /**\n * Helper function - used in onTextValueSelect\n * */\n return '^' + searchString.toString().split('+').join('\\\\+').split('-').join('\\\\-').split('[').join('\\\\[').split(']').join('\\\\]').split('*').join('\\\\*') + '$';\n }\n\n onCheckSelectAllTextValue(e: any, i: number) {\n /**\n * e: $event\n * i: column index\n * */\n const checked = e.target.checked;\n this.columns[i]['value_limits'].selectedValues = [];\n if (checked) { // select all\n _.forEach(this.columns[i]['value_limits']['possibleValues'], (value) => {\n this.columns[i]['value_limits'].selectedValues.push(\n this.createRegexSafe(value)\n );\n });\n }\n }\n\n onTextValueSelect(e: any, i: number) {\n const checked = e.target.checked, value = e.target.value;\n // console.log(`checked=${checked} || value=${value}`)\n if (checked) {\n this.columns[i]['value_limits'].selectedValues.push(\n this.createRegexSafe(value)\n );\n } else {\n _.remove(this.columns[i]['value_limits'].selectedValues, (possibleValue) => this.createRegexSafe(value) === possibleValue)\n }\n // console.log(this.columns[i]['value_limits']);\n }\n\n clearTableState(): void {\n\n this.emitResetTableState.emit()\n\n this.currentOrder = [...this.order]\n this.dtOptions.order = this.currentOrder\n\n this.dtTrigger.next(this.dtOptions);\n\n const initTool = this.tools[this.index];\n const unSubmittedTool = {\n ...initTool,\n appliedFilters: undefined\n }\n this._stateService.insertTool(unSubmittedTool, this.index);\n const table_state = [{table: this.table_name, columns: {}}]\n console.log(table_state)\n\n\n this._stateService.insertTableStateToStage(table_state, this.index);\n this._stateService.applyFiltersToParams(this.index, {});\n this.setColumnDisplayForm();\n this.setMinAndMax();\n }\n\n onSaveTableState() {\n /**\n * Save Table State\n * */\n this.emitSaveTableState.emit()\n }\n\n downloadResultFiles(data: string, format: string, fileName='result') {\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n const blob = new Blob([data]); // thx: http://stackoverflow.com/a/18925211\n\n // const blob = new Blob([data]); // thx: http://stackoverflow.com/a/18925211\n a.href = window.URL.createObjectURL(blob);\n switch (format) {\n case 'csv':\n a.download = `${fileName}.csv`;\n break;\n case 'tsv':\n a.download = `${fileName}.tsv`;\n break;\n case 'json':\n a.download = `${fileName}.json`;\n break;\n default:\n a.download = `${fileName}.txt`;\n break;\n }\n\n a.click();\n }\n\n convertCurrentResultToJSON() : any {\n return _.map(this.table_data, (row) => {\n let obj: any = {}\n _.forEach(row, (value, i) => {\n obj[this.columns[i].display_name] = value\n })\n return obj\n })\n }\n\n convertCurrentResultToJSON2(data: any, visible_columns: any) : any {\n return _.map(data, (row) => {\n let obj: any = {}\n _.forEach(row, (value, i) => {\n if(visible_columns[i]) {\n obj[this.columns[i].display_name] = value\n }\n })\n return obj\n })\n }\n\n downloadAllTsv() {\n /**\n * JSON -> TSV -> File\n * */\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n /** dtInstance.order() -> lodash order */\n const order = dtInstance.order()\n\n const lodashOrder = this.convertDTOrderToLodash(order)\n\n /** get and sort data */\n const data = this.convertCurrentResultToJSON();\n\n const sortedData = _.orderBy(data, ...lodashOrder)\n\n console.log(sortedData)\n\n const config = {\n delimiter: \"\\t\",\n }\n /** convert to tsv and download result */\n const csvData = this.papa.unparse(sortedData, config)\n console.log(csvData)\n this.downloadResultFiles(csvData, 'tsv', fileName)\n })\n }\n\n downloadAllCsv() {\n /**\n * JSON -> CSV -> File\n * */\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n /** dtInstance.order() -> lodash order */\n const order = dtInstance.order()\n\n const lodashOrder = this.convertDTOrderToLodash(order)\n\n /** get and sort data */\n const data = this.convertCurrentResultToJSON();\n\n const sortedData = _.orderBy(data, ...lodashOrder)\n /** download sorted data */\n const csvData = this.papa.unparse(sortedData)\n console.log(csvData)\n this.downloadResultFiles(csvData, 'csv', fileName)\n })\n }\n\n downloadAllJSON() {\n /**\n * JSON -> File\n * */\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n /** dtInstance.order() -> lodash order */\n const order = dtInstance.order()\n\n const lodashOrder = this.convertDTOrderToLodash(order)\n\n /** get and sort data */\n const data = this.convertCurrentResultToJSON();\n\n const sortedData = _.orderBy(data, ...lodashOrder)\n\n /** download sorted data */\n this.downloadResultFiles(JSON.stringify(sortedData, null, 2), 'json', fileName)\n })\n\n }\n\n downloadTSV() {\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}_displayed`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n const peptide_table = dtInstance.rows({page: 'current', search: 'applied'}).data();\n console.log(peptide_table)\n const d = dtInstance.columns().visible();\n console.log(d)\n // const data = this.convertCurrentResultToTSV2(peptide_table, d)\n const data = this.convertCurrentResultToJSON2(peptide_table, d)\n const config = {\n delimiter: \"\\t\",\n }\n const csvData = this.papa.unparse(data, config)\n console.log(csvData)\n this.downloadResultFiles(csvData, 'tsv', fileName)\n }\n );\n }\n\n downloadCSV() {\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}_displayed`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n const peptide_table = dtInstance.rows({page: 'current', search: 'applied'}).data();\n // console.log(peptide_table)\n const d = dtInstance.columns().visible();\n // console.log(d)\n // const data = this.convertCurrentResultToTSV2(peptide_table, d)\n const data = this.convertCurrentResultToJSON2(peptide_table, d)\n const csvData = this.papa.unparse(data)\n // console.log(csvData)\n this.downloadResultFiles(csvData, 'csv', fileName)\n }\n );\n }\n\n downloadJSON() {\n const fileName = `${this.table_name}_${this.pipelineId.substring(0, 8)}_displayed`\n\n this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {\n const peptide_table = dtInstance.rows( {page:'current', search: 'applied'} ).data();\n // console.log(peptide_table)\n const d = dtInstance.columns().visible();\n // console.log(d)\n const data = this.convertCurrentResultToJSON2(peptide_table, d)\n // console.log(data)\n this.downloadResultFiles(JSON.stringify(data, null, 2), 'json', fileName)\n }\n );\n }\n\n convertDTOrderToLodash(order: (string | number)[][]) {\n /**\n Helper function for download all\n convert dt table order -> lodash orderBy\n\n * https://datatables.net/reference/api/order()\n * https://lodash.com/docs/4.17.15#orderBy\n\n * */\n // console.log(this.columns)\n const tempVal = _.map(order, (o) => {\n const a = this.columns[o[0]]\n // console.log(a)\n return [a['display_name'], o[1]]\n })\n\n const temp1: string[] = []\n const temp2: string[] = []\n _.forEach(tempVal, (o) => {\n temp1.push(o[0])\n temp2.push(o[1])\n })\n\n return [temp1, temp2]\n }\n}\n","
\n \n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n \n \n Please save table state in order to pipe to the next tool.\n \n \n \n \n\n
\n \n
\n
\n \n \n \n \n\n \n \n \n \n \n\n \n
\n
\n\n
\n\n\n\n
\n

Select Columns to Display

\n \n
\n
\n
\n
\n
\n {{uniqSrc.split('.')[1] || uniqSrc.split('.')[0] | titlecase}}\n \n \n
\n \n
\n \n \n \n {{o.description}}\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n

\n Sorted column and columns that can be used as inputs downstream cannot be hidden.\n

\n
\n","/**\n Not in use\n */\nimport {ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {FormBuilder, UntypedFormControl, UntypedFormGroup, FormGroupDirective} from \"@angular/forms\";\n\nimport {debounceTime, distinctUntilChanged, map, takeUntil, tap} from 'rxjs/operators';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\n\nimport {PipelineStateService} from \"../services/state-services/pipeline-state-service/pipeline-state.service\";\n\n@Component({\n selector: 'app-sequence-input',\n templateUrl: './sequence-input.component.html',\n styleUrls: ['./sequence-input.component.scss']\n})\nexport class SequenceInputComponent implements OnInit, OnDestroy {\n\n @Input()\n set inputSequenceText(text: string) {\n this.formGroup.setValue({inputSequenceText: text}, { emitEvent: false });\n }\n\n @Output()\n sequenceTextUpdate: EventEmitter<{inputSequenceText: ''}> = new EventEmitter();\n\n formGroup: UntypedFormGroup = new UntypedFormGroup({\n inputSequenceText: new UntypedFormControl(''),\n })\n\n private unsubscribe$ = new Subject();\n\n submitted = false;\n loading = false;\n\n // inputSequenceText = '';\n\n /** sequence variables */\n synthesisDownloadLinks = {\n sequence_list_json_uri: '',\n sequence_list_fasta_uri: ''\n };\n\n filteredSequences: { name: string, sequences: string }[] = [];\n numOfAA: number = 0;\n\n constructor(\n private _stateService: PipelineStateService,\n ) { }\n\n ngOnInit(): void {\n // this.inputSequenceText = this._stateService.\n // this._stateService.inputSequenceText$\n // this.tCellForm = this.rootFormGroup.control.get(this.formGroupName) as FormGroup;\n this.formGroup\n .get('inputSequenceText')!\n .valueChanges.pipe(takeUntil(this.unsubscribe$), debounceTime(350))\n .pipe(\n tap((value) => console.log(value))\n )\n .subscribe((value) => {\n this._stateService.setInputSequenceText(value);\n this.sequenceTextUpdate.emit({\n ...this.formGroup.value,\n });\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n\n\n onClickTextArea({e}: { e: any }) {\n console.log(e.target.value);\n }\n\n onFileDropped($event: any[]) {\n console.log($event);\n const file = $event[0];\n const fileSize = file.size / 1024; // in kB\n console.log(file.type);\n // if (fileSize > 20000) {\n // this.alertService.add('File Size is too big! (20mB max)', 'alert-danger');\n // this.open(this.alertModal);\n // }\n // else {\n // this.prepareSequenceFileList($event);\n // }\n }\n\n}\n","\n
\n
Input Sequences
\n\n
\n \n \n
\n
\n \n  \n
\n \n JSON\n \n FASTA\n \n Original\n \n
\n
\n
\n  \n \n Upload inputs as JSON\n \n\n \n\n \n Upload sequence file (.txt, .json, .fasta)\n \n \n  \n
\n
\n
\n \n\n
\n {{filteredSequences.length}} sequence, {{numOfAA}} aa\n
\n
\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertServiceService {\n\n public messages: string[] = []; // used only for conditional rendering\n public message = '';\n public colors = 'alert-danger';\n\n add(message: string, alertType: string) {\n this.messages.push(message);\n this.message = message;\n this.colors = alertType;\n }\n clear() {\n this.message = '';\n this.messages = [];\n }\n\n displayMessage() {\n if (this.messages.length > 0) {\n return true;\n }\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {Observable, timer, of} from \"rxjs\";\nimport {debounce, catchError, debounceTime, distinctUntilChanged, map, tap, switchMap} from 'rxjs/operators';\n\nimport {environment} from '../../../environments/environment';\n\nconst ALLELE_SEARCH_API_URL = `${environment['api_url']}/api/v1/alleles/search`;\n\nconst PARAMS = new HttpParams();\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlleleSearchService {\n\n constructor(private http: HttpClient) { }\n\n search(term: string, method='mhci') {\n if (term === '') {\n return of([]);\n }\n PARAMS.set('query', term)\n let new_search_api_url = `${ALLELE_SEARCH_API_URL}?query=${term}&toolsname=${method}`\n console.log(new_search_api_url);\n return this.http\n .get(new_search_api_url).pipe(\n map(response => {\n // @ts-ignore\n console.log(response['alleles']);\n // @ts-ignore\n return response['alleles']\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\n\nimport {environment} from '../../../environments/environment';\n// import * as _ from \"lodash\";\nconst API_URL = `${environment['api_url']}/api/v1/announcements`;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class AnnouncementService {\n\n constructor(private http: HttpClient) { }\n\n getAnnouncements() : any {\n return this.http.get(API_URL)\n }\n}\n","import { Injectable } from '@angular/core';\n\ndeclare let gtag: Function;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GoogleAnalyticsService {\n constructor() {}\n public eventEmitter(eventName: string, eventCategory: string, eventAction: string, eventLabel: string, eventValue: number) {\n gtag('event', eventName, {\n eventCategory,\n eventLabel,\n eventAction,\n eventValue,\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SharedService {\n acceptedConsent: boolean = false;\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpParams} from '@angular/common/http';\nimport {UntypedFormGroup} from \"@angular/forms\";\nimport {Observable, BehaviorSubject} from 'rxjs';\nimport {debounce, catchError, debounceTime, distinctUntilChanged, map, tap, switchMap} from 'rxjs/operators';\n\nimport {environment} from '../../../environments/environment';\nimport * as _ from \"lodash\";\n\nconst API_URL = `${environment['api_url']}/api/v1/pipeline`;\nconst PIPELINE_SPEC_API_URL = `${environment['api_url']}/api/v1/pipeline_spec`;\nconst RESULT_API_URL = `${environment['api_url']}/results`;\nconst PARAMS = new HttpParams();\nimport Allele from \"../../_global/Allele\";\n@Injectable({\n providedIn: 'root'\n})\nexport class PipelineService {\n\n public _currentPipelineId = new BehaviorSubject('');\n\n public get currentPipelineId(): Observable {\n return this._currentPipelineId.asObservable();\n }\n runSetInterval: any;\n\n constructor(private http: HttpClient) {\n }\n\n postPipeline(data: object): Observable {\n /**\n /api/v1/pipeline\n * */\n console.log(JSON.stringify(data, null, 2));\n return this.http.post(API_URL, data)\n .pipe(\n tap((resp: any) => {\n // console.log(resp); // debugger\n })\n )\n }\n\n putPipeline(pipelineId: string, data: object): Observable {\n /**\n /api/v1/pipeline\n * */\n console.log(JSON.stringify(data, null, 2));\n return this.http.put(`${API_URL}/${pipelineId}`, data)\n .pipe(\n tap((resp: any) => {\n // console.log(resp); // debugger\n })\n )\n }\n\n getPipeline(pipelineId: string) {\n /**\n /api/v1/pipeline/{pipeline_id}\n {\n \"pipeline_id\": \"b5bec4c9-d657-483f-9cab-5113d62c6c2e\",\n \"pipeline_title\": \"\",\n \"pipeline_date\": \"2022-01-17\",\n \"pipeline_spec_id\": \"631f3a1c-4fbd-4968-9266-b56019f0a5e4\",\n \"email\": \"\",\n \"title\": \"\",\n \"stages\": [\n {\n \"stage_id\": \"dd20849b-642a-4c00-9b71-8b799c6c8e57\",\n \"stage_url\": \"https://api-iedb-ar-prototype-dev.lji.org/api/v1/stage/dd20849b-642a-4c00-9b71-8b799c6c8e57\",\n \"stage_number\": 1,\n \"input_stage_number\": null,\n \"input_stage_id\": null,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mhci\",\n \"stage_messages\": {},\n \"stage_status\": \"done\",\n \"stage_result_id\": \"1642448438.4946783-crBK5D3C\",\n \"stage_result_uri\": \"https://api-iedb-ar-prototype-dev.lji.org/api/v1/results/1642448438.4946783-crBK5D3C\",\n \"input_data\": {\n \"input_parameters_id\": \"1642448437.0379062-7KNyAzhE\",\n \"input_parameters_uri\": \"https://api-iedb-ar-prototype-dev.lji.org/api/v1/get_object/1642448437.0379062-7KNyAzhE\",\n \"input_sequence_text_id\": \"1642448437.0429754-blM9DgMu\",\n \"input_sequence_text_uri\": \"https://api-iedb-ar-prototype-dev.lji.org/api/v1/get_object/1642448437.0429754-blM9DgMu\"\n }\n }\n ]\n}\n */\n\n return this.http.get(`${API_URL}/${pipelineId}?return_input_URIs=True`)\n .pipe(\n tap((resp: any) => {\n console.log(resp);\n })\n )\n }\n\n getPipelineSpec(pipelineSpecId: string) {\n /**\n {\n \"pipeline_spec_id\": \"8acffb74-f561-433e-b1f4-082e616ef287\",\n \"description\": \"\",\n \"pipeline_params\": {\n \"stages\": [\n {\n \"stage_type\": \"prediction\",\n \"tool_group\": \"cluster\",\n \"table_state\": {\n \"columns\": {}\n },\n \"stage_number\": 1,\n \"input_datasets\": [\n {}\n ],\n \"input_parameters\": {\n \"predictors\": [\n {\n \"type\": \"cluster\",\n \"method\": \"cliques\"\n }\n ],\n \"cluster_pct_identity\": 0.4,\n \"peptide_length_range\": [\n 0,\n 0\n ]\n }\n },\n {\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mhci\",\n \"table_state\": {\n \"columns\": {}\n },\n \"stage_number\": 2,\n \"input_datasets\": [\n {\n \"data_to_pipe\": \"peptide\",\n \"input_stage_number\": 1\n }\n ],\n \"input_parameters\": {\n \"alleles\": \"H2-Kb,H2-Db\",\n \"predictors\": [\n {\n \"type\": \"binding\",\n \"method\": \"netmhcpan_el\"\n }\n ],\n \"peptide_length_range\": [\n 9,\n 10\n ]\n }\n }\n ],\n \"api_version\": \"0.1.0\"\n }\n}\n */\n\n return this.http.get(`${PIPELINE_SPEC_API_URL}/${pipelineSpecId}`)\n .pipe(\n tap((resp: any) => {\n console.log(resp);\n })\n )\n }\n\n getResults(result_url: string) {\n console.log(result_url);\n return this.http.get(result_url);\n }\n\n /** formgroup -> params convert functions */\n convertTCellForm (tCellForm: UntypedFormGroup) {\n /** Alleles */\n const selectedAlleles = _.map(tCellForm.get('alleles')?.value, allele => allele.label).join(',').replace(/\\s/g, '')\n const break_peptides = tCellForm.get('breakPeptides')?.value;\n\n /** predictors */\n const predictors = tCellForm.value.predictionModels;\n /** peptide length range */\n const peptide_length_range = tCellForm.value.peptideLength;\n\n return {\n alleles: selectedAlleles,\n // break_peptides: !break_peptides,\n peptide_length_range: break_peptides ? null : peptide_length_range,\n predictors,\n };\n }\n\n convertTCellClassIIForm (form: UntypedFormGroup) {\n /** Alleles */\n console.log(\"form\")\n console.log(form)\n const selectedAlleles = _.map(form.get('alleles')?.value, allele => allele.label).join(',').replace(/\\s/g, '')\n let peptide_shift = form.value.peptide_shift;\n\n /** predictors */\n const predictors = form.value.predictionModels;\n /** peptide length range */\n const break_peptides = form.get('breakPeptides')?.value;\n const peptide_length_range = form.value.peptideLength;\n\n return {\n alleles: selectedAlleles,\n peptide_shift: peptide_shift,\n peptide_length_range: break_peptides ? null : peptide_length_range,\n predictors,\n };\n }\n\n convertClusterForm (clusterForm: UntypedFormGroup) {\n /** threshold */\n const threshold = clusterForm.getRawValue().threshold;\n /** minimum_len */\n let minimum_len = clusterForm.getRawValue().peptideLength[0];\n minimum_len = minimum_len === 4 ? 0 : minimum_len;\n /** maximum_len */\n let maximum_len = clusterForm.getRawValue().peptideLength[1];\n maximum_len = maximum_len === 26 ? 0 : maximum_len;\n /** method */\n let method = clusterForm.getRawValue().method;\n\n return {\n \"cluster_pct_identity\": threshold,\n \"peptide_length_range\": [minimum_len,maximum_len],\n \"predictors\": [\n {\n \"type\": \"cluster\",\n \"method\": method\n }\n ]\n }\n }\n\n convertPepmatchForm (form: UntypedFormGroup) {\n /** mismatch */\n const mismatch = form.getRawValue().mismatch;\n /** one_match */\n let best_match = form.getRawValue().bestMatch;\n /** proteome */\n let proteome = form.getRawValue().proteome;\n /** include_unmatched_peptides */\n let include_unmatched_peptides = form.getRawValue().include_unmatched_peptides;\n\n return {\n mismatch,\n proteome,\n best_match,\n include_unmatched_peptides\n }\n }\n\n convertPepxForm (form: UntypedFormGroup) {\n /** qLevel */\n const qlevel = form.getRawValue().qlevel;\n /** datasource - optional */\n let datasource = form.getRawValue().datasource;\n /** datasets */\n let dataset_id = form.getRawValue().dataset_id;\n\n return {\n qlevel,\n datasource,\n dataset_id\n }\n }\n\n convertPepcompForm(form: UntypedFormGroup) {\n /** alleles */\n const selectedAlleles = _.map(form.get('alleles')?.value, allele => allele.label).join(',').replace(/\\s/g, '')\n /** predictors */\n const predictors = form.value.predictionModels;\n\n return {\n alleles: selectedAlleles,\n predictors,\n }\n }\n\n convertMutgenForm(form: UntypedFormGroup) {\n /** peptideLength */\n const peptide_length = form.getRawValue().peptideLength;\n /** annotate */\n const annotate = form.getRawValue().annotate;\n /** peptideMutationPosition1 */\n let peptide_mutation_position1 = form.getRawValue().peptideMutationPosition1;\n /** peptideMutationPosition1 */\n let peptide_mutation_position2 = form.getRawValue().peptideMutationPosition2;\n /** frameshiftOverlap */\n let frameshift_overlap = form.getRawValue().frameshiftOverlap;\n // /** maximum_peptide_length */\n let maximum_peptide_length = form.getRawValue().maximumPeptideLength;\n /** min_len_near_start_stop */\n let min_len_near_start_stop = form.getRawValue().minLengthNearStartStop;\n /** reference_genome */\n const reference_genome = form.getRawValue().reference_genome;\n return {\n annotate,\n peptide_length,\n peptide_mutation_position1,\n peptide_mutation_position2,\n frameshift_overlap,\n maximum_peptide_length,\n reference_genome,\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport _ from 'lodash';\nimport {isASCII} from \"../../util/string-helpers\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SequenceParserService {\n /**\n * contains functions to parse string and structure them in filteredSequence.\n * Also counts number of amino acids -> numOfAA\n\n * */\n public filteredSequences: { name: string, sequences: string }[] = [];\n public numOfAA!: number;\n public seqFormat: string = '';\n\n fastaParser(fastaTexts: string): void {\n this.filteredSequences = [];\n const sequenceArray = fastaTexts.split('>');\n sequenceArray.shift();\n this.numOfAA = 0;\n _.forEach(sequenceArray, (seq, i) => {\n const newObj = {\n name: getFirstLine(seq),\n sequences: getSequence(seq)\n };\n this.filteredSequences.push(newObj);\n this.numOfAA += newObj.sequences.length;\n });\n this.seqFormat = 'FASTA'\n }\n\n fastaValidate(fastaTexts: string): boolean {\n /**\n Validates the first 20 raw string lines\n *\n * */\n let sequenceArray = fastaTexts.split('\\n').slice(0, 20);\n\n let invalid = false;\n\n // let nameRegexp = new RegExp('^[a-zA-Z0-9.\\\\-_>]+$')\n let alphabetRegexp = new RegExp('^[a-zA-Z ]+$')\n\n _.forEach(sequenceArray, (val, i): any => {\n // console.log(i)\n // console.log(val)\n // console.log(typeof val)\n\n if (val === ''){\n // console.log('break0')\n return false;\n }\n if (val[0] === '>' && !isASCII(val)) { // name\n // console.log('break1');\n invalid=true; return false;\n }\n else if (val[0] !== '>' && !alphabetRegexp.test(val)) {\n // console.log('break2');\n invalid=true; return false;\n }\n });\n this.seqFormat = 'FASTA'\n return !invalid;\n }\n\n jsonParser(jsonTexts: string): void {\n this.filteredSequences = [];\n const parseObj = JSON.parse(jsonTexts);\n this.numOfAA = 0;\n if (Array.isArray(parseObj)) {\n this.filteredSequences = parseObj;\n this.numOfAA = 1;\n } else {\n this.filteredSequences.push(parseObj);\n this.numOfAA += parseObj.sequence.length;\n }\n this.seqFormat = 'JSON'\n }\n\n namedWhiteSpaceParser2(inputString: string): void {\n /**\n Two columns separated by ' ' or '\\t'\n *\n EX:\n \"seq1 DDEDSKQNIFH\n my_favorite_seq ADPGPHLMG\n denv4.3 KAVELGVKLLHA\n this-is-a_validName2 QLQNLGINP\"\n\n TODO: As a first pass, I think the valid characters for names should be:\n\n a-z (case insensitive)\n 0-9\n - (hyphen)\n . (period)\n _ (underscore)\n\n * */\n this.filteredSequences = [];\n\n // console.log(inputString);\n let sequenceArray = inputString.split('\\n');\n sequenceArray = _.filter(sequenceArray, (o) => o !== '');\n // console.log(sequenceArray);\n this.numOfAA = 0;\n _.forEach(sequenceArray, (line) => {\n const arr = line.includes(' ') ? line.split(' ') : line.split('\\t')\n // console.log(arr);\n const newObj = {\n name: arr[0],\n sequences: arr[1]\n };\n this.filteredSequences.push(newObj);\n this.numOfAA += newObj.sequences.length;\n });\n this.seqFormat = 'Named White Space'\n }\n\n namedWhiteSpaceValidate(inputString: string, split: string): boolean {\n /**\n Two columns separated by ' ' or '\\t'\n *\n EX:\n \"seq1 DDEDSKQNIFH\n my_favorite_seq ADPGPHLMG\n denv4.3 KAVELGVKLLHA\n this-is-a_validName2 QLQNLGINP\"\n\n TODO: As a first pass, I think the valid characters for names should be:\n\n a-z (case insensitive)\n 0-9\n - (hyphen)\n . (period)\n _ (underscore)\n\n\n ^[\\w\\_\\-\\.]+$\n\n [ACDEFGHIKLMNPQRSTVWYacdefghiklmnpqrstvwy]+\n\n TODO: Document\n regexp1\n regexp2\n general function\n\n also take out this.filteredSequence\n\n * */\n this.filteredSequences = [];\n\n // console.log(inputString);\n\n let sequenceArray = inputString.split('\\n').slice(0, 10);\n sequenceArray = _.filter(sequenceArray, (o) => o !== '');\n // console.log(sequenceArray);\n this.numOfAA = 0;\n let arr: string[] = [];\n let invalid = false;\n /**\n do\n statement\n while (condition);\n * */\n let separator = 'Space'\n let regexp1 = new RegExp('^[a-zA-Z0-9.\\\\-_]+$')\n let regexp2 = new RegExp('^[a-zA-Z]+$')\n _.forEach(sequenceArray, (line, i): any => {\n // console.log(i)\n // split by it's separator\n arr = line.split(split)\n // console.log(arr)\n if(\n arr.length !== 2 || !regexp1.test(arr[0]) || !regexp2.test(arr[1])\n ){console.log('break'); invalid=true; return false}\n\n if(line.includes(' ')){\n // arr = line.split(' ')\n separator = 'Space'\n } else if (line.includes('\\t')){\n // console.log('inside tab if statement')\n // arr = line.split('\\t')\n separator = 'Tab'\n } else if (line.includes('\\s')){\n // arr = line.split('\\s')\n separator = 'Space'\n }\n // console.log(separator)\n\n });\n this.seqFormat = `Named White Space (${separator})`\n // console.log(sequenceArray)\n // console.log(this.filteredSequences)\n return !invalid;\n\n // return this.filteredSequences.length <= 10\n }\n\n // namedWhiteSpaceParser(inputString: string): void {\n // this.filteredSequences = [];\n //\n // console.log(inputString);\n // let sequenceArray = inputString.split('\\n');\n // sequenceArray = _.filter(sequenceArray, (o) => o !== '');\n // this.numOfAA = 0;\n // _.forEach(sequenceArray, (seq) => {\n // const newObj = {\n // name: getFirstLine(seq),\n // sequences: getSequence(seq)\n // };\n // this.filteredSequences.push(newObj);\n // this.numOfAA += newObj.sequences.length;\n // });\n // }\n\n unnamedWhiteSpaceValidate(inputString: string): boolean {\n this.filteredSequences = [];\n\n console.log(inputString);\n let sequenceArray = [];\n if (inputString.includes(' ')) {\n sequenceArray = inputString.split(' ').slice(0, 10);\n } else {\n sequenceArray = inputString.split('\\n').slice(0, 10);\n }\n sequenceArray = _.filter(sequenceArray, (o) => o !== '');\n this.numOfAA = 0;\n let arr: string[] = [];\n let invalid = false;\n\n let regexp = new RegExp('^[a-zA-Z\\s\\t]+$')\n _.forEach(sequenceArray, (line, i) : any=> {\n // console.log(i)\n // split by it's separator\n // console.log(arr)\n if(\n !regexp.test(line)\n ){console.log('break'); invalid=true; return false}\n });\n this.seqFormat = 'Un-named White Space'\n // console.log(sequenceArray)\n // console.log(this.filteredSequences)\n if(invalid) {\n return false\n }\n return this.filteredSequences.length <= 10\n }\n\n // unnamedWhiteSpaceParser(inputString: string): void {\n // this.filteredSequences = [];\n //\n // console.log(inputString);\n // let sequenceArray = [];\n // if (inputString.includes(' ')) {\n // sequenceArray = inputString.split(' ');\n // } else {\n // sequenceArray = inputString.split('\\n');\n // }\n // sequenceArray = _.filter(sequenceArray, (o) => o !== '');\n // this.numOfAA = 0;\n // _.forEach(sequenceArray, (seq) => {\n // const newObj = {\n // name: getFirstLine(seq),\n // sequences: getSequence(seq)\n // };\n // this.filteredSequences.push(newObj);\n // this.numOfAA += newObj.sequences.length;\n // });\n // this.seqFormat = 'Un-named White Space'\n // }\n\n}\n\n\n\nfunction getFirstLine(text: string) {\n let index = text.indexOf('\\n');\n if (index === -1) {\n index = NaN;\n }\n return text.substring(0, index);\n}\n\nfunction getSequence(text: string) {\n let index = text.indexOf('\\n');\n if (index === -1) {\n index = NaN;\n }\n return text.substring(index).replace(/\\n/g, '');\n}\n","import Stage from \"../../_global/Stage\";\nimport Tool from \"../../_global/Tool\";\n\nexport const initTCellPredictionState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'mhci',\n stage_display_name: 'T Cell Prediction - Class I',\n input_parameters: {},\n // table_state: {columns: {}},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\nexport const initTCellPrediction2State: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'mhcii',\n stage_display_name: 'T Cell Prediction - Class II',\n input_parameters: {},\n // table_state: {columns: {}},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\n\nexport const initClusterState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'cluster',\n stage_display_name: 'Cluster',\n input_parameters: {},\n // table_state: {columns: {}},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\nexport const initPepMatchState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'pepmatch',\n stage_display_name: 'Pepmatch',\n input_parameters: {},\n // table_state: {columns: {}},\n table_state: [{table: 'peptide_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\nexport const initPepXState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'pepx',\n stage_display_name: 'PepX',\n input_parameters: {},\n // table_state: {columns: {}},\n table_state: [{table: 'peptide_table', columns: {}}, {table: 'peptide_gene_summary_table', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\nexport const initPeptideBindingComparisonState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'peptide_variant_comparison',\n stage_display_name: 'Peptide Variant Comparison',\n input_parameters: {},\n table_state: [{table: 'peptide_table', columns: {}}],\n // table_state: {columns: {}},\n stage_messages: {errors: [], warnings: []}\n}\n\nexport const initMutatedPeptideGeneratorState: Stage = {\n stage_number: 1,\n stage_type: 'prediction',\n tool_group: 'mutgen',\n stage_display_name: 'Mutated Peptide Generator',\n input_parameters: {},\n table_state: [{table: 'unique_peptide', columns: {}}, {table: 'peptide', columns: {}}],\n stage_messages: {errors: [], warnings: []}\n}\n\n/////////////\n\nexport const initTCellPredictionTool: Tool = {\n name: 'T-Cell Prediction',\n toolGroup: 'mhci',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initTCellPrediction2Tool: Tool = {\n name: 'T-Cell Prediction',\n toolGroup: 'mhcii',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initClusterTool: Tool = {\n name: 'Cluster',\n toolGroup: 'cluster',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initPepmatchTool: Tool = {\n name: 'Pepmatch',\n toolGroup: 'pepmatch',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initPepxTool: Tool = {\n name: 'Pepx',\n toolGroup: 'pepx',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initPeptideBindingComparisonTool: Tool = {\n name: 'Peptide Variant Comparison',\n toolGroup: 'peptide_variant_comparison',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\nexport const initMutatedPeptideGeneratorTool: Tool = {\n name: 'Mutated Peptide Generator',\n toolGroup: 'mutgen',\n loading: false,\n submitted: false,\n appliedFilters: undefined,\n disabled: false\n}\n\n/////////// Params //////////\n\nexport const initParams = {\n \"pipeline_id\": '',\n \"run_stage_range\": [1, 1],\n \"stages\": []\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\n// import {tap} from \"rxjs/operators\";\n\nimport Stage from \"../../../_global/Stage\";\nimport Tool from \"../../../_global/Tool\";\nimport PipelineParams from \"../../../_global/PipelineParams\";\nimport {StateService} from \"../state.service\";\nimport {PipelineService} from \"../../pipeline-service/pipeline.service\";\nimport {\n initTCellPredictionState, initTCellPredictionTool,\n initTCellPrediction2State ,initTCellPrediction2Tool,\n initClusterState, initClusterTool, initPepmatchTool, initPepMatchState\n} from \"../default-stage-states\";\n\n\n/**\n {\n \"pipeline_id\": \"\",\n \"run_stage_range\": [\n 1,\n 1\n ],\n \"stages\": [\n {\n \"stage_number\": 1,\n \"stage_type\": \"prediction\",\n \"tool_group\": \"mhci\",\n \"input_sequence_text\": \">LCMV Armstrong, Protein GP\\nMGQIVTMFEALPHIIDEVINI\\n\",\n \"input_parameters\": {\n \"alleles\": \"H2-Kb,H2-Db\",\n \"peptide_length_range\": [\n 9,\n 10\n ],\n \"predictors\": [\n {\n \"type\": \"binding\",\n \"method\": \"netmhcpan_el\"\n }\n ]\n }\n }\n ]\n * */\n\ninterface PipelineState {\n pipeline_id: string,\n pipeline_spec_id: string,\n run_stage_range: [number, number],\n inputSequenceText?: string,\n inputVcfText?: string,\n stages: Stage[],\n tools: Tool[],\n // table_states: TableState[],\n params: PipelineParams\n}\n\nconst initialState: PipelineState = {\n pipeline_id: '',\n pipeline_spec_id: '',\n inputSequenceText: '',\n // inputVcfText: '',\n run_stage_range: [1, 1],\n stages: [],\n tools: [],\n params: {\n pipeline_id: '',\n run_stage_range: [1, 1],\n stages: []\n } // last parameter sent to api\n};\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PipelineStateService extends StateService {\n\n stages$: Observable = this.select(state => state.stages);\n tools$: Observable = this.select(state => state.tools);\n pipelineId$: Observable = this.select(state => state.pipeline_id);\n pipelineSpecId$: Observable = this.select(state => state.pipeline_spec_id);\n inputSequenceText$: Observable = this.select(state => state.inputSequenceText);\n inputVcfText$: Observable = this.select(state => state.inputVcfText);\n params$: Observable = this.select(state => state.params);\n\n constructor(\n private _pipelineService: PipelineService\n ) {\n super(initialState); // now need to set stages\n this.stages$.subscribe(value => {\n // Default initial state - set to initTCellPredictionState\n console.log(value);\n if (value.length === 0) {\n this.setState({\n stages: [\n initTCellPrediction2State\n ]\n })\n }\n })\n this.tools$.subscribe(value => {\n // Default initial tool - set to initTCellPredictionTool\n console.log(value);\n if (value.length === 0) {\n this.setState({\n tools: [\n initTCellPrediction2Tool\n ]\n })\n }\n })\n }\n\n /** Params */\n setParams(params: any) {\n this.setState({params})\n }\n\n setPipelineId(pipelineId: string) {\n this.setState({pipeline_id: pipelineId});\n }\n\n setPipelineSpecId(pipelineSpecId: string) {\n this.setState({pipeline_spec_id: pipelineSpecId});\n }\n\n setPipelineIdToParams(pipelineId: string) {\n const params = {...this.state.params} // hard copy\n console.log(params);\n params.pipeline_id = pipelineId\n this.setState({params})\n }\n\n setStagesToParams(stages: Stage[]) {\n /**\n Used in GET Pipeline to set all stages at once.\n * */\n const params = {...this.state.params} // hard copy\n console.log(params);\n params.stages = stages;\n this.setState({params})\n }\n\n\n addStageToParams(stage: Stage) {\n const params = {...this.state.params} // hard copy\n console.log(params);\n params.stages.push(stage);\n this.setState({params})\n }\n\n insertStageToParams(stage: Stage, index: number) {\n const params = {...this.state.params} // hard copy\n let stages = params.stages;\n stages[index] = stage;\n params.stages = stages;\n // console.log(params);\n this.setState({params})\n }\n\n applyFiltersToParams(stageIndex: number, columns: any) {\n /**\n * Adds columns object as table_state.columns in params\n *\n * */\n const params = {...this.state.params} // hard copy\n const stages = params.stages;\n console.log(stages);\n const stageTemp = stages[stageIndex];\n stageTemp.table_state.columns = columns;\n stages[stageIndex] = stageTemp\n params.stages = stages;\n this.setState({params})\n }\n\n popStageFromParams() {\n const params = {...this.state.params} // hard copy\n let stages = params.stages;\n\n stages.pop();\n\n params.stages = stages;\n this.setState({params})\n }\n\n /**\n * Stage\n * */\n\n addStage(stage: Stage) {\n /**\n Add T-cell or Cluster (no results)\n * */\n this.setState({\n stages: [...this.state.stages, stage]\n })\n }\n\n setStages(stages: Stage[]) {\n /**\n Used in GET Pipeline to set all stages at once.\n * */\n this.setState({\n stages: stages\n })\n }\n\n changeResultUrl(url: string, index: number) {\n let stages = [...this.state.stages]\n stages[index].result_url = url\n stages[index].stage_messages!.warnings = []\n stages[index].stage_messages!.errors = []\n this.setState({\n stages: stages\n })\n }\n\n setInitialStage(stage: Stage) {\n /**\n Used in navbar component\n * */\n this.setState({\n stages: [stage]\n })\n }\n\n insertStage(stage: Stage, index: number) {\n let stages = [...this.state.stages]\n stages[index] = stage;\n this.setState({stages})\n }\n\n insertTableStateToStage(table_state: any, index: number) {\n let stages = [...this.state.stages]\n stages[index].table_state = table_state;\n this.setState({stages})\n }\n\n insertInputParametersToStage(input_parameters: any, index: number) {\n let stages = [...this.state.stages]\n stages[index].input_parameters = input_parameters;\n this.setState({stages})\n }\n\n popStage() {\n let stages = [...this.state.stages]\n stages.pop();\n this.setState({stages});\n }\n\n /**\n * Tool\n * */\n setTools(tools: Tool[]) {\n this.setState({\n tools\n })\n }\n\n\n setInitialTool(tool: Tool) {\n const copy = Object.assign({}, tool)\n /**\n Used in navbar component\n * */\n this.setState({\n tools: [copy]\n })\n }\n\n insertTool(tool: Tool, index: number) {\n let tools = [...this.state.tools]\n tools[index] = tool;\n this.setState({tools})\n }\n\n popTool() {\n let tools = [...this.state.tools]\n tools.pop();\n this.setState({tools})\n }\n\n setToolDisabled(disabled: boolean, index: number) {\n let tools = [...this.state.tools]\n const tempTool = tools[index];\n tempTool.disabled = disabled;\n tools[index] = tempTool;\n this.setState({tools})\n }\n\n setToolLoading(loading: boolean, submitted: boolean, index: number) {\n let tools = [...this.state.tools]\n const tempTool = tools[index];\n tempTool.loading = loading;\n tempTool.submitted = submitted;\n tools[index] = tempTool;\n this.setState({tools})\n }\n\n setToolAppliedFilters(appliedFilters: boolean, index: number) {\n let tools = [...this.state.tools]\n const tempTool = tools[index];\n tempTool.appliedFilters = appliedFilters;\n tools[index] = tempTool;\n this.setState({tools})\n }\n\n insertInputDataUriToTool(input_data_uri: any, index: number) {\n let tools = [...this.state.tools]\n tools[index].input_data_uri = input_data_uri;\n this.setState({tools})\n }\n\n setInputSequenceText(value: string) {\n /**\n updates inputSequenceText: string\n * */\n this.setState({inputSequenceText: value});\n }\n setInputVcfText(value: string) {\n /**\n updates InputVcfText: string\n * */\n this.setState({inputVcfText: value});\n }\n}\n\n/**\n * state.service.ts\n export class StateService {\n\n private state$: BehaviorSubject;\n protected get state(): T {\n return this.state$.getValue();\n }\n\n constructor(initialState: T) {\n this.state$ = new BehaviorSubject(initialState);\n }\n\n protected select(mapFn: (state: T) => K): Observable {\n return this.state$.asObservable().pipe(\n map((state: T) => mapFn(state)),\n distinctUntilChanged()\n );\n }\n\n protected setState(newState: Partial) {\n this.state$.next({\n ...this.state,\n ...newState,\n });\n }\n}\n */\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { distinctUntilChanged, map } from 'rxjs/operators';\n\nexport class StateService {\n\n private state$: BehaviorSubject;\n protected get state(): T {\n return this.state$.getValue();\n }\n\n constructor(initialState: T) {\n this.state$ = new BehaviorSubject(initialState);\n }\n\n protected select(mapFn: (state: T) => K): Observable {\n return this.state$.asObservable().pipe(\n map((state: T) => mapFn(state)),\n distinctUntilChanged()\n );\n }\n\n protected setState(newState: Partial) {\n this.state$.next({\n ...this.state,\n ...newState,\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-tool-contribution',\n templateUrl: './tool-contribution.component.html',\n styleUrls: ['./tool-contribution.component.scss']\n})\nexport class ToolContributionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n

Contribution To The IEDB NextGen Tools

\n
\n

\n An overarching goal of the IEDB is to be the central repository for tools that are of general use to the\n immunology and immunoinformatics community.\n We encourage developers of such tools to contact us to inquire about hosting your tool at the IEDB.\n The IEDB team would work with developers to create a web portal and keep it up and running indefinitely.\n We believe this arrangement benefits all parties involved and the immunology community as a whole.\n The process for submitting your tool for inclusion at the IEDB NG Tools is outlined below.\n

\n
\n

Tool Contribution Process

\n
\n
\n \n \n \n

\n 1. Submission\n

\n
\n Email help@iedb.org and include:\n
    \n
  • \n A summary of the problem that your tool addresses and what it is of general interest\n
  • \n
  • \n The publication status of your tool\n
  • \n
  • \n If there’s a web server that hosts the tool, please provide URL\n
  • \n
  • \n Time frame in which you will be ready to hand off your tool to IEDB developers\n
  • \n
\n
\n\n
\n
\n \n \n \n

\n 2. Evaluation\n

\n
\n Submissions will be evaluated by IEDB staff to determine whether the tool fits within the scope of the IEDB and we\n have the capability (hardware, personnel, etc) to implement it.\n
\n\n
\n
\n \n \n \n

\n 3. Decision\n

\n
\n You will receive a reply within 4 weeks with either a decision or a request for further information. If your tool\n is approved for inclusion, you will work with IEDB developers to hand off code and create a web portal at the\n IEDB.\n
\n\n
\n
\n \n \n \n \n

\n 4. Testing\n

\n
\n The tool will be thoroughly tested for bugs and the load it exerts on the IEDB servers.\n
\n\n
\n
\n \n \n \n \n

\n 5. Tools Go Live\n

\n
\n After you give the go-ahead, links will be made public and it will be officially announced under 'New and Noteworthy'\n and the 'Release Notes' on the IEDB support pages, and incorporated into the IEDB's next submission to the annual NAR webserver issue.\n
\n\n
\n
\n \n \n \n \n

\n 6. Updates\n

\n
\n Any updates you make to the tool can be applied, tested, and released in our 6-month development cycle.\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {UntypedFormBuilder, UntypedFormGroup} from \"@angular/forms\";\nimport _ from 'lodash';\n\n@Component({\n selector: 'app-tools-list',\n templateUrl: './tools-list.component.html',\n styleUrls: ['./tools-list.component.scss']\n})\nexport class ToolsListComponent implements OnInit {\n\n initialTags: any = {\n structure3D: false,\n allele7: false,\n alleleFrequency: false,\n antibody: false,\n bCell: false,\n BCR: false,\n bindingAffinity: false,\n cancer: false,\n CD4: false,\n CD8: false,\n conservation: false,\n dataVisualization: false,\n deimmunization: false,\n elutedLigand: false,\n epitope: false,\n geneExpression: false,\n hlaAssociation: false,\n humoralImmunity: false,\n immunogenicity: false,\n mhcI: false,\n mhcII: false,\n modeling: false,\n molecularDocking: false,\n neoepitope: false,\n nonPeptidic: false,\n PDB: false,\n peptideSimilarity: false,\n population: false,\n proteinStructure: false,\n proteomeSearch: false,\n protrusion: false,\n responseFrequency: false,\n rnaExpression: false,\n smallMolecule: false,\n synthesis: false,\n tCell: false,\n tapProcessing: false,\n TCR: false,\n transcription: false,\n unwantedImmuneResponse: false,\n VCF: false\n }\n\n tools = [\n {queryParams: {tool: 'tc1'}, name: 'T Cell Prediction - Class I', tags: [\"CD8\", \"bindingAffinity\", \"elutedLigand\", \"epitope\", \"hlaAssociation\", \"immunogenicity\", \"mhcI\", \"tCell\", \"tapProcessing\"], count: 0},\n {queryParams: {tool: 'tc2'}, name: 'T Cell Prediction - Class II', tags: [\"allele7\", \"bindingAffinity\", \"CD4\", \"elutedLigand\", \"epitope\", \"immunogenicity\", \"mhcII\", \"tCell\"], count: 0},\n {queryParams: {tool: 'cluster'}, name: 'Cluster', tags: [\"conservation\", \"dataVisualization\", \"hlaAssociation\", \"peptideSimilarity\"], count: 0},\n {queryParams: {tool: 'pepmatch'}, name: 'PEPMatch', tags: ['conservation', 'peptideSimilarity', 'proteomeSearch'], count: 0},\n {queryParams: {tool: 'pepx'}, name: 'PepX', tags: ['geneExpression', 'rnaExpression', 'transcription', 'cancer'], count: 0},\n {queryParams: {tool: 'pepvcomp'}, name: 'Peptide Variant Comparison', tags: ['bindingAffinity', 'cancer', 'CD8', 'dataVisualization', 'elutedLigand', 'epitope', 'hlaAssociation', 'immunogenicity', 'mhcI', 'neoepitope', 'tCell'], count: 0},\n {queryParams: {tool: 'mutpepgen'}, name: 'Mutated Peptide Generator', tags: ['cancer','neoepitope', 'VCF'], count: 0},\n // {url: 'http://tools.iedb.org/mhcii/', name: 'MHC-II Binding Predictions*', tags: [\"allele7\", \"bindingAffinity\", \"CD4\", \"elutedLigand\", \"epitope\", \"immunogenicity\", \"mhcII\", \"tCell\"], count: 0},\n {url: 'http://tools.iedb.org/bcell/', name: 'B Cell Linear Epitope Prediction*', tags: ['antibody', 'bCell', 'epitope', 'humoralImmunity','immunogenicity'], count: 0},\n {url: 'http://tools.iedb.org/conservancy/', name: 'Epitope Conservancy Analysis*', tags: ['conservation'], count: 0},\n {url: 'http://tools.iedb.org/discotope/', name: 'Discotope*', tags: [ \"structure3D\", \"antibody\", \"bCell\", \"dataVisualization\", \"epitope\", \"humoralImmunity\", \"immunogenicity\", \"PDB\",], count: 0},\n {url: 'http://tools.iedb.org/population/', name: 'Population Coverage*', tags: [\"alleleFrequency\", \"hlaAssociation\", \"population\", \"responseFrequency\"], count: 0},\n {url: 'http://tools.iedb.org/ellipro/', name: 'Ellipro*', tags: [ \"structure3D\", \"antibody\", \"bCell\", \"dataVisualization\", \"epitope\", \"humoralImmunity\", \"immunogenicity\", \"PDB\"], count: 0},\n {url: 'http://tools.iedb.org/tepitool/', name: 'TepiTool*', tags: [ 'bindingAffinity', 'CD4', 'CD8', 'epitope', 'hlaAssociation', 'mhcI', 'mhcII', 'protrusion', 'tCell'], count: 0},\n {url: 'http://tools.iedb.org/deimmunization/', name: 'Deimmunization*', tags: ['bindingAffinity', 'deimmunization', 'immunogenicity', 'mhcI', 'mhcII', 'tCell', 'unwantedImmuneResponse'], count: 0},\n {url: 'http://tools.iedb.org/docktope/', name: 'Docktope*', tags: [\"structure3D\", \"hlaAssociation\", \"mhcI\", \"modeling\", \"molecularDocking\", \"proteinStructure\",\"PDB\", \"TCR\", \"tCell\"], count: 0},\n {url: 'http://tools.iedb.org/lyra/', name: 'LYRA*', tags: [\"structure3D\", \"antibody\", \"BCR\", \"bCell\", \"dataVisualization\", \"modeling\", \"PDB\", \"TCR\",\"tCell\"], count: 0},\n {url: 'http://tools.iedb.org/immunomebrowser/', name: 'ImmunomeBrowser*', tags: [ 'dataVisualization', 'epitope', 'immunogenicity', 'modeling', 'responseFrequency'], count: 0},\n {url: 'http://tools.iedb.org/rate/', name: 'RATE*', tags: ['antibody', 'hlaAssociation', 'mhcI', 'mhcII', 'responseFrequency', 'tCell'], count: 0},\n {url: 'http://tools.iedb.org/axelf/', name: 'Axel-F*', tags: ['cancer', 'CD8', 'epitope', 'mhcI', 'tCell', 'rnaExpression', 'TCR', 'transcription'], count: 0},\n {url: 'http://tools.iedb.org/tcrmatch/', name: 'TCRMatch*', tags: ['CD4', 'CD8', 'tCell', 'TCR'], count: 0},\n {url: 'http://tools.iedb.org/np_epitope_predictor/', name: 'NP Epitope Predictor*', tags: ['bCell', 'dataVisualization', 'epitope', 'nonPeptidic', 'smallMolecule', 'tCell'], count: 0},\n {url: 'http://tools.iedb.org/sceptre/', name: 'SCEptRe*', tags: ['structure3D','bCell', 'BCR', 'mhcI', 'mhcII', 'PDB', 'tCell', 'TCR'], count: 0},\n {url: 'http://tools.iedb.org/pepsysco/', name: 'PepSySco* (Peptide Synthesis)', tags: ['synthesis'], count: 0},\n ]\n\n sortedTools: any = []\n\n selectedTools: any[] = [] // used for counts\n selectedTags: string[] = [] // used for counts\n horizontalDivider: string[] = [];\n countsForSelectedTools: any[] = [];\n\n toolsListForm!: UntypedFormGroup;\n\n constructor(\n private formBuilder: UntypedFormBuilder,\n ) { }\n\n ngOnInit(): void {\n this.toolsListForm = this.formBuilder.group(this.initialTags);\n\n const firstTools = this.tools.slice(0, 7)\n const legacyTools = this.tools.slice(7, )\n\n this.sortedTools = firstTools.concat(_.orderBy(legacyTools, 'name'));\n\n this.countsForSelectedTools = _.reverse(_.values(_.groupBy(this.sortedTools, 'name')));\n console.log(this.countsForSelectedTools);\n this.onChange();\n }\n\n onChange(): void {\n /**\n *\n * */\n this.toolsListForm.valueChanges.subscribe(val => {\n console.log(val);\n\n this.selectedTools = [];\n this.sortedTools = [];\n this.horizontalDivider = [];\n\n this.selectedTags = _.keys(_.pickBy(val, (v: any, k:string) => {\n if (v === true) {\n return k\n }\n return null\n }));\n console.log(this.selectedTags);\n\n if(this.selectedTags.length === 0) {\n const firstTools = this.tools.slice(0, 3)\n const legacyTools = this.tools.slice(3, 21)\n\n this.sortedTools = firstTools.concat(_.orderBy(legacyTools, 'name'));\n return\n }\n\n const tempSelectedTools: string[] = [];\n\n _.forEach(this.selectedTags, (tag) => {\n console.log(tag);\n _.forEach(this.tools, (tool) => {\n if (tool.tags.includes(tag)) {\n tempSelectedTools.push(tool.name);\n }\n })\n })\n\n console.log(tempSelectedTools);\n\n this.selectedTools = _.values(_.groupBy(tempSelectedTools)).map(d => ({name: d[0], count: d.length}));\n\n _.forEach(this.tools, (tool) => {\n _.forEach(this.selectedTools, (fool) => {\n if (tool.name === fool.name) {\n tool.count = fool.count;\n this.sortedTools.push(tool);\n }\n })\n })\n this.sortedTools = _.orderBy(this.sortedTools, 'count', 'desc');\n let mostcount = this.sortedTools[0].count - 1;\n this.horizontalDivider.push(this.sortedTools[0].name);\n _.forEach(this.sortedTools, (tool) => {\n if(tool.count === mostcount) {\n mostcount -= 1;\n this.horizontalDivider.push(tool.name);\n }\n });\n\n this.countsForSelectedTools = _.reverse(_.values(_.groupBy(this.sortedTools, 'count')));\n\n /** DEBUGGER */\n // console.log(this.selectedTools);\n // console.log(this.sortedTools);\n // console.log(this.selectedTags);\n // console.log(this.horizontalDivider);\n // console.log(this.countsForSelectedTools);\n })\n }\n\n deSelectAllTags(e: any) {\n /**\n *\n * */\n this.toolsListForm.reset();\n this.selectedTags = [];\n this.horizontalDivider = [];\n this.selectedTools = [];\n\n const firstTools = this.tools.slice(0, 3)\n const legacyTools = this.tools.slice(3, 21)\n this.sortedTools = firstTools.concat(_.orderBy(legacyTools, 'name'));\n }\n}\n","
\n
\n
\n
\n Tags\n \n
\n
\n
\n \n \n
\n
\n
\n\n
\n
\n

Tools Matching Any Selected Tags: {{ selectedTools.length }} | Tools Matching All Selected\n Tags: {{ selectedTags.length === sortedTools[0].count ? countsForSelectedTools[0].length : 0 }}

\n
\n\n
\n
\n
\n {{ countsForSelectedTools[horizontalDivider.indexOf(tool.name)].length }} {{countsForSelectedTools[horizontalDivider.indexOf(tool.name)].length === 1 ? 'Tool' : 'Tools'}} Matching {{ tool.count }} {{tool.count === 1 ? 'Tag' : 'Tags' }}\n\n
\n\n \n
\n \n {{ tool.name }}\n \n \n \n {{ tool.name }}\n \n \n
\n
\n \n {{ tag | tag }}\n \n
\n
\n\n
\n\n

* - Redirect to legacy site.

\n
\n\n
\n
\n","import * as _ from \"lodash\";\n\nexport function columnListToObject(columns: any[], tool_group: string)\n{\n /**\n * Creates column object that contains\n\n * */\n let colObj = {}\n\n _.forEach(columns, (col, i) => {\n const {type, value_limits} = col\n // console.log(col.filterKey)\n // console.log(value_limits)\n if(type==='text' && col.value_limits.selectedValues.length) {\n /** Text filter */\n const key = col.filterKey;\n const { selectedValues } = col.value_limits\n const searchString = selectedValues.length == 1 ? selectedValues[0] : selectedValues.join('|')\n\n // @ts-ignore\n colObj[key] = {\n search: {\n search: searchString\n },\n tool_group: tool_group,\n source: columns[i]['source'],\n name: columns[i]['name']\n }\n }\n //@ts-ignore\n else if ((type==='int'|| type==='float') &&\n (value_limits.minValue || value_limits.maxValue || value_limits.minValue === 0 || value_limits.maxValue === 0)) {\n /** Number filter */\n // this._stateService.applyFiltersToParams()\n const key = col.filterKey;\n // @ts-ignore\n colObj[key] = {\n search: {\n min: col.value_limits.minValue,\n max: col.value_limits.maxValue\n },\n tool_group: tool_group,\n source: columns[i]['source'],\n name: columns[i]['name']\n };\n }\n })\n\n return colObj\n}\n\nexport function columnObjectToList(str: string) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n}\n","export function isMaxLength(str: string, maxCharacters: number)\n{\n return str.length <= maxCharacters;\n}\n","/**\n *\n * Used for vcf file validation\n * limit should be 5000\n * */\n\nexport function isMaxLines(str: string, maxNoLines: number)\n{\n return (String(str).match(/\\n/g) || '').length + 1 < maxNoLines\n}\n","import {HttpClient, HttpHeaders} from '@angular/common/http';\n\nexport default function onCsvDownloadAllClickedNew(API_URL: string, http: HttpClient, extension = 'txt') {\n /**\n * Creates a csv file of all the query_set in the backend.\n * */\n // console.log(API_URL);\n const tableType = API_URL.split('/')[API_URL.split('/').length - 1];\n\n const headers = new HttpHeaders();\n headers.append('Accept', 'application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet');\n\n /**\n * Method is use to download file.\n * @param data - Array Buffer data\n * @param type - type of the document.\n */\n function downLoadFile(data: any, type: string) {\n const blob = new Blob([data], {type: type}); // thx: http://stackoverflow.com/a/18925211\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-16';\n // var blob = new Blob([csvData], { type: contentType });\n a.href = window.URL.createObjectURL(blob);\n a.download = `${tableType}.${extension}`;\n a.click();\n }\n\n\n const resp = http.get(API_URL, {responseType: 'arraybuffer' as 'json', headers: headers,});\n\n resp.subscribe((response) => {\n downLoadFile(response, 'application/ms-excel');\n });\n}\n","export function isASCII(str: string)\n{\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nexport function IsJsonString(str: string) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n}\n\nexport function ltrim(str:string) {\n /**\n * https://stackoverflow.com/a/24282245/8794234\n * */\n if(!str) return str;\n return str.replace(/^\\s+/g, '');\n}\n","import { Component, OnInit } from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport Citation from \"../_global/Citation\";\nimport {environment} from \"../../environments/environment\";\nimport * as _ from \"lodash\";\n\n@Component({\n selector: 'app-version',\n templateUrl: './version.component.html',\n styleUrls: ['./version.component.scss']\n})\nexport class VersionComponent implements OnInit {\n\n loading: boolean = false;\n // citations: any[] = [];\n // uniq: string[] = []\n // groupedCitations: {\"T cell - class I\": Citation[]} = {\"T cell - class I\": []}\n\n versionInfo: string = ''\n versionArr: string[] = []\n\n\n constructor(\n private http: HttpClient\n ) { }\n\n ngOnInit(): void {\n this.getVersionInfo()\n }\n\n getVersionInfo() {\n this.loading = true;\n const CITATIONS_API_URL = `${environment['api_url']}/api/v1/citations`;\n const URL = 'assets/_version/versioninfo.yml'\n this.http.get(URL, {responseType: 'text'}).subscribe(value => {\n console.log(value)\n this.versionInfo = value;\n this.versionArr = value.split('\\n')\n // this.citations = value.data;\n // // this.citations = _.orderBy(value.data, ['grouping_title', 'key']) /** uncomment later */\n // this.uniq = []\n // _.forEach(this.citations, (c) => {\n // if (!this.uniq.includes(c.grouping_title)) {\n // this.uniq.push(c.grouping_title)\n // console.log(c.grouping_title)\n // // @ts-ignore\n // this.groupedCitations[c.grouping_title] = [c]\n // } else {\n // // @ts-ignore\n // this.groupedCitations[c.grouping_title].push(c)\n // }\n // })\n // console.log(this.uniq)\n // console.log(this.groupedCitations)\n this.loading = false;\n })\n }\n\n}\n","
\n\n\n
\n

\n {{e}}\n

\n
\n
\n","export const environment = {\n name: 'DEV',\n production: false,\n api_url: 'https://api-nextgen-tools-dev.iedb.org',\n api_port: '443',\n auth_endpoint: '/token/',\n auth_refresh_endpoint: '/token/refresh/',\n upload_endpoint: '/import/',\n optionalModules: []\n};\n","/// \n\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n window.console.log = () => { }\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"names":["DashToDecimalPipe","transform","value","replace","pure","KeysPipe","Object","keys","tagPipe","includes","str","toUpperCase","i0","AlertComponentComponent","constructor","alertService","ngOnInit","selectors","decls","vars","consts","template","RouterModule","BenchmarkComponent","CitationComponent","ToolsListComponent","ToolContributionComponent","HomeComponent","DownloadAllComponent","PipelineNewComponent","VersionComponent","PipelineErrorComponent","routes","path","component","data","title","redirectTo","AppRoutingModule","forRoot","imports","exports","NavigationEnd","filter","map","AppComponent","router","titleService","events","pipe","event","route","routerState","root","routeTitle","firstChild","snapshot","subscribe","setTitle","BrowserModule","Title","HttpClientModule","FormsModule","ReactiveFormsModule","DragDropModule","DataTablesModule","NgxSliderModule","NgbTypeaheadModule","NgbAccordionModule","NgbDropdownModule","NgbTooltipModule","NgbPopoverModule","NgbNavModule","NgbAlertModule","NgbToastModule","NgbModule","FooterComponent","CookieDialogComponent","NavbarComponent","DndDirectiveDirective","TCellPredictionComponent","TCellPrediction2Component","MhcBindingFormgroupComponent","PmhcImmunogenicityFormgroupComponent","MhcIProcessingFormgroupNewComponent","ResultTableComponent","ClusterComponent","SequenceInputComponent","D3ForceComponent","BrowserAnimationsModule","MatSidenavModule","ClipboardModule","MatMenuModule","MatChipsModule","MatIconModule","PepmatchComponent","ResultTableAngularComponent","PepxComponent","PeptideVariantComparisonComponent","D3PlotComponent","MutatedPeptideGeneratorComponent","PeptideSimilarityFormgroupComponent","MhciiPmhcImmunogenicityFormgroupComponent","AppModule","bootstrap","declarations","_","environment","http","loading","CITATIONS_API_URL","get","citations","uniq","forEach","c","grouping_title","push","console","log","groupedCitations","EventEmitter","takeUntil","debounce","timer","of","Subject","Subscription","pipelineData","initClusterTool","isASCII","IsJsonString","ltrim","columnListToObject","onCsvDownloadAllClickedNew","isMaxLength","confirmModal_r71","fb","location","modalService","_pipelineService","_stateService","rootFormGroup","sequenceParserService","tools$","stages$","pipelineId$","params$","input_sequence_text","threshold","lengths","predictors","table_state","floor","ceil","showTicksValues","translate","stepsArray","showTicks","range","num","legend","undefined","minRange","noSwitching","sequence_list_json_uri","sequence_list_fasta_uri","download_sequences","clusterForm","control","formGroupName","unsubscribe$","pipelineId","pipelineUrl","window","origin","tools","submitted","index","inputSequenceTextId","input_data_uri","input_sequence_text_id","synthesisDownloadLinks","pipelineLoading","some","clearInterval","runSetInterval","stages","errorMessages","stage_messages","errors","warningMessages","warnings","params","eventsSubscription","onRunMain","runAllSubscription","runAllEvent","onRunAll","onChanges","sequenceParser","ngOnChanges","changes","resultUrl","currentValue","getResultsSetInterval","result_url","getResultsClicked","sequence_table","peptide_table","uniqueClusters","inputChange","mapValues","increment","milliseconds","setInterval","getResults","resp","prevTool","submittedTCellPredictionTool","assign","insertTool","enableInputs","length","active","type","table","peptide_table_columns","table_columns","column","i","default_order","Number","isFinite","row_sort_priority","defaultOrder","source","name","tempSource","split","setValueLimits","peptide_table_order","table_data","links","graph_data","link","cluster","sequence_table_columns","sequence_table_order","error","ngOnDestroy","next","complete","unsubscribe","inputSequenceText","onLengthChange","changeContext","onThresholdChange","valueChanges","sequenceFieldChange","v","val","sessionStorage","setItem","filteredSequences","numOfAA","onDownloadJson","onDownloadFasta","onDownloadOriginal","open","content","ariaLabelledBy","size","animation","result","then","saveState","reason","firstChar","firstLine","firstLineNumOfElements","separator","slicedVal","slice","maxCharacters","fastaValidate","seqFormat","numOfCharacters","namedWhiteSpaceValidate","unnamedWhiteSpaceValidate","onDownloadParameter","convertClusterForm","a","document","createElement","setAttribute","body","appendChild","blob","Blob","JSON","stringify","href","URL","createObjectURL","download","click","minValue","NaN","maxValue","applied","possibleValues","textValue","selectedValues","postPipelineAPI","disableInputs","tableStateSaving","postPipeline","submittedClusterTool","showEmailModal","emailModal","inputDataUri","insertInputDataUriToTool","setPipelineId","pipeline_id","setPipelineIdToParams","setPipelineSpecId","pipeline_spec_id","go","results_uri","submittedTool","emitIndex","emit","invalid","add","toLocaleString","alertModal","hasResult","find","o","confirmModal","onRun","onRun2","onRunConfirm","indicies","initTool","unSubmittedTool","onSaveTableState","setDefaultFormValues","sequences","setInputSequenceText","controls","setValue","$","fn","dataTable","ext","search","stage_number","run_stage_range","input","emailForm","setParams","loadingClusterTool","appliedFilters","isEmpty","columns","input_stage_number","initialStage","stage","pipeline_title","email","onCancel","emitOnCancel","currentTool","onFilterApplied","onClearTableState","value_limits","onShowEmailModalChange","shoeEmailModalChange","onSaveTableStateMain","tool_group","colObj","stageTemp","setToolAppliedFilters","onFileDropped","$event","file","fileSize","prepareSequenceFileList","files","fileName","reader","FileReader","myForm","item","readAsText","onload","toString","w","patchValue","onerror","progress","sendNotification","onReset","clear","oldSequence","input_parameters","peptideLength","initPredictor","method","pm","predictionModels","emitEvent","group","cluster_pct_identity","isEqual","peptide_length_range","styleResultContainer","uploadSequenceFile","preventDefault","target","uploadParameterFile","enable","thresholdSliderOptions","disabled","peptideLengthOptions","disable","onErrorMessageDeselect","message","splice","em","onWarningMessageDeselect","wm","viewQuery","ctx","GoogleAnalyticsService","ctx_r3","ctx_r4","googleAnalyticsService","sharedService","getUserAnswered","accept","deny","acceptedConsent","closePopup","showCookieDialog","loadScript","script","innerHTML","src","async","defer","deleteCookie","setConsent","gtag","page_title","urlAfterRedirects","page_location","page_path","eventEmitter","getTitle","contactFormUsed","getConsent","localStorage","getItem","setUserAnswered","setCookie","expireDays","d","Date","setTime","getTime","expires","toUTCString","domain","hostname","cpath","cookie","features","d3","BehaviorSubject","_data","getValue","ngAfterViewInit","htmlElement","element","nativeElement","host","select","buildSVG","buildForce","html","zoom","scaleExtent","on","svg","attr","append","width","height","call","nodes","concat","simulation","forceSimulation","values","force","forceManyBody","strength","forceLink","forceCenter","selectAll","enter","style","join","mouseover","currentTarget","transition","duration","mouseout","drag","dragstarted","alphaTarget","restart","subject","fx","x","fy","y","dragged","dragended","node","circle","label","text","populateForce","onFilterGraph","e","show","hide","top","right","bottom","left","margin","plotData","series","chain","series_name","selectedSeries","uniqueAlleles","allele","selectedAllele","createSvg","drawPlot","focus","selected","plottedPoints","zip","y_values","x_labels","y_labels","spread","x_val","y_val","x_lab","y_lab","peptidea","peptideb","sequenceA","sequenceB","tooltip","seqTooltip","scaleLinear","x_range","xAxis","axisBottom","x_title","y_range","yAxis","axisLeft","y_title","lineData","x1","y1","x2","y2","strokeWidth","line","lineDataY","lineY","lineDataX","lineX","n","mousemove","pageX","pageY","mouseleave","clip","dots","updateChart","newX","rescaleX","newY","rescaleY","scaleMultiplier","scale","extent","lower","onAllelePlotChange","remove","onSeriesPlotChange","onDragOver","evt","stopPropagation","_fileOver","onDragLeave","ondrop","dataTransfer","fileDropped","hostVars","hostBindings","activatedRoute","selectedTool","getCurrentNavigation","extras","state","tool","onAgreeAndDownload","downloadNonProfit","downLoadFile","contentType","responseType","downloadDTU","cookieComponent","inputs","catchError","debounceTime","distinctUntilChanged","switchMap","tap","initTCellPrediction2State","initTCellPredictionState","alleleData","alleleData2","alleleData3","_r37","ctx_r54","_r55","formBuilder","_service","_announcementService","url","queryParams","tags","count","routerLink","text$","searching","term","searchFailed","searching2","searchFailed2","synonyms","tCell1Form","tCell2Form","onFileDropped2","runTCellPrediction","initTCellPredictionTool2","toolGroup","selectedAlleles","setInitialStage","setInitialTool","runTCellClassIIPrediction","selectedAlleles2","selectedAlleleLabels","selectedAlleleLabels2","selectedModalAlleleLabels","modalAlleles","selectedModalAlleleLabels2","modalAlleles2","inputFormatter","onAlleleSelect","labels","onAlleleSelect2","onAlleleSelectModal","onAlleleSelectModal2","onBlurAlleleSelect","placeholder","onBlurAlleleSelect2","backdrop","onOpenAlleleModal1","classIAlleleModal","onOpenAlleleModal2","classIIAlleleModal","dismissAlleleModal","dismissAll","onAlleleClear","onAlleleClear2","onAlleleDeselectModal","pullAt","onAlleleDeselectModal2","generate27Alleles","alleles","synonym","score","generate27Alleles2","generate7Alleles","onSubmitModalAlleles","onSubmitModalAlleles2","onAlleleClearModal","onAlleleClearModal2","_r1","_r9","isDevMode","pepCompSampleData","initPeptideBindingComparisonTool","_r102","modal4_r120","confirmModal_r123","API_URL","_alleleSearchService","getMHCIList","pepcompForm","setTimeout","run","history","breakPeptides","seq","all","production","patchValues","inputParameters","convertPepcompForm","newStage","initToolLoading","insertInputParametersToStage","loadingTool","residue_table_order","residue_table_columns","residue_table","allele_distances_table","allele_distances_table_columns","indexA","indexB","all_plots_uri","selectedSeqNumPlots","searchParams","selectedLengthPlots","selectedAllelePlots","sequenceNumbers","sequence_numbers","scatterPlotData","replaceState","modalOpen","alleleSearch","onOpenAlleleModal","alleleModal","dropPredictionModel","previousIndex","currentIndex","at","removeAt","insert","setInputChangePredictors","removePredictorByIndex","addpredictionModel","mhcBindingFormGroup","addPmhcImmungencityFormGroup","pmhcImmunogencityFormGroup","addPeptideSimilarityFormGroup","peptideSimilarityFormGroup","mask_choice","position_to_mask","onBlurAlleleSelectModal","onAlleleDeselect","onAlleleDeselect2","mhciLoading","mhciPredictors","predictionOptions","basicProcessingPredictionOption","processingOptions","peptideSimilarityOptions","controlContainer","ogFormGroup","onCancelClick","emitPredictionModelIndex","modelIndex","addProcessingFormGroup","proteasome","tap_precursor","tap_alpha","addControl","removeProcessingFormGroup","removeControl","onAddProcessingChange","addProcessing","predictionOption","outputs","step","ticksArray","toFixed","options","options2","options3","has_ice50","short_name","has_ic50","processingMethod","onMethodChange","forOwn","k","setControl","sarsSampleData","initTCellPredictionTool","_r135","modal4_r153","confirmModal_r156","tCellForm","peptideLengthSliderOptions","stageAlleles","stagePeptideLengthRange","start","end","Array","fill","convertTCellForm","loadingTCellPredictionTool","processingPlots","urls","plot","thresholdInput","mhcIProcessingFormGroup","mhcIProcessingNewFormGroup","mhc_binding_method","mhcINPNewFormGroup","addMhcIProcessingNewFormGroup","addMhcNPFormGroup","formUrl","changePlotThreshold","tempUrl","set","changePlotsBySequence","newUrl","plotLoading","changePlotsByAllele","changePlotsByLength","initTCellPrediction2Tool","_r101","peptide_spacing","immunogenicityOptions","convertTCellClassIIForm","consolidated_peptide_table","consolidated_peptide_table_columns","defaultOrder2","consolidated_peptide_table_order","mhciiPmhcImmunogencityFormGroup","pako","initMutatedPeptideGeneratorTool","isMaxLines","modal4_r76","confirmModal_r79","peptideMutationPosition1","peptideMutationPosition2","frameshiftOverlap","maximumPeptideLength","table_state_1","table_state_2","hideLimitLabels","vcf_download_uri","defaultInputVcfText","getMutGenList","mutgenForm","input_vcf_text_id","inputVcfText","convertMutgenForm","prepareGzipFileList","maxLines","readAsArrayBuffer","inflate","to","onFrameshiftOverlapChange","onMaximumPeptideLengthChange","onPeptideMutationPosition1Change","onPeptideMutationPosition2Change","snp_table","snp_table_columns","snp_table_order","unique_peptide_table_columns","unique_peptide_table_order","unique_peptide_table","minLengthNearStartStop","onFilterApplied2","filters","onClearTable2State","table_name","onSaveTable1State","onSaveTable2State","colObj2","insertTableStateToStage","input_vcf_text","setInputVcfText","mutgenLoading","referenceGenomes","reference_genomes","GLOBALS","logo","pepmatchData","initPepmatchTool","confirmModal_r66","EMAIL_URL","proteome","mismatch","bestMatch","getPepmatch","pepmatchForm","convertPepmatchForm","pepmatchLoading","proteomeOptions","optional_parameters","choice","currentOrder","onNumOfMismatchesChange","initPepxTool","pepxData","confirmModal_r81","quantitation_level","data_source","pepxForm","qlevel","datasource","getPepx","quantitationLevel","convertPepxForm","datasetLoading","datasourceLoading","dataSets","datasets","datasources","peptide_gene_columns","peptide_gene_summary_table","onDataSourceChange","dataset_id","onQuantitationLevelChange","peptide_table_defaultOrder","peptide_table_currentOrder","peptide_gene_defaultOrder","peptide_gene_currentOrder","errorMessage","UntypedFormControl","Validators","clusterData","tCellData","pepmatchiData","peptideBindingComparisonData","initClusterState","initParams","initPepMatchState","initPepXState","initPeptideBindingComparisonState","initMutatedPeptideGeneratorState","$gaService","pipelineSpecId$","stage_type","enabled","id","getPipeline","navigate","initPipeline","stage_display_name","err","specId","getPipelineSpec","pipeline_params","fetchValidSteps","columnsToPipeMHCI","columnsToPipeMHCII","setInitialForm","paramsString","pipelineSpecUrl","queryParamMap","data1","setInitialStageAndToolGroup","initPeptideVariantComparisonTool","initMPGTool","emitEventToChild","runTCellSubject","runTCellClass2Subject","runClusterSubject","runPepmatchSubject","runPepxSubject","runPepcompSubject","runMutgenSubject","emitRunAllToChild","runAllTCellSubject","runAllTCellClass2Subject","runAllClusterSubject","runAllPepmatchSubject","runAllPepxSubject","runAllPepcompSubject","runAllMutgenSubject","generateStage","stage_result_uri","piped_data","generateTool","finalStages","paramStages","finalTools","newTool","setClusterFormGroup","setClusterFormGroup2","setMhciFormGroup","setMhciFormGroup2","setMhciiFormGroup","setMhciiFormGroup2","setPepmatchFormGroup","setPepmatchFormGroup2","setPepXFormGroup","setPepXFormGroup2","setPepCompFormGroup","setPepCompFormGroup2","setMutGenFormGroup","setTools","setStages","setStagesToParams","break_peptides","allelesFormatted","predictorsFormatted","p","mhcNpFormGroup","fg","addTCellPredictionFormGroup","root_config","mhci","rootForm","initialControlConfig","array","peptide_shift","addTCellPrediction2FormGroup","mhcii","addClusterFormGroup","minPeptideLength","maxPeptideLength","addStage","setToolDisabled","best_match","include_unmatched_peptides","addPepmatchFormGroup","pepmatch","addPepXFormGroup","pepx","initPepCompFormGroup","pepcomp","peptide_length","reference_genome","peptide_mutation_position1","peptide_mutation_position2","frameshift_overlap","maximum_peptide_length","addMutGenFormGroup","mutgen","addedToolGroups","addPepCompFormGroup","initState","cloneDeep","mhciiSelectedAlleles","mhciiPredictionModels","predictionModels2","clusterMinPeptideLength","clusterMaxPeptideLength","debug","onCancelRuns","cancel_run","putPipeline","cancelTool","onShowEmailChange","onOpenEmailModal","key","setToolLoading","s","changeResultUrl","validSteps","predictions","removeItem","parse","maxLength","removeToolFromPipeline","formControlName","popStage","popTool","popStageFromParams","addTCellPrediction","dataToPipe","tableName","piped_input","piped_fields","piped_stage_number","addStageToParams","addTCellPrediction2","addCluster","predictor","network_method","cleavage_weight","tap_weight","epitope_threshold","onGoToStage","navbarHeight","scroll","getElementById","offsetTop","behavior","addPepmatch","defaultFormGroup","addPepX","addPepComp","dataToPipe1","dataToPipe2","annotate","min_len_near_start_stop","onSubmitEmailModal","infoAccordionCollapse","submittedEmailForm","NgbDropdown","ctx_r15","ctx_r18","ctx_r35","ctx_r37","ctx_r42","papa","currentPage","pages","Math","numOfRows","order","visibleColumns","hidden","sliceTableData","onPageSelect","nextPage","prevPage","onPageJump","page","prompt","tempInt","parseInt","isNaN","stopProp","onSortColumns","colIndex","onFilterDropdownOpen","removeClass","prop","onFilterDropdownClose","addClass","checkClosedDropdown","checkOpenedDropdown","dropdown","dropdowns","isOpen","setMinAndMax","that","onClearNumberFilter","onNumberFilter","parseFloat","filterApplied","onFilterPossibleValues","onClearTextFilter","onTextFilter","searchString","createRegexSafe","onCheckSelectAllTextValue","checked","onTextValueSelect","possibleValue","DataTableDirective","ctx_r25","ctx_r28","ctx_r45","ctx_r47","ctx_r52","dtOptions","dom","autoWidth","pagingType","paging","pageLength","ordering","orderMulti","stateSave","language","lengthMenu","info","infoFiltered","columnDefs","targets","createdCell","td","cellData","rowData","row","col","textAlign","css","visible","render","number_of_digits","destroy","deferRender","orderClasses","searchCols","from","tableIndex","min","max","findIndex","regex","smart","setColumnDisplayForm","dtTrigger","onOpenDisplayColumnModal","prevColumnDisplayFormValue","columnDisplayForm","disableSortedColumnInputs","disableInputColumns","displayColumnModal","dtElement","dtInstance","filterKey","dismissModal","onSetDisplayColumns","invisibleColumns","controlConfig","uniqSources","settings","dataIndex","nTable","defaultColumnConfig","onDefaultColumns","draw","newColumns","every","columnValue","dataSrc","sortFunc","b","distinctArray","sort","each","j","indexOf","emitFilterApplied","startsWith","clearTableState","emitResetTableState","applyFiltersToParams","emitSaveTableState","downloadResultFiles","format","convertCurrentResultToJSON","obj","display_name","convertCurrentResultToJSON2","visible_columns","downloadAllTsv","substring","lodashOrder","convertDTOrderToLodash","sortedData","orderBy","config","delimiter","csvData","unparse","downloadAllCsv","downloadAllJSON","downloadTSV","rows","downloadCSV","downloadJSON","tempVal","temp1","temp2","UntypedFormGroup","formGroup","sequenceTextUpdate","onClickTextArea","AlertServiceService","alertType","messages","colors","displayMessage","factory","providedIn","HttpParams","ALLELE_SEARCH_API_URL","PARAMS","AlleleSearchService","new_search_api_url","response","AnnouncementService","getAnnouncements","eventName","eventCategory","eventAction","eventLabel","eventValue","SharedService","PIPELINE_SPEC_API_URL","RESULT_API_URL","PipelineService","currentPipelineId","_currentPipelineId","asObservable","post","put","pipelineSpecId","form","getRawValue","minimum_len","maximum_len","SequenceParserService","fastaParser","fastaTexts","sequenceArray","shift","newObj","getFirstLine","getSequence","alphabetRegexp","RegExp","test","jsonParser","jsonTexts","parseObj","isArray","sequence","namedWhiteSpaceParser2","inputString","arr","regexp1","regexp2","regexp","StateService","initialState","PipelineStateService","setState","insertStageToParams","stageIndex","pop","insertStage","copy","tempTool","state$","mapFn","newState","structure3D","allele7","alleleFrequency","antibody","bCell","BCR","bindingAffinity","cancer","CD4","CD8","conservation","dataVisualization","deimmunization","elutedLigand","epitope","geneExpression","hlaAssociation","humoralImmunity","immunogenicity","mhcI","mhcII","modeling","molecularDocking","neoepitope","nonPeptidic","PDB","peptideSimilarity","population","proteinStructure","proteomeSearch","protrusion","responseFrequency","rnaExpression","smallMolecule","synthesis","tCell","tapProcessing","TCR","transcription","unwantedImmuneResponse","VCF","toolsListForm","initialTags","firstTools","legacyTools","sortedTools","countsForSelectedTools","reverse","groupBy","onChange","selectedTools","horizontalDivider","selectedTags","pickBy","tempSelectedTools","tag","fool","mostcount","deSelectAllTags","reset","columnObjectToList","maxNoLines","String","match","HttpHeaders","extension","tableType","headers","getVersionInfo","versionInfo","versionArr","api_url","api_port","auth_endpoint","auth_refresh_endpoint","upload_endpoint","optionalModules","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","catch"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}