|
5 | 5 |
|
6 | 6 | const { request } = require('../util');
|
7 | 7 |
|
8 |
| -const { rid, orderPreferredOntologyTerms } = require('../graphkb'); |
| 8 | +const { convertRecordToQueryFilters, orderPreferredOntologyTerms, rid } = require('../graphkb'); |
9 | 9 | const { logger } = require('../logging');
|
10 | 10 | const { SOURCE_DEFN: { name: ncitName } } = require('../ncit');
|
11 | 11 | const { oncotree: SOURCE_DEFN } = require('../sources');
|
@@ -209,17 +209,26 @@ const upload = async (opt) => {
|
209 | 209 | const ncitMissingRecords = new Set();
|
210 | 210 |
|
211 | 211 | // upload the results
|
| 212 | + logger.info(`Uploading ${records.length} OncoTree Disease records`); |
| 213 | + let count = 0; |
| 214 | + |
212 | 215 | for (const record of records) {
|
| 216 | + count++; |
| 217 | + logger.info(`${count}/${records.length} - ${record.sourceId}`); |
| 218 | + |
213 | 219 | const body = {
|
214 |
| - displayName: `${record.name} [${record.sourceId.toUpperCase()}]`, |
215 |
| - name: record.name, |
| 220 | + name: record.name.toLowerCase(), |
216 | 221 | source: rid(source),
|
217 | 222 | sourceId: record.sourceId,
|
218 | 223 | sourceIdVersion: record.sourceIdVersion,
|
219 | 224 | };
|
220 | 225 | const rec = await conn.addRecord({
|
221 |
| - content: body, |
| 226 | + content: { |
| 227 | + ...body, |
| 228 | + displayName: `${record.name} [${record.sourceId.toUpperCase()}]`, |
| 229 | + }, |
222 | 230 | existsOk: true,
|
| 231 | + fetchConditions: convertRecordToQueryFilters(body), |
223 | 232 | target: 'Disease',
|
224 | 233 | });
|
225 | 234 | dbRecordsByCode[record.sourceId] = rec;
|
@@ -253,7 +262,13 @@ const upload = async (opt) => {
|
253 | 262 | }
|
254 | 263 | }
|
255 | 264 |
|
| 265 | + logger.info('Creating \'subclassOf\' & \'deprecatedBy\' links between records'); |
| 266 | + count = 0; |
| 267 | + |
256 | 268 | for (const record of records) {
|
| 269 | + count++; |
| 270 | + logger.info(`${count}/${records.length} - subclassOf: ${(record.subclassOf || []).length}; deprecatedBy: ${(record.deprecatedBy || []).length}`); |
| 271 | + |
257 | 272 | for (const parentRecord of record.subclassOf || []) {
|
258 | 273 | await conn.addRecord({
|
259 | 274 | content: {
|
@@ -283,6 +298,8 @@ const upload = async (opt) => {
|
283 | 298 |
|
284 | 299 | if (ncitMissingRecords.size) {
|
285 | 300 | logger.warn(`Unable to retrieve ${ncitMissingRecords.size} ncit records for linking`);
|
| 301 | + } else { |
| 302 | + logger.info(`All ${ncitMissingRecords.size} ncit records has been successfully retreived for linking`); |
286 | 303 | }
|
287 | 304 | };
|
288 | 305 |
|
|
0 commit comments