ifct2017 2.0.14 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -21
- package/README.md +1019 -71
- package/abbreviations/index.csv +78 -0
- package/abbreviations/index.d.ts +39 -0
- package/abbreviations/index.js +103 -0
- package/abbreviations/index.txt +12 -0
- package/about/build.ts +31 -0
- package/about/index.d.ts +47 -0
- package/about/index.js +110 -0
- package/about/index.txt +174 -0
- package/build.ts +115 -0
- package/carbohydrates/index.csv +8 -0
- package/carbohydrates/index.d.ts +42 -0
- package/carbohydrates/index.js +112 -0
- package/carbohydrates/index.txt +14 -0
- package/codes/index.csv +2904 -0
- package/codes/index.d.ts +36 -0
- package/codes/index.js +102 -0
- package/codes/index.txt +12 -0
- package/columndescriptions/build.ts +22 -0
- package/columndescriptions/index.csv +215 -0
- package/columndescriptions/index.d.ts +44 -0
- package/columndescriptions/index.js +119 -0
- package/columns/build.ts +23 -0
- package/columns/index.csv +215 -0
- package/columns/index.d.ts +39 -0
- package/columns/index.js +111 -0
- package/columns/index.txt +71 -0
- package/compositingcentres/index.csv +7 -0
- package/compositingcentres/index.d.ts +35 -0
- package/compositingcentres/index.js +103 -0
- package/compositingcentres/index.txt +13 -0
- package/compositions/build.ts +212 -0
- package/compositions/index.csv +543 -0
- package/compositions/index.d.ts +254 -0
- package/compositions/index.js +204 -0
- package/compositionstats/build.ts +103 -0
- package/compositionstats/index.csv +4 -0
- package/compositionstats/index.d.ts +31 -0
- package/compositionstats/index.js +97 -0
- package/contents/index.csv +21 -0
- package/contents/index.d.ts +39 -0
- package/contents/index.js +102 -0
- package/contents/index.txt +13 -0
- package/deno.lock +67 -0
- package/descriptions/index.csv +543 -0
- package/descriptions/index.d.ts +45 -0
- package/descriptions/index.js +124 -0
- package/descriptions/index.txt +15 -0
- package/energies/index.csv +6 -0
- package/energies/index.d.ts +34 -0
- package/energies/index.js +101 -0
- package/energies/index.txt +13 -0
- package/frequencydistribution/index.csv +10 -0
- package/frequencydistribution/index.d.ts +36 -0
- package/frequencydistribution/index.js +90 -0
- package/frequencydistribution/index.txt +14 -0
- package/groups/index.csv +21 -0
- package/groups/index.d.ts +46 -0
- package/groups/index.js +118 -0
- package/groups/index.txt +14 -0
- package/hierarchy/asset.csv +215 -0
- package/hierarchy/asset.txt +70 -0
- package/hierarchy/build.ts +73 -0
- package/hierarchy/index.csv +215 -0
- package/hierarchy/index.d.ts +39 -0
- package/hierarchy/index.js +100 -0
- package/hierarchy/index.txt +14 -0
- package/index.d.ts +24 -28
- package/index.js +28 -39
- package/index.test.ts +717 -0
- package/intakes/build.ts +28 -0
- package/intakes/index.csv +42 -0
- package/intakes/index.d.ts +66 -0
- package/intakes/index.js +113 -0
- package/intakes/index.txt +20 -0
- package/jonesfactors/index.csv +15 -0
- package/jonesfactors/index.d.ts +35 -0
- package/jonesfactors/index.js +105 -0
- package/jonesfactors/index.txt +12 -0
- package/languages/index.csv +22 -0
- package/languages/index.d.ts +39 -0
- package/languages/index.js +103 -0
- package/languages/index.txt +12 -0
- package/methods/build.ts +101 -0
- package/methods/index.csv +37 -0
- package/methods/index.d.ts +39 -0
- package/methods/index.js +196 -0
- package/methods/index.txt +13 -0
- package/package.json +15 -63
- package/regions/index.csv +7 -0
- package/regions/index.d.ts +36 -0
- package/regions/index.js +100 -0
- package/regions/index.txt +12 -0
- package/representations/build.ts +133 -0
- package/representations/index.csv +215 -0
- package/representations/index.d.ts +36 -0
- package/representations/index.js +91 -0
- package/retentionfactors/groups.csv +21 -0
- package/retentionfactors/index.csv +215 -0
- package/samplingunits/index.csv +36 -0
- package/samplingunits/index.d.ts +39 -0
- package/samplingunits/index.js +110 -0
- package/samplingunits/index.txt +14 -0
- package/yieldfactors/index.csv +543 -0
- package/yieldfactors/index.d.ts +57 -0
- package/yieldfactors/index.js +158 -0
- package/yieldfactors/index.txt +294 -0
- package/corpus.js +0 -6
- package/corpus.min.js +0 -1
- package/pictures.d.ts +0 -41
package/groups/index.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
// Copyright (C) 2025-26 Subhajit Sahu
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// See LICENSE for full terms
|
|
4
|
+
import * as csv from "@std/csv";
|
|
5
|
+
import lunr from "lunr"; // @deno-types="npm:@types/lunr@2.3.7"
|
|
6
|
+
import { setupTable } from "@nodef/extra-sql";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region GLOBALS
|
|
9
|
+
let corpus = null;
|
|
10
|
+
let index = null;
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region FUNCTIONS
|
|
13
|
+
/**
|
|
14
|
+
* Load the groups corpus from CSV file.
|
|
15
|
+
* @param file CSV file path
|
|
16
|
+
* @returns groups corpus
|
|
17
|
+
*/ async function loadFromCsv(file) {
|
|
18
|
+
const map = new Map();
|
|
19
|
+
const data = await (await fetch(file)).text();
|
|
20
|
+
const records = csv.parse(data, {
|
|
21
|
+
skipFirstRow: true,
|
|
22
|
+
comment: "#"
|
|
23
|
+
});
|
|
24
|
+
for (const r of records){
|
|
25
|
+
const entries = parseInt(r.entries, 10);
|
|
26
|
+
map.set(r.code, {
|
|
27
|
+
code: r.code,
|
|
28
|
+
group: r.group,
|
|
29
|
+
entries,
|
|
30
|
+
tags: r.tags
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return map;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Setup the lunr index for the groups corpus.
|
|
37
|
+
* @returns lunr index
|
|
38
|
+
*/ function setupIndex(corpus) {
|
|
39
|
+
return lunr(function() {
|
|
40
|
+
this.ref('code');
|
|
41
|
+
this.field('code');
|
|
42
|
+
this.field('group');
|
|
43
|
+
this.field('tags');
|
|
44
|
+
this.pipeline.remove(lunr.stopWordFilter);
|
|
45
|
+
for (const r of corpus.values())this.add(r);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Load the groups corpus from the file.
|
|
50
|
+
* @returns groups corpus
|
|
51
|
+
*/ export async function loadGroups() {
|
|
52
|
+
if (corpus) return corpus;
|
|
53
|
+
corpus = await loadFromCsv(groupsCsv());
|
|
54
|
+
index = setupIndex(corpus);
|
|
55
|
+
return corpus;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get the path to the groups CSV file.
|
|
59
|
+
* @returns CSV file URL
|
|
60
|
+
*/ export function groupsCsv() {
|
|
61
|
+
return import.meta.resolve('./index.csv');
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Obtain SQL command to create and populate the groups table.
|
|
65
|
+
* @param tab table name
|
|
66
|
+
* @param opt options for the table
|
|
67
|
+
* @returns CREATE TABLE, INSERT, CREATE VIEW, CREATE INDEX statements
|
|
68
|
+
*/ export async function groupsSql(tab = "groups", opt = {}) {
|
|
69
|
+
return setupTable(tab, {
|
|
70
|
+
code: "TEXT",
|
|
71
|
+
group: "TEXT",
|
|
72
|
+
entries: "INT",
|
|
73
|
+
tags: "TEXT"
|
|
74
|
+
}, (await loadGroups()).values(), Object.assign({
|
|
75
|
+
pk: "code",
|
|
76
|
+
index: true,
|
|
77
|
+
tsvector: {
|
|
78
|
+
code: "A",
|
|
79
|
+
group: "B",
|
|
80
|
+
tags: "C"
|
|
81
|
+
}
|
|
82
|
+
}, opt));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Find matching groups of an code/group/tags query.
|
|
86
|
+
* @param txt code/group/tags query
|
|
87
|
+
* @returns matches `[{code, group, entries, tags}]`
|
|
88
|
+
* @example
|
|
89
|
+
* ```javascript
|
|
90
|
+
* ifct2017.groups('cereals');
|
|
91
|
+
* ifct2017.groups('Millet');
|
|
92
|
+
* // → [ { code: 'A',
|
|
93
|
+
* // → group: 'Cereals and Millets',
|
|
94
|
+
* // → entries: 24,
|
|
95
|
+
* // → tags: 'vegetarian eggetarian fishetarian veg' } ]
|
|
96
|
+
*
|
|
97
|
+
* ifct2017.groups('what is vegetable?');
|
|
98
|
+
* ifct2017.groups('vegetable group code?');
|
|
99
|
+
* // → [ { code: 'D',
|
|
100
|
+
* // → group: 'Other Vegetables',
|
|
101
|
+
* // → entries: 78,
|
|
102
|
+
* // → tags: 'vegetarian eggetarian fishetarian veg' },
|
|
103
|
+
* // → { code: 'C',
|
|
104
|
+
* // → group: 'Green Leafy Vegetables',
|
|
105
|
+
* // → entries: 34,
|
|
106
|
+
* // → tags: 'vegetarian eggetarian fishetarian veg' } ]
|
|
107
|
+
* ```
|
|
108
|
+
*/ export function groups(txt) {
|
|
109
|
+
if (index == null) return [];
|
|
110
|
+
const a = [];
|
|
111
|
+
txt = txt.replace(/\W/g, ' ');
|
|
112
|
+
const mats = index.search(txt);
|
|
113
|
+
let max = 0;
|
|
114
|
+
for (const mat of mats)max = Math.max(max, Object.keys(mat.matchData.metadata).length);
|
|
115
|
+
for (const mat of mats)if (Object.keys(mat.matchData.metadata).length === max) a.push(corpus?.get(mat.ref) || {});
|
|
116
|
+
return a;
|
|
117
|
+
} //#endregion
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9pZmN0MjAxNy9pZmN0MjAxNy9ncm91cHMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChDKSAyMDI1LTI2IFN1Ymhhaml0IFNhaHVcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vci1sYXRlclxuLy8gU2VlIExJQ0VOU0UgZm9yIGZ1bGwgdGVybXNcbmltcG9ydCAqIGFzIGNzdiAgZnJvbSBcIkBzdGQvY3N2XCI7XG5pbXBvcnQgbHVuciBmcm9tIFwibHVuclwiOyAgLy8gQGRlbm8tdHlwZXM9XCJucG06QHR5cGVzL2x1bnJAMi4zLjdcIlxuaW1wb3J0IHt0eXBlIFJvd0RhdGEsIHR5cGUgU2V0dXBUYWJsZU9wdGlvbnMsIHNldHVwVGFibGV9IGZyb20gXCJAbm9kZWYvZXh0cmEtc3FsXCI7XG5cblxuXG5cbi8vI3JlZ2lvbiBUWVBFU1xuLyoqIENhdGVnb3JpemF0aW9uIG9mIGZvb2QgYnkgaXRzIGNvbW1vbiBuYW1lcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXAge1xuICAvKiogQ29kZS4gKi9cbiAgY29kZTogc3RyaW5nLFxuICAvKiogRm9vZCBncm91cHMuICovXG4gIGdyb3VwOiBzdHJpbmcsXG4gIC8qKiBOby4gb2YgZm9vZCBlbnRyaWVzLiAqL1xuICBlbnRyaWVzOiBudW1iZXIsXG4gIC8qKiBUYWdzLiAqL1xuICB0YWdzOiBzdHJpbmdcbn07XG4vLyNlbmRyZWdpb25cblxuXG5cblxuLy8jcmVnaW9uIEdMT0JBTFNcbmxldCBjb3JwdXM6IE1hcDxzdHJpbmcsIEdyb3VwPiB8IG51bGwgPSBudWxsO1xubGV0IGluZGV4OiBsdW5yLkluZGV4IHwgbnVsbCA9IG51bGw7XG4vLyNlbmRyZWdpb25cblxuXG5cblxuLy8jcmVnaW9uIEZVTkNUSU9OU1xuLyoqXG4gKiBMb2FkIHRoZSBncm91cHMgY29ycHVzIGZyb20gQ1NWIGZpbGUuXG4gKiBAcGFyYW0gZmlsZSBDU1YgZmlsZSBwYXRoXG4gKiBAcmV0dXJucyBncm91cHMgY29ycHVzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRGcm9tQ3N2KGZpbGU6IHN0cmluZykge1xuICBjb25zdCBtYXAgID0gbmV3IE1hcDxzdHJpbmcsIEdyb3VwPigpO1xuICBjb25zdCBkYXRhID0gYXdhaXQgKGF3YWl0IGZldGNoKGZpbGUpKS50ZXh0KCk7XG4gIGNvbnN0IHJlY29yZHMgPSBjc3YucGFyc2UoZGF0YSwge3NraXBGaXJzdFJvdzogdHJ1ZSwgY29tbWVudDogXCIjXCJ9KTtcbiAgZm9yIChjb25zdCByIG9mIHJlY29yZHMpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gcGFyc2VJbnQoci5lbnRyaWVzLCAxMCk7XG4gICAgbWFwLnNldChyLmNvZGUsIHtjb2RlOiByLmNvZGUsIGdyb3VwOiByLmdyb3VwLCBlbnRyaWVzLCB0YWdzOiByLnRhZ3N9KTtcbiAgfVxuICByZXR1cm4gbWFwO1xufVxuXG5cbi8qKlxuICogU2V0dXAgdGhlIGx1bnIgaW5kZXggZm9yIHRoZSBncm91cHMgY29ycHVzLlxuICogQHJldHVybnMgbHVuciBpbmRleFxuICovXG5mdW5jdGlvbiBzZXR1cEluZGV4KGNvcnB1czogTWFwPHN0cmluZywgR3JvdXA+KSB7XG4gIHJldHVybiBsdW5yKGZ1bmN0aW9uKHRoaXM6IGx1bnIuQnVpbGRlcikge1xuICAgIHRoaXMucmVmKCdjb2RlJyk7XG4gICAgdGhpcy5maWVsZCgnY29kZScpO1xuICAgIHRoaXMuZmllbGQoJ2dyb3VwJyk7XG4gICAgdGhpcy5maWVsZCgndGFncycpO1xuICAgIHRoaXMucGlwZWxpbmUucmVtb3ZlKGx1bnIuc3RvcFdvcmRGaWx0ZXIpO1xuICAgIGZvciAoY29uc3QgciBvZiBjb3JwdXMudmFsdWVzKCkpXG4gICAgICB0aGlzLmFkZChyKTtcbiAgfSk7XG59XG5cblxuLyoqXG4gKiBMb2FkIHRoZSBncm91cHMgY29ycHVzIGZyb20gdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBncm91cHMgY29ycHVzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkR3JvdXBzKCk6IFByb21pc2U8TWFwPHN0cmluZywgR3JvdXA+PiB7XG4gIGlmIChjb3JwdXMpIHJldHVybiBjb3JwdXM7XG4gIGNvcnB1cyA9IGF3YWl0IGxvYWRGcm9tQ3N2KGdyb3Vwc0NzdigpKTtcbiAgaW5kZXggID0gc2V0dXBJbmRleChjb3JwdXMpO1xuICByZXR1cm4gY29ycHVzO1xufVxuXG5cbi8qKlxuICogR2V0IHRoZSBwYXRoIHRvIHRoZSBncm91cHMgQ1NWIGZpbGUuXG4gKiBAcmV0dXJucyBDU1YgZmlsZSBVUkxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3Vwc0NzdigpOiBzdHJpbmcge1xuICByZXR1cm4gaW1wb3J0Lm1ldGEucmVzb2x2ZSgnLi9pbmRleC5jc3YnKTtcbn1cblxuXG4vKipcbiAqIE9idGFpbiBTUUwgY29tbWFuZCB0byBjcmVhdGUgYW5kIHBvcHVsYXRlIHRoZSBncm91cHMgdGFibGUuXG4gKiBAcGFyYW0gdGFiIHRhYmxlIG5hbWVcbiAqIEBwYXJhbSBvcHQgb3B0aW9ucyBmb3IgdGhlIHRhYmxlXG4gKiBAcmV0dXJucyBDUkVBVEUgVEFCTEUsIElOU0VSVCwgQ1JFQVRFIFZJRVcsIENSRUFURSBJTkRFWCBzdGF0ZW1lbnRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncm91cHNTcWwodGFiOiBzdHJpbmc9XCJncm91cHNcIiwgb3B0OiBTZXR1cFRhYmxlT3B0aW9ucz17fSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBzZXR1cFRhYmxlKHRhYiwge2NvZGU6IFwiVEVYVFwiLCBncm91cDogXCJURVhUXCIsIGVudHJpZXM6IFwiSU5UXCIsIHRhZ3M6IFwiVEVYVFwifSxcbiAgICAoYXdhaXQgbG9hZEdyb3VwcygpKS52YWx1ZXMoKSBhcyBJdGVyYWJsZTxSb3dEYXRhPixcbiAgICBPYmplY3QuYXNzaWduKHtwazogXCJjb2RlXCIsIGluZGV4OiB0cnVlLCB0c3ZlY3Rvcjoge2NvZGU6IFwiQVwiLCBncm91cDogXCJCXCIsIHRhZ3M6IFwiQ1wifX0sIG9wdCkpO1xufVxuXG5cbi8qKlxuICogRmluZCBtYXRjaGluZyBncm91cHMgb2YgYW4gY29kZS9ncm91cC90YWdzIHF1ZXJ5LlxuICogQHBhcmFtIHR4dCBjb2RlL2dyb3VwL3RhZ3MgcXVlcnlcbiAqIEByZXR1cm5zIG1hdGNoZXMgYFt7Y29kZSwgZ3JvdXAsIGVudHJpZXMsIHRhZ3N9XWBcbiAqIEBleGFtcGxlXG4gKiBgYGBqYXZhc2NyaXB0XG4gKiBpZmN0MjAxNy5ncm91cHMoJ2NlcmVhbHMnKTtcbiAqIGlmY3QyMDE3Lmdyb3VwcygnTWlsbGV0Jyk7XG4gKiAvLyDihpIgWyB7IGNvZGU6ICdBJyxcbiAqIC8vIOKGkiAgICAgZ3JvdXA6ICdDZXJlYWxzIGFuZCBNaWxsZXRzJyxcbiAqIC8vIOKGkiAgICAgZW50cmllczogMjQsXG4gKiAvLyDihpIgICAgIHRhZ3M6ICd2ZWdldGFyaWFuIGVnZ2V0YXJpYW4gZmlzaGV0YXJpYW4gdmVnJyB9IF1cbiAqXG4gKiBpZmN0MjAxNy5ncm91cHMoJ3doYXQgaXMgdmVnZXRhYmxlPycpO1xuICogaWZjdDIwMTcuZ3JvdXBzKCd2ZWdldGFibGUgZ3JvdXAgY29kZT8nKTtcbiAqIC8vIOKGkiBbIHsgY29kZTogJ0QnLFxuICogLy8g4oaSICAgICBncm91cDogJ090aGVyIFZlZ2V0YWJsZXMnLFxuICogLy8g4oaSICAgICBlbnRyaWVzOiA3OCxcbiAqIC8vIOKGkiAgICAgdGFnczogJ3ZlZ2V0YXJpYW4gZWdnZXRhcmlhbiBmaXNoZXRhcmlhbiB2ZWcnIH0sXG4gKiAvLyDihpIgICB7IGNvZGU6ICdDJyxcbiAqIC8vIOKGkiAgICAgZ3JvdXA6ICdHcmVlbiBMZWFmeSBWZWdldGFibGVzJyxcbiAqIC8vIOKGkiAgICAgZW50cmllczogMzQsXG4gKiAvLyDihpIgICAgIHRhZ3M6ICd2ZWdldGFyaWFuIGVnZ2V0YXJpYW4gZmlzaGV0YXJpYW4gdmVnJyB9IF1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBzKHR4dDogc3RyaW5nKTogR3JvdXBbXSB7XG4gIGlmIChpbmRleCA9PSBudWxsKSByZXR1cm4gW107XG4gIGNvbnN0IGE6IEdyb3VwW10gPSBbXTsgdHh0ID0gdHh0LnJlcGxhY2UoL1xcVy9nLCAnICcpO1xuICBjb25zdCBtYXRzID0gaW5kZXguc2VhcmNoKHR4dCk7IGxldCBtYXggPSAwO1xuICBmb3IgKGNvbnN0IG1hdCBvZiBtYXRzKVxuICAgIG1heCA9IE1hdGgubWF4KG1heCwgT2JqZWN0LmtleXMobWF0Lm1hdGNoRGF0YS5tZXRhZGF0YSkubGVuZ3RoKTtcbiAgZm9yIChjb25zdCBtYXQgb2YgbWF0cylcbiAgICBpZiAoT2JqZWN0LmtleXMobWF0Lm1hdGNoRGF0YS5tZXRhZGF0YSkubGVuZ3RoID09PSBtYXgpIGEucHVzaChjb3JwdXM/LmdldChtYXQucmVmKSB8fCB7fSBhcyBHcm91cCk7XG4gIHJldHVybiBhO1xufVxuLy8jZW5kcmVnaW9uXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0NBQXNDO0FBQ3RDLDZDQUE2QztBQUM3Qyw2QkFBNkI7QUFDN0IsWUFBWSxTQUFVLFdBQVc7QUFDakMsT0FBTyxVQUFVLE9BQU8sQ0FBRSxzQ0FBc0M7QUFDaEUsU0FBOEMsVUFBVSxRQUFPLG1CQUFtQjtBQWlCbEYsWUFBWTtBQUtaLGlCQUFpQjtBQUNqQixJQUFJLFNBQW9DO0FBQ3hDLElBQUksUUFBMkI7QUFDL0IsWUFBWTtBQUtaLG1CQUFtQjtBQUNuQjs7OztDQUlDLEdBQ0QsZUFBZSxZQUFZLElBQVk7RUFDckMsTUFBTSxNQUFPLElBQUk7RUFDakIsTUFBTSxPQUFPLE1BQU0sQ0FBQyxNQUFNLE1BQU0sS0FBSyxFQUFFLElBQUk7RUFDM0MsTUFBTSxVQUFVLElBQUksS0FBSyxDQUFDLE1BQU07SUFBQyxjQUFjO0lBQU0sU0FBUztFQUFHO0VBQ2pFLEtBQUssTUFBTSxLQUFLLFFBQVM7SUFDdkIsTUFBTSxVQUFVLFNBQVMsRUFBRSxPQUFPLEVBQUU7SUFDcEMsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUU7TUFBQyxNQUFNLEVBQUUsSUFBSTtNQUFFLE9BQU8sRUFBRSxLQUFLO01BQUU7TUFBUyxNQUFNLEVBQUUsSUFBSTtJQUFBO0VBQ3RFO0VBQ0EsT0FBTztBQUNUO0FBR0E7OztDQUdDLEdBQ0QsU0FBUyxXQUFXLE1BQTBCO0VBQzVDLE9BQU8sS0FBSztJQUNWLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLGNBQWM7SUFDeEMsS0FBSyxNQUFNLEtBQUssT0FBTyxNQUFNLEdBQzNCLElBQUksQ0FBQyxHQUFHLENBQUM7RUFDYjtBQUNGO0FBR0E7OztDQUdDLEdBQ0QsT0FBTyxlQUFlO0VBQ3BCLElBQUksUUFBUSxPQUFPO0VBQ25CLFNBQVMsTUFBTSxZQUFZO0VBQzNCLFFBQVMsV0FBVztFQUNwQixPQUFPO0FBQ1Q7QUFHQTs7O0NBR0MsR0FDRCxPQUFPLFNBQVM7RUFDZCxPQUFPLFlBQVksT0FBTyxDQUFDO0FBQzdCO0FBR0E7Ozs7O0NBS0MsR0FDRCxPQUFPLGVBQWUsVUFBVSxNQUFZLFFBQVEsRUFBRSxNQUF1QixDQUFDLENBQUM7RUFDN0UsT0FBTyxXQUFXLEtBQUs7SUFBQyxNQUFNO0lBQVEsT0FBTztJQUFRLFNBQVM7SUFBTyxNQUFNO0VBQU0sR0FDL0UsQ0FBQyxNQUFNLFlBQVksRUFBRSxNQUFNLElBQzNCLE9BQU8sTUFBTSxDQUFDO0lBQUMsSUFBSTtJQUFRLE9BQU87SUFBTSxVQUFVO01BQUMsTUFBTTtNQUFLLE9BQU87TUFBSyxNQUFNO0lBQUc7RUFBQyxHQUFHO0FBQzNGO0FBR0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCQyxHQUNELE9BQU8sU0FBUyxPQUFPLEdBQVc7RUFDaEMsSUFBSSxTQUFTLE1BQU0sT0FBTyxFQUFFO0VBQzVCLE1BQU0sSUFBYSxFQUFFO0VBQUUsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPO0VBQ2hELE1BQU0sT0FBTyxNQUFNLE1BQU0sQ0FBQztFQUFNLElBQUksTUFBTTtFQUMxQyxLQUFLLE1BQU0sT0FBTyxLQUNoQixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU07RUFDaEUsS0FBSyxNQUFNLE9BQU8sS0FDaEIsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxLQUFLLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7RUFDMUYsT0FBTztBQUNULEVBQ0EsWUFBWSJ9
|
package/groups/index.txt
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Indian Food Composition Tables 2017
|
|
2
|
+
# T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
3
|
+
#
|
|
4
|
+
# Copyright © 2017 by National Institute of Nutrition
|
|
5
|
+
# Indian Council of Medical Research
|
|
6
|
+
# Department of Health Research Ministry of Health and Family Welfare, Government of India
|
|
7
|
+
# Jamai Osmania (PO), Hyderabad – 500 007
|
|
8
|
+
# Telangana, India Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
9
|
+
#
|
|
10
|
+
# FOOD DESCRIPTION
|
|
11
|
+
# - Code
|
|
12
|
+
# - Food groups
|
|
13
|
+
# - No. of food entries
|
|
14
|
+
# - Tags
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
code,parents
|
|
2
|
+
code,
|
|
3
|
+
name,
|
|
4
|
+
grup,
|
|
5
|
+
regn,
|
|
6
|
+
tags,
|
|
7
|
+
scie,name
|
|
8
|
+
lang,name
|
|
9
|
+
enerc,
|
|
10
|
+
water,
|
|
11
|
+
ash,
|
|
12
|
+
vit,
|
|
13
|
+
fatce,
|
|
14
|
+
cholc,
|
|
15
|
+
fibtg,
|
|
16
|
+
choavldf,
|
|
17
|
+
protcnt,
|
|
18
|
+
amiac,protcnt
|
|
19
|
+
cartoid,
|
|
20
|
+
polyph,
|
|
21
|
+
phystr,
|
|
22
|
+
tocph,
|
|
23
|
+
toctr,
|
|
24
|
+
orgac,
|
|
25
|
+
phytac,
|
|
26
|
+
sapon,
|
|
27
|
+
mnrleq,ash
|
|
28
|
+
mnrlet,ash
|
|
29
|
+
mnrlpet,ash
|
|
30
|
+
mnrlnet,ash
|
|
31
|
+
mnrltx,ash
|
|
32
|
+
vita,vit
|
|
33
|
+
vitb,vit
|
|
34
|
+
vitc,vit
|
|
35
|
+
vitd,vit
|
|
36
|
+
vite,vit
|
|
37
|
+
vitk,vit
|
|
38
|
+
fasat,fatce
|
|
39
|
+
fauns,fatce
|
|
40
|
+
faess,fatce
|
|
41
|
+
facis,fatce
|
|
42
|
+
fatrn,fatce
|
|
43
|
+
fibins,fibtg
|
|
44
|
+
fibsol,fibtg
|
|
45
|
+
thia,vitb
|
|
46
|
+
ribf,vitb
|
|
47
|
+
nia,vitb
|
|
48
|
+
pantac,vitb
|
|
49
|
+
vitb6c,vitb
|
|
50
|
+
biot,vitb
|
|
51
|
+
folsum,vitb
|
|
52
|
+
retol,vita
|
|
53
|
+
ergcal,vitd
|
|
54
|
+
chocal,vitd
|
|
55
|
+
doh25,vitd
|
|
56
|
+
tocpha,tocph
|
|
57
|
+
tocphb,tocph
|
|
58
|
+
tocphg,tocph
|
|
59
|
+
tocphd,tocph
|
|
60
|
+
toctra,toctr
|
|
61
|
+
toctrb,toctr
|
|
62
|
+
toctrg,toctr
|
|
63
|
+
toctrd,toctr
|
|
64
|
+
vitk1,vitk
|
|
65
|
+
vitk2,vitk
|
|
66
|
+
lutn,xantp
|
|
67
|
+
zea,xantp
|
|
68
|
+
crypxb,xantp
|
|
69
|
+
lycpn,carot
|
|
70
|
+
cartg,carot
|
|
71
|
+
carta,carot
|
|
72
|
+
cartb,carot
|
|
73
|
+
al,mnrlnet
|
|
74
|
+
as,mnrltx
|
|
75
|
+
cd,mnrltx
|
|
76
|
+
ca,mnrleq
|
|
77
|
+
cr,mnrlet
|
|
78
|
+
co,mnrlet
|
|
79
|
+
cu,mnrlet
|
|
80
|
+
fe,mnrlet
|
|
81
|
+
pb,mnrltx
|
|
82
|
+
li,mnrlpet
|
|
83
|
+
mg,mnrleq
|
|
84
|
+
mn,mnrlet
|
|
85
|
+
hg,mnrltx
|
|
86
|
+
mo,mnrlet
|
|
87
|
+
ni,mnrlet
|
|
88
|
+
p,mnrleq
|
|
89
|
+
k,mnrleq
|
|
90
|
+
se,mnrlet
|
|
91
|
+
na,mnrleq
|
|
92
|
+
zn,mnrlet
|
|
93
|
+
cho,choavldf
|
|
94
|
+
starch,cho
|
|
95
|
+
olsac,starch
|
|
96
|
+
frus,fsugar
|
|
97
|
+
glus,fsugar
|
|
98
|
+
sucs,fsugar
|
|
99
|
+
mals,fsugar
|
|
100
|
+
fsugar,cho
|
|
101
|
+
lactose,fsugar
|
|
102
|
+
f4d0,fasat
|
|
103
|
+
f6d0,fasat
|
|
104
|
+
f8d0,fasat
|
|
105
|
+
f10d0,fasat
|
|
106
|
+
f11d0,fasat
|
|
107
|
+
f12d0,fasat
|
|
108
|
+
f14d0,fasat
|
|
109
|
+
f15d0,fasat
|
|
110
|
+
f16d0,fasat
|
|
111
|
+
f18d0,fasat
|
|
112
|
+
f20d0,fasat
|
|
113
|
+
f22d0,fasat
|
|
114
|
+
f24d0,fasat
|
|
115
|
+
f14d1cn5,facn5 fams
|
|
116
|
+
f16d1cn7,facn7 fams
|
|
117
|
+
f18d1cn9,facn9 fams
|
|
118
|
+
f18d1tn9,fatrn fams
|
|
119
|
+
f20d1cn9,facn9 fams
|
|
120
|
+
f22d1cn9,facn9 fams
|
|
121
|
+
f24d1cn9,facn9 fams
|
|
122
|
+
f18d2cn6,facn6 fapu faess
|
|
123
|
+
f20d2n6,facn6 fapu
|
|
124
|
+
f22d2n6,facn6 fapu
|
|
125
|
+
f18d3n3,facn3 fapu faess
|
|
126
|
+
f20d3n6,facn6 fapu
|
|
127
|
+
f20d4n6,facn6 fapu faess
|
|
128
|
+
f20d5n3,facn3 fapu faess
|
|
129
|
+
f22d5n3,facn3 fapu
|
|
130
|
+
f22d6n3,facn3 fapu faess
|
|
131
|
+
fams,fauns
|
|
132
|
+
fapu,fauns
|
|
133
|
+
his,amiace
|
|
134
|
+
ile,amiace
|
|
135
|
+
leu,amiace
|
|
136
|
+
lys,amiace
|
|
137
|
+
met,amiace
|
|
138
|
+
cys,amiacce
|
|
139
|
+
phe,amiace
|
|
140
|
+
thr,amiace
|
|
141
|
+
trp,amiace
|
|
142
|
+
val,amiace
|
|
143
|
+
ala,amiacne
|
|
144
|
+
arg,amiacce
|
|
145
|
+
asp,amiacne
|
|
146
|
+
glu,amiacne
|
|
147
|
+
gly,amiacce
|
|
148
|
+
pro,amiacce
|
|
149
|
+
ser,amiacne
|
|
150
|
+
tyr,amiacce
|
|
151
|
+
oxalt,orgac
|
|
152
|
+
oxals,oxalt
|
|
153
|
+
oxali,oxalt
|
|
154
|
+
caconac,orgac
|
|
155
|
+
citac,orgac
|
|
156
|
+
fumac,orgac
|
|
157
|
+
malac,orgac
|
|
158
|
+
quinac,orgac
|
|
159
|
+
sucac,orgac
|
|
160
|
+
tarac,orgac
|
|
161
|
+
dhbenzac34,polyph
|
|
162
|
+
hbenzal3,polyph
|
|
163
|
+
pcathac,polyph
|
|
164
|
+
vanlac,polyph
|
|
165
|
+
gallac,polyph
|
|
166
|
+
cinmac,polyph
|
|
167
|
+
coumaco,polyph
|
|
168
|
+
coumacp,polyph
|
|
169
|
+
caffac,polyph
|
|
170
|
+
chlrac,polyph
|
|
171
|
+
ferac,polyph
|
|
172
|
+
apigen,polyph
|
|
173
|
+
apigen6cgls,polyph
|
|
174
|
+
apigen7onshps,polyph
|
|
175
|
+
luteol,polyph
|
|
176
|
+
kaemf,polyph
|
|
177
|
+
querce,polyph
|
|
178
|
+
querce3bdgls,polyph
|
|
179
|
+
querce3ortns,polyph
|
|
180
|
+
querce3bgls,polyph
|
|
181
|
+
isormt,polyph
|
|
182
|
+
myrct,polyph
|
|
183
|
+
rsvrtol,polyph
|
|
184
|
+
hespt,polyph
|
|
185
|
+
narng,polyph
|
|
186
|
+
hespd,polyph
|
|
187
|
+
daidzn,polyph
|
|
188
|
+
gnstein,polyph
|
|
189
|
+
epicatec,polyph
|
|
190
|
+
epicategc,polyph
|
|
191
|
+
epicatgc3gal,polyph
|
|
192
|
+
catec,polyph
|
|
193
|
+
galcatecgal,polyph
|
|
194
|
+
galcatec,polyph
|
|
195
|
+
syrgac,polyph
|
|
196
|
+
sinpac,polyph
|
|
197
|
+
ellgac,polyph
|
|
198
|
+
rafs,olsac
|
|
199
|
+
stas,olsac
|
|
200
|
+
vers,olsac
|
|
201
|
+
ajgs,olsac
|
|
202
|
+
camt,phystr
|
|
203
|
+
stgstr,phystr
|
|
204
|
+
stostrb,phystr
|
|
205
|
+
amiace,amiac
|
|
206
|
+
amiacce,amiac
|
|
207
|
+
amiacne,amiac
|
|
208
|
+
facn3,facis
|
|
209
|
+
facn6,facis
|
|
210
|
+
facn9,facis
|
|
211
|
+
facn5,facis
|
|
212
|
+
facn7,facis
|
|
213
|
+
carot,cartoid
|
|
214
|
+
xantp,cartoid
|
|
215
|
+
cartbeq,vita
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Indian Food Composition Tables 2017
|
|
2
|
+
T. Longvah, R. Ananthan, K. Bhaskarachary and K. Venkaiah
|
|
3
|
+
|
|
4
|
+
Copyright © 2017 by National Institute of Nutrition
|
|
5
|
+
Indian Council of Medical Research
|
|
6
|
+
Department of Health Research Ministry of Health and Family Welfare, Government of India
|
|
7
|
+
Jamai Osmania (PO), Hyderabad – 500 007
|
|
8
|
+
Telangana, India Phone: +91 40 27197334, Fax: +91 40 27000339, Email: nin@ap.nic.in
|
|
9
|
+
|
|
10
|
+
HIERARCHY DETAILS
|
|
11
|
+
- Column Code
|
|
12
|
+
- List of Parent columns
|
|
13
|
+
|
|
14
|
+
TABLE 1
|
|
15
|
+
enerc
|
|
16
|
+
|
|
17
|
+
TABLE 2
|
|
18
|
+
thia
|
|
19
|
+
|
|
20
|
+
TABLE 3
|
|
21
|
+
retol
|
|
22
|
+
|
|
23
|
+
TABLE 4
|
|
24
|
+
lutn
|
|
25
|
+
|
|
26
|
+
TABLE 5-1
|
|
27
|
+
al
|
|
28
|
+
|
|
29
|
+
TABLE 5-2
|
|
30
|
+
mg
|
|
31
|
+
|
|
32
|
+
TABLE 6
|
|
33
|
+
cho
|
|
34
|
+
|
|
35
|
+
TABLE 7-1
|
|
36
|
+
TABLE 7-2
|
|
37
|
+
TABLE 7-3
|
|
38
|
+
TABLE 7-4
|
|
39
|
+
TABLE 7-5
|
|
40
|
+
TABLE 7-6
|
|
41
|
+
TABLE 7-7
|
|
42
|
+
TABLE 7-8
|
|
43
|
+
f4d0
|
|
44
|
+
|
|
45
|
+
TABLE 8-1
|
|
46
|
+
his
|
|
47
|
+
|
|
48
|
+
TABLE 8-2
|
|
49
|
+
ala
|
|
50
|
+
|
|
51
|
+
TABLE 9
|
|
52
|
+
oxalt
|
|
53
|
+
|
|
54
|
+
TABLE 10-1
|
|
55
|
+
dhbenzac34
|
|
56
|
+
|
|
57
|
+
TABLE 10-2
|
|
58
|
+
chlrac
|
|
59
|
+
|
|
60
|
+
TABLE 10-3
|
|
61
|
+
querce3bgls
|
|
62
|
+
|
|
63
|
+
TABLE 10-4
|
|
64
|
+
epicategc
|
|
65
|
+
|
|
66
|
+
TABLE 11
|
|
67
|
+
rafs
|
|
68
|
+
|
|
69
|
+
TABLE ADDED
|
|
70
|
+
amiace
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Copyright (C) 2025-26 Subhajit Sahu
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
// See LICENSE for full terms
|
|
4
|
+
import * as path from "@std/path";
|
|
5
|
+
import * as csv from "@std/csv";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
async function readAsset() {
|
|
9
|
+
const data = await Deno.readTextFile(path.join(import.meta.dirname || "", 'asset.csv'));
|
|
10
|
+
const records = csv.parse(data, {skipFirstRow: true, comment: "#"});
|
|
11
|
+
const asset = new Map<string, Record<string, unknown>>();
|
|
12
|
+
for (const r of records) {
|
|
13
|
+
const {code, parents} = r;
|
|
14
|
+
const parset = parents? new Set<string>(parents.split(' ')) : new Set<string>();
|
|
15
|
+
asset.set(code, {parents: parset});
|
|
16
|
+
}
|
|
17
|
+
return asset;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
function getAncestry(asset: Map<string, Record<string, unknown>>, code: string, a=new Set<string>()) {
|
|
22
|
+
const par = asset.get(code)?.parents as Set<string>;
|
|
23
|
+
if (par.size===0) return a;
|
|
24
|
+
for (const p of par)
|
|
25
|
+
getAncestry(asset, p, a.add(p));
|
|
26
|
+
return a;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function getChildren(asset: Map<string, Record<string, unknown>>, code: string) {
|
|
30
|
+
const a = new Set<string>();
|
|
31
|
+
for (const [k, v] of asset)
|
|
32
|
+
if ((v.parents as Set<string>).has(code)) a.add(k);
|
|
33
|
+
return a;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
function updateAsset(asset: Map<string, Record<string, unknown>>) {
|
|
38
|
+
const a = new Map();
|
|
39
|
+
for (const [code, r] of asset) {
|
|
40
|
+
let {parents} = r;
|
|
41
|
+
parents = Array.from(parents as Set<string>).join(' ');
|
|
42
|
+
const ancestry = Array.from(getAncestry(asset, code)).join(' ');
|
|
43
|
+
const children = Array.from(getChildren(asset, code)).join(' ');
|
|
44
|
+
a.set(code, {parents, ancestry, children});
|
|
45
|
+
}
|
|
46
|
+
return a;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
function writeIndex(asset: Map<string, Record<string, unknown>>) {
|
|
51
|
+
let a = `code,parents,ancestry,children\n`;
|
|
52
|
+
for (const [code, r] of asset)
|
|
53
|
+
a += `${code},${r.parents},${r.ancestry},${r.children}\n`;
|
|
54
|
+
Deno.writeTextFileSync(path.join(import.meta.dirname || "", 'index.csv'), a);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
function writeCorpus(outfile: string, asset: Map<string, Record<string, unknown>>) {
|
|
59
|
+
let a = `var CORPUS = new Map([\n`;
|
|
60
|
+
for (const [code, r] of asset)
|
|
61
|
+
a += ` ["${code}", ${JSON.stringify(r).replace(/\"(\w+)\":/g, '$1:')}],\n`;
|
|
62
|
+
a += `]);\n`;
|
|
63
|
+
a += `module.exports = CORPUS;\n`;
|
|
64
|
+
Deno.writeTextFileSync(outfile, a);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
export async function build(corpus='corpus.js') {
|
|
69
|
+
let asset = await readAsset();
|
|
70
|
+
asset = updateAsset(asset);
|
|
71
|
+
writeIndex(asset);
|
|
72
|
+
if (corpus) writeCorpus(corpus, asset);
|
|
73
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
code,parents,ancestry,children
|
|
2
|
+
code,,,
|
|
3
|
+
name,,,scie lang
|
|
4
|
+
grup,,,
|
|
5
|
+
regn,,,
|
|
6
|
+
tags,,,
|
|
7
|
+
scie,name,name,
|
|
8
|
+
lang,name,name,
|
|
9
|
+
enerc,,,
|
|
10
|
+
water,,,
|
|
11
|
+
ash,,,mnrleq mnrlet mnrlpet mnrlnet mnrltx
|
|
12
|
+
vit,,,vita vitb vitc vitd vite vitk
|
|
13
|
+
fatce,,,fasat fauns faess facis fatrn
|
|
14
|
+
cholc,,,
|
|
15
|
+
fibtg,,,fibins fibsol
|
|
16
|
+
choavldf,,,cho
|
|
17
|
+
protcnt,,,amiac
|
|
18
|
+
amiac,protcnt,protcnt,amiace amiacce amiacne
|
|
19
|
+
cartoid,,,carot xantp
|
|
20
|
+
polyph,,,dhbenzac34 hbenzal3 pcathac vanlac gallac cinmac coumaco coumacp caffac chlrac ferac apigen apigen6cgls apigen7onshps luteol kaemf querce querce3bdgls querce3ortns querce3bgls isormt myrct rsvrtol hespt narng hespd daidzn gnstein epicatec epicategc epicatgc3gal catec galcatecgal galcatec syrgac sinpac ellgac
|
|
21
|
+
phystr,,,camt stgstr stostrb
|
|
22
|
+
tocph,,,tocpha tocphb tocphg tocphd
|
|
23
|
+
toctr,,,toctra toctrb toctrg toctrd
|
|
24
|
+
orgac,,,oxalt caconac citac fumac malac quinac sucac tarac
|
|
25
|
+
phytac,,,
|
|
26
|
+
sapon,,,
|
|
27
|
+
mnrleq,ash,ash,ca mg p k na
|
|
28
|
+
mnrlet,ash,ash,cr co cu fe mn mo ni se zn
|
|
29
|
+
mnrlpet,ash,ash,li
|
|
30
|
+
mnrlnet,ash,ash,al
|
|
31
|
+
mnrltx,ash,ash,as cd pb hg
|
|
32
|
+
vita,vit,vit,retol cartbeq
|
|
33
|
+
vitb,vit,vit,thia ribf nia pantac vitb6c biot folsum
|
|
34
|
+
vitc,vit,vit,
|
|
35
|
+
vitd,vit,vit,ergcal chocal doh25
|
|
36
|
+
vite,vit,vit,
|
|
37
|
+
vitk,vit,vit,vitk1 vitk2
|
|
38
|
+
fasat,fatce,fatce,f4d0 f6d0 f8d0 f10d0 f11d0 f12d0 f14d0 f15d0 f16d0 f18d0 f20d0 f22d0 f24d0
|
|
39
|
+
fauns,fatce,fatce,fams fapu
|
|
40
|
+
faess,fatce,fatce,f18d2cn6 f18d3n3 f20d4n6 f20d5n3 f22d6n3
|
|
41
|
+
facis,fatce,fatce,facn3 facn6 facn9 facn5 facn7
|
|
42
|
+
fatrn,fatce,fatce,f18d1tn9
|
|
43
|
+
fibins,fibtg,fibtg,
|
|
44
|
+
fibsol,fibtg,fibtg,
|
|
45
|
+
thia,vitb,vitb vit,
|
|
46
|
+
ribf,vitb,vitb vit,
|
|
47
|
+
nia,vitb,vitb vit,
|
|
48
|
+
pantac,vitb,vitb vit,
|
|
49
|
+
vitb6c,vitb,vitb vit,
|
|
50
|
+
biot,vitb,vitb vit,
|
|
51
|
+
folsum,vitb,vitb vit,
|
|
52
|
+
retol,vita,vita vit,
|
|
53
|
+
ergcal,vitd,vitd vit,
|
|
54
|
+
chocal,vitd,vitd vit,
|
|
55
|
+
doh25,vitd,vitd vit,
|
|
56
|
+
tocpha,tocph,tocph,
|
|
57
|
+
tocphb,tocph,tocph,
|
|
58
|
+
tocphg,tocph,tocph,
|
|
59
|
+
tocphd,tocph,tocph,
|
|
60
|
+
toctra,toctr,toctr,
|
|
61
|
+
toctrb,toctr,toctr,
|
|
62
|
+
toctrg,toctr,toctr,
|
|
63
|
+
toctrd,toctr,toctr,
|
|
64
|
+
vitk1,vitk,vitk vit,
|
|
65
|
+
vitk2,vitk,vitk vit,
|
|
66
|
+
lutn,xantp,xantp cartoid,
|
|
67
|
+
zea,xantp,xantp cartoid,
|
|
68
|
+
crypxb,xantp,xantp cartoid,
|
|
69
|
+
lycpn,carot,carot cartoid,
|
|
70
|
+
cartg,carot,carot cartoid,
|
|
71
|
+
carta,carot,carot cartoid,
|
|
72
|
+
cartb,carot,carot cartoid,
|
|
73
|
+
al,mnrlnet,mnrlnet ash,
|
|
74
|
+
as,mnrltx,mnrltx ash,
|
|
75
|
+
cd,mnrltx,mnrltx ash,
|
|
76
|
+
ca,mnrleq,mnrleq ash,
|
|
77
|
+
cr,mnrlet,mnrlet ash,
|
|
78
|
+
co,mnrlet,mnrlet ash,
|
|
79
|
+
cu,mnrlet,mnrlet ash,
|
|
80
|
+
fe,mnrlet,mnrlet ash,
|
|
81
|
+
pb,mnrltx,mnrltx ash,
|
|
82
|
+
li,mnrlpet,mnrlpet ash,
|
|
83
|
+
mg,mnrleq,mnrleq ash,
|
|
84
|
+
mn,mnrlet,mnrlet ash,
|
|
85
|
+
hg,mnrltx,mnrltx ash,
|
|
86
|
+
mo,mnrlet,mnrlet ash,
|
|
87
|
+
ni,mnrlet,mnrlet ash,
|
|
88
|
+
p,mnrleq,mnrleq ash,
|
|
89
|
+
k,mnrleq,mnrleq ash,
|
|
90
|
+
se,mnrlet,mnrlet ash,
|
|
91
|
+
na,mnrleq,mnrleq ash,
|
|
92
|
+
zn,mnrlet,mnrlet ash,
|
|
93
|
+
cho,choavldf,choavldf,starch fsugar
|
|
94
|
+
starch,cho,cho choavldf,olsac
|
|
95
|
+
olsac,starch,starch cho choavldf,rafs stas vers ajgs
|
|
96
|
+
frus,fsugar,fsugar cho choavldf,
|
|
97
|
+
glus,fsugar,fsugar cho choavldf,
|
|
98
|
+
sucs,fsugar,fsugar cho choavldf,
|
|
99
|
+
mals,fsugar,fsugar cho choavldf,
|
|
100
|
+
fsugar,cho,cho choavldf,frus glus sucs mals lactose
|
|
101
|
+
lactose,fsugar,fsugar cho choavldf,
|
|
102
|
+
f4d0,fasat,fasat fatce,
|
|
103
|
+
f6d0,fasat,fasat fatce,
|
|
104
|
+
f8d0,fasat,fasat fatce,
|
|
105
|
+
f10d0,fasat,fasat fatce,
|
|
106
|
+
f11d0,fasat,fasat fatce,
|
|
107
|
+
f12d0,fasat,fasat fatce,
|
|
108
|
+
f14d0,fasat,fasat fatce,
|
|
109
|
+
f15d0,fasat,fasat fatce,
|
|
110
|
+
f16d0,fasat,fasat fatce,
|
|
111
|
+
f18d0,fasat,fasat fatce,
|
|
112
|
+
f20d0,fasat,fasat fatce,
|
|
113
|
+
f22d0,fasat,fasat fatce,
|
|
114
|
+
f24d0,fasat,fasat fatce,
|
|
115
|
+
f14d1cn5,facn5 fams,facn5 facis fatce fams fauns,
|
|
116
|
+
f16d1cn7,facn7 fams,facn7 facis fatce fams fauns,
|
|
117
|
+
f18d1cn9,facn9 fams,facn9 facis fatce fams fauns,
|
|
118
|
+
f18d1tn9,fatrn fams,fatrn fatce fams fauns,
|
|
119
|
+
f20d1cn9,facn9 fams,facn9 facis fatce fams fauns,
|
|
120
|
+
f22d1cn9,facn9 fams,facn9 facis fatce fams fauns,
|
|
121
|
+
f24d1cn9,facn9 fams,facn9 facis fatce fams fauns,
|
|
122
|
+
f18d2cn6,facn6 fapu faess,facn6 facis fatce fapu fauns faess,
|
|
123
|
+
f20d2n6,facn6 fapu,facn6 facis fatce fapu fauns,
|
|
124
|
+
f22d2n6,facn6 fapu,facn6 facis fatce fapu fauns,
|
|
125
|
+
f18d3n3,facn3 fapu faess,facn3 facis fatce fapu fauns faess,
|
|
126
|
+
f20d3n6,facn6 fapu,facn6 facis fatce fapu fauns,
|
|
127
|
+
f20d4n6,facn6 fapu faess,facn6 facis fatce fapu fauns faess,
|
|
128
|
+
f20d5n3,facn3 fapu faess,facn3 facis fatce fapu fauns faess,
|
|
129
|
+
f22d5n3,facn3 fapu,facn3 facis fatce fapu fauns,
|
|
130
|
+
f22d6n3,facn3 fapu faess,facn3 facis fatce fapu fauns faess,
|
|
131
|
+
fams,fauns,fauns fatce,f14d1cn5 f16d1cn7 f18d1cn9 f18d1tn9 f20d1cn9 f22d1cn9 f24d1cn9
|
|
132
|
+
fapu,fauns,fauns fatce,f18d2cn6 f20d2n6 f22d2n6 f18d3n3 f20d3n6 f20d4n6 f20d5n3 f22d5n3 f22d6n3
|
|
133
|
+
his,amiace,amiace amiac protcnt,
|
|
134
|
+
ile,amiace,amiace amiac protcnt,
|
|
135
|
+
leu,amiace,amiace amiac protcnt,
|
|
136
|
+
lys,amiace,amiace amiac protcnt,
|
|
137
|
+
met,amiace,amiace amiac protcnt,
|
|
138
|
+
cys,amiacce,amiacce amiac protcnt,
|
|
139
|
+
phe,amiace,amiace amiac protcnt,
|
|
140
|
+
thr,amiace,amiace amiac protcnt,
|
|
141
|
+
trp,amiace,amiace amiac protcnt,
|
|
142
|
+
val,amiace,amiace amiac protcnt,
|
|
143
|
+
ala,amiacne,amiacne amiac protcnt,
|
|
144
|
+
arg,amiacce,amiacce amiac protcnt,
|
|
145
|
+
asp,amiacne,amiacne amiac protcnt,
|
|
146
|
+
glu,amiacne,amiacne amiac protcnt,
|
|
147
|
+
gly,amiacce,amiacce amiac protcnt,
|
|
148
|
+
pro,amiacce,amiacce amiac protcnt,
|
|
149
|
+
ser,amiacne,amiacne amiac protcnt,
|
|
150
|
+
tyr,amiacce,amiacce amiac protcnt,
|
|
151
|
+
oxalt,orgac,orgac,oxals oxali
|
|
152
|
+
oxals,oxalt,oxalt orgac,
|
|
153
|
+
oxali,oxalt,oxalt orgac,
|
|
154
|
+
caconac,orgac,orgac,
|
|
155
|
+
citac,orgac,orgac,
|
|
156
|
+
fumac,orgac,orgac,
|
|
157
|
+
malac,orgac,orgac,
|
|
158
|
+
quinac,orgac,orgac,
|
|
159
|
+
sucac,orgac,orgac,
|
|
160
|
+
tarac,orgac,orgac,
|
|
161
|
+
dhbenzac34,polyph,polyph,
|
|
162
|
+
hbenzal3,polyph,polyph,
|
|
163
|
+
pcathac,polyph,polyph,
|
|
164
|
+
vanlac,polyph,polyph,
|
|
165
|
+
gallac,polyph,polyph,
|
|
166
|
+
cinmac,polyph,polyph,
|
|
167
|
+
coumaco,polyph,polyph,
|
|
168
|
+
coumacp,polyph,polyph,
|
|
169
|
+
caffac,polyph,polyph,
|
|
170
|
+
chlrac,polyph,polyph,
|
|
171
|
+
ferac,polyph,polyph,
|
|
172
|
+
apigen,polyph,polyph,
|
|
173
|
+
apigen6cgls,polyph,polyph,
|
|
174
|
+
apigen7onshps,polyph,polyph,
|
|
175
|
+
luteol,polyph,polyph,
|
|
176
|
+
kaemf,polyph,polyph,
|
|
177
|
+
querce,polyph,polyph,
|
|
178
|
+
querce3bdgls,polyph,polyph,
|
|
179
|
+
querce3ortns,polyph,polyph,
|
|
180
|
+
querce3bgls,polyph,polyph,
|
|
181
|
+
isormt,polyph,polyph,
|
|
182
|
+
myrct,polyph,polyph,
|
|
183
|
+
rsvrtol,polyph,polyph,
|
|
184
|
+
hespt,polyph,polyph,
|
|
185
|
+
narng,polyph,polyph,
|
|
186
|
+
hespd,polyph,polyph,
|
|
187
|
+
daidzn,polyph,polyph,
|
|
188
|
+
gnstein,polyph,polyph,
|
|
189
|
+
epicatec,polyph,polyph,
|
|
190
|
+
epicategc,polyph,polyph,
|
|
191
|
+
epicatgc3gal,polyph,polyph,
|
|
192
|
+
catec,polyph,polyph,
|
|
193
|
+
galcatecgal,polyph,polyph,
|
|
194
|
+
galcatec,polyph,polyph,
|
|
195
|
+
syrgac,polyph,polyph,
|
|
196
|
+
sinpac,polyph,polyph,
|
|
197
|
+
ellgac,polyph,polyph,
|
|
198
|
+
rafs,olsac,olsac starch cho choavldf,
|
|
199
|
+
stas,olsac,olsac starch cho choavldf,
|
|
200
|
+
vers,olsac,olsac starch cho choavldf,
|
|
201
|
+
ajgs,olsac,olsac starch cho choavldf,
|
|
202
|
+
camt,phystr,phystr,
|
|
203
|
+
stgstr,phystr,phystr,
|
|
204
|
+
stostrb,phystr,phystr,
|
|
205
|
+
amiace,amiac,amiac protcnt,his ile leu lys met phe thr trp val
|
|
206
|
+
amiacce,amiac,amiac protcnt,cys arg gly pro tyr
|
|
207
|
+
amiacne,amiac,amiac protcnt,ala asp glu ser
|
|
208
|
+
facn3,facis,facis fatce,f18d3n3 f20d5n3 f22d5n3 f22d6n3
|
|
209
|
+
facn6,facis,facis fatce,f18d2cn6 f20d2n6 f22d2n6 f20d3n6 f20d4n6
|
|
210
|
+
facn9,facis,facis fatce,f18d1cn9 f20d1cn9 f22d1cn9 f24d1cn9
|
|
211
|
+
facn5,facis,facis fatce,f14d1cn5
|
|
212
|
+
facn7,facis,facis fatce,f16d1cn7
|
|
213
|
+
carot,cartoid,cartoid,lycpn cartg carta cartb
|
|
214
|
+
xantp,cartoid,cartoid,lutn zea crypxb
|
|
215
|
+
cartbeq,vita,vita vit,
|