1angular 2 .module('allgenesDownload') 3 .component('allgenesDownload', { 4 template: '<a target="_blank" href="{{$ctrl.genesUrl()}}"><div class="btn btn-default">Download Genes</div></a>', 5 6 bindings: { 7 taxid: '<' 8 }, 9 controller: function () { 10 11 var ctrl = this; 12 13 14 ctrl.$onChanges = function (changesObj) { 15 if (changesObj.taxid) { 16 ctrl.genesUrl = function () { 17 return "https://query.wikidata.org/#SELECT ?refSeqChromosome " + 18 "?gene ?genStart ?genEnd ?strand ?geneLabel ?entrez ?locusTag ?protein " + 19 "?proteinLabel ?uniprot ?refseqProt" + 20 " WHERE{ ?taxon wdt:P685 '" + ctrl.taxid + "'. " + 21 "?gene wdt:P703 ?taxon; " + 22 "wdt:P279 wd:Q7187; " + 23 "wdt:P644 ?genStart; " + 24 "wdt:P645 ?genEnd; " + 25 "wdt:P2548 ?strand; " + 26 "wdt:P2393 ?locusTag; " + 27 "wdt:P351 ?entrez; " + 28 "wdt:P688 ?protein. " + 29 "?protein wdt:P352 ?uniprot; " + 30 "wdt:P637 ?refseqProt." + 31 "OPTIONAL{ ?gene p:P644 ?chr. ?chr pq:P2249 ?refSeqChromosome.} " + 32 "SERVICE wikibase:label { bd:serviceParam wikibase:language 'en' . } }"; 33 } 34 35 } 36 37 }; 38 } 39 40 });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.