Thomas 3 лет назад
Родитель
Сommit
700d1ba552
6 измененных файлов с 18 добавлено и 23 удалено
  1. 5 4
      index.js
  2. 9 6
      index.ts
  3. 0 1
      package.json
  4. 4 4
      workers/esearch.js
  5. 0 3
      workers/esearch.ts
  6. 0 5
      yarn.lock

+ 5 - 4
index.js

@@ -134,7 +134,7 @@ const NCBITranscriptTemplate = (id) => {
                     } :
                     GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value 
             },
-            "Sequence": GBSet[0].GBSeq[0].GBSeq_sequence
+            "Sequence": $uppercase(GBSet[0].GBSeq[0].GBSeq_sequence)
         }`
     };
 };
@@ -161,7 +161,7 @@ const NCBIProteinTemplate = (id) => {
                     GBFeature_key in "Region" ? GBFeature_quals.GBQualifier[GBQualifier_name='region_name'][0].GBQualifier_value & ' ' & GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value :
                     GBFeature_key in "Site" ? GBFeature_quals.GBQualifier[GBQualifier_name='site_type'][0].GBQualifier_value & ' ' & GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value : GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value 
             },
-            "Sequence": GBSet[0].GBSeq[0].GBSeq_sequence
+            "Sequence": $uppercase(GBSet[0].GBSeq[0].GBSeq_sequence)
         }`
     };
 };
@@ -174,7 +174,7 @@ const NCBISNPTemplate = (id) => {
         endpoint: 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi',
         query: `**.DocumentSummary.{
             "ID": SNP_ID,
-            "Accession": ACC ,
+            "Accession": ACC,
             "Position": $number($split(CHRPOS, ":")[1]),
             "Classe": FXN_CLASS,
             "MAF": GLOBAL_MAFS.MAF.{
@@ -219,7 +219,8 @@ const getSNPs = (name) => __awaiter(void 0, void 0, void 0, function* () {
     // https://www.ncbi.nlm.nih.gov/books/NBK25499/
     // const r = await getSNP('1667092841')
     // const r = await getProtein('NP_008818')
-    const r = yield getSNPs('ZFP36L2');
+    // const r = await getSNPs('ZFP36L2')
+    const r = yield getGene('ZFP36L2');
     console.log(r);
     yield fs_1.default.promises.writeFile('test.json', JSON.stringify(r));
 }))();

+ 9 - 6
index.ts

@@ -128,7 +128,7 @@ const NCBITranscriptTemplate = (id:string) => {
                     } :
                     GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value 
             },
-            "Sequence": GBSet[0].GBSeq[0].GBSeq_sequence
+            "Sequence": $uppercase(GBSet[0].GBSeq[0].GBSeq_sequence)
         }`
     }
 }
@@ -156,7 +156,7 @@ const NCBIProteinTemplate = (id:string) => {
                     GBFeature_key in "Region" ? GBFeature_quals.GBQualifier[GBQualifier_name='region_name'][0].GBQualifier_value & ' ' & GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value :
                     GBFeature_key in "Site" ? GBFeature_quals.GBQualifier[GBQualifier_name='site_type'][0].GBQualifier_value & ' ' & GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value : GBFeature_quals.GBQualifier[GBQualifier_name='note'][0].GBQualifier_value 
             },
-            "Sequence": GBSet[0].GBSeq[0].GBSeq_sequence
+            "Sequence": $uppercase(GBSet[0].GBSeq[0].GBSeq_sequence)
         }`
     }
 }
@@ -170,7 +170,7 @@ const NCBISNPTemplate = (id:string) => {
         endpoint: 'https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi',
         query : `**.DocumentSummary.{
             "ID": SNP_ID,
-            "Accession": ACC ,
+            "Accession": ACC,
             "Position": $number($split(CHRPOS, ":")[1]),
             "Classe": FXN_CLASS,
             "MAF": GLOBAL_MAFS.MAF.{
@@ -217,11 +217,14 @@ const getSNPs = async (name:string) => {
     return result.flatMap(e => e.value)
 }
 
-(async()=>{
+(async() => {
     // https://www.ncbi.nlm.nih.gov/books/NBK25499/
     // const r = await getSNP('1667092841')
     // const r = await getProtein('NP_008818')
-    const r = await getSNPs('ZFP36L2')
+    // const r = await getSNPs('ZFP36L2')
+    const r = await getGene('ZFP36L2')
     console.log(r)
     await fs.promises.writeFile('test.json', JSON.stringify(r))
-})()
+})()
+
+/// https://rest.ensembl.org/lookup/symbol/homo_sapiens/ZFP36L2?expand=1;content-type=application/json

+ 0 - 1
package.json

@@ -22,7 +22,6 @@
     "fast-xml-parser": "^4.0.3",
     "genbank-parser": "^1.2.4",
     "jsonata": "^1.8.6",
-    "jsonpath-plus": "^6.0.1",
     "piscina": "^3.2.0",
     "xml2json": "^0.12.0",
     "xmldom": "^0.6.0",

+ 4 - 4
workers/esearch.js

@@ -96,10 +96,11 @@ const getEsearch = (params) => __awaiter(void 0, void 0, void 0, function* () {
                     response = yield axios_1.default.get(q);
                     ctrl = false;
                 }
-                catch (error) {
-                    console.log(error);
-                }
+                catch (error) { }
                 block++;
+                if (block === 6) {
+                    console.log("Dropping !!! ", q);
+                }
             }
         default:
             break;
@@ -127,7 +128,6 @@ const getEsearch = (params) => __awaiter(void 0, void 0, void 0, function* () {
     json = renameKeys(json);
     const results = [];
     for (const query of queries) {
-        // https://www.npmjs.com/package/jsonpath-plus
         let result;
         if (query !== '') {
             result = { query, value: (0, jsonata_1.default)(query).evaluate(json) /*simpleJSON(JSONPath({path: query, json})) */ };

+ 0 - 3
workers/esearch.ts

@@ -1,9 +1,7 @@
 import axios from 'axios'
 import genbankParser from 'genbank-parser'
 import { XMLParser } from 'fast-xml-parser'
-import { JSONPath }  from 'jsonpath-plus';
 import jsonata from 'jsonata';
-import { log } from 'console';
 
 const simpleJSON = (json:any):any => {
     if (Array.isArray(json)) {
@@ -108,7 +106,6 @@ const getEsearch = async (params: any) => {
     const results = []
     
     for (const query of queries) {
-        // https://www.npmjs.com/package/jsonpath-plus
         let result:any
         if (query !== '') {
             result = {query, value: jsonata(query).evaluate(json)/*simpleJSON(JSONPath({path: query, json})) */}

+ 0 - 5
yarn.lock

@@ -127,11 +127,6 @@ jsonata@^1.8.6:
   resolved "https://registry.yarnpkg.com/jsonata/-/jsonata-1.8.6.tgz#e5f0e6ace870a34bac881a182ca2b31227122791"
   integrity sha512-ZH2TPYdNP2JecOl/HvrH47Xc+9imibEMQ4YqKy/F/FrM+2a6vfbGxeCX23dB9Fr6uvGwv+ghf1KxWB3iZk09wA==
 
-jsonpath-plus@^6.0.1:
-  version "6.0.1"
-  resolved "https://registry.yarnpkg.com/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz#9a3e16cedadfab07a3d8dc4e8cd5df4ed8f49c4d"
-  integrity sha512-EvGovdvau6FyLexFH2OeXfIITlgIbgZoAZe3usiySeaIDm5QS+A10DKNpaPBBqqRSZr2HN6HVNXxtwUAr2apEw==
-
 nan@^2.13.2:
   version "2.15.0"
   resolved "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz"