@apollo-annotation/shared 0.3.9 → 0.3.11

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.
Files changed (38) hide show
  1. package/dist/Changes/AddFeatureChange.js +13 -2
  2. package/dist/Changes/AddFeatureChange.js.map +1 -1
  3. package/dist/Changes/DeleteFeatureChange.js +19 -0
  4. package/dist/Changes/DeleteFeatureChange.js.map +1 -1
  5. package/dist/Changes/FeatureAttributeChange.js +11 -0
  6. package/dist/Changes/FeatureAttributeChange.js.map +1 -1
  7. package/dist/Changes/FromFileBaseChange.d.ts +2 -0
  8. package/dist/Changes/FromFileBaseChange.js +20 -5
  9. package/dist/Changes/FromFileBaseChange.js.map +1 -1
  10. package/dist/GFF3/annotationFeatureToGFF3.test.js +19 -5
  11. package/dist/GFF3/annotationFeatureToGFF3.test.js.map +1 -1
  12. package/dist/GFF3/gff3ToAnnotationFeature.d.ts +1 -1
  13. package/dist/GFF3/gff3ToAnnotationFeature.js +8 -11
  14. package/dist/GFF3/gff3ToAnnotationFeature.js.map +1 -1
  15. package/dist/GFF3/gff3ToAnnotationFeature.test.d.ts +1 -2
  16. package/dist/GFF3/gff3ToAnnotationFeature.test.js +23 -96
  17. package/dist/GFF3/gff3ToAnnotationFeature.test.js.map +1 -1
  18. package/dist/GFF3/testUtil.d.ts +6 -0
  19. package/dist/GFF3/testUtil.js +24 -0
  20. package/dist/GFF3/testUtil.js.map +1 -0
  21. package/dist/tsconfig.tsbuildinfo +1 -1
  22. package/package.json +4 -4
  23. package/src/Changes/AddFeatureChange.ts +14 -2
  24. package/src/Changes/DeleteFeatureChange.ts +18 -0
  25. package/src/Changes/FeatureAttributeChange.ts +13 -0
  26. package/src/Changes/FromFileBaseChange.ts +22 -10
  27. package/src/GFF3/annotationFeatureToGFF3.test.ts +24 -2
  28. package/src/GFF3/gff3ToAnnotationFeature.test.ts +24 -95
  29. package/src/GFF3/gff3ToAnnotationFeature.ts +6 -15
  30. package/src/GFF3/testUtil.ts +25 -0
  31. package/test_data/gene_with_two_cds.gff3 +6 -0
  32. package/test_data/gene_with_two_cds.json +69 -0
  33. package/test_data/single_feature_no_children.gff3 +1 -0
  34. package/test_data/single_feature_no_children.json +14 -0
  35. package/test_data/single_feature_two_children.gff3 +3 -0
  36. package/test_data/single_feature_two_children.json +44 -0
  37. package/test_data/two_cds.gff3 +0 -9
  38. package/test_data/two_cds.json +0 -67
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readAnnotationFeatureSnapshot = readAnnotationFeatureSnapshot;
4
3
  const tslib_1 = require("tslib");
5
4
  /* eslint-disable @typescript-eslint/no-floating-promises */
6
5
  const node_fs_1 = require("node:fs");
@@ -9,74 +8,8 @@ const gff_1 = require("@gmod/gff");
9
8
  const chai_1 = require("chai");
10
9
  const chai_exclude_1 = tslib_1.__importDefault(require("chai-exclude"));
11
10
  const gff3ToAnnotationFeature_1 = require("./gff3ToAnnotationFeature");
11
+ const testUtil_1 = require("./testUtil");
12
12
  (0, chai_1.use)(chai_exclude_1.default);
13
- const testCases = [
14
- [
15
- 'a feature with no children',
16
- 'ctgA example remark 1000 2000 . . . Name=Remark:hga;Alias=hga\n',
17
- {
18
- _id: '66c51f3e002c683eaf98a223',
19
- refSeq: 'ctgA',
20
- type: 'remark',
21
- min: 999,
22
- max: 2000,
23
- attributes: {
24
- gff_source: ['example'],
25
- gff_name: ['Remark:hga'],
26
- gff_alias: ['hga'],
27
- },
28
- },
29
- ],
30
- [
31
- 'a feature with two children',
32
- `ctgA est EST_match 1050 3202 . + . ID=Match1;Name=agt830.5;Target=agt830.5 1 654
33
- ctgA est match_part 1050 1500 . + . Parent=Match1;Name=agt830.5;Target=agt830.5 1 451
34
- ctgA est match_part 3000 3202 . + . Parent=Match1;Name=agt830.5;Target=agt830.5 452 654
35
- `,
36
- {
37
- _id: '66cf9fbb4e947fa2c27d3d6a',
38
- refSeq: 'ctgA',
39
- type: 'EST_match',
40
- min: 1049,
41
- max: 3202,
42
- strand: 1,
43
- children: {
44
- '66cf9fbb4e947fa2c27d3d68': {
45
- _id: '66cf9fbb4e947fa2c27d3d68',
46
- refSeq: 'ctgA',
47
- type: 'match_part',
48
- min: 1049,
49
- max: 1500,
50
- strand: 1,
51
- attributes: {
52
- gff_source: ['est'],
53
- gff_name: ['agt830.5'],
54
- gff_target: ['agt830.5 1 451'],
55
- },
56
- },
57
- '66cf9fbb4e947fa2c27d3d69': {
58
- _id: '66cf9fbb4e947fa2c27d3d69',
59
- refSeq: 'ctgA',
60
- type: 'match_part',
61
- min: 2999,
62
- max: 3202,
63
- strand: 1,
64
- attributes: {
65
- gff_source: ['est'],
66
- gff_name: ['agt830.5'],
67
- gff_target: ['agt830.5 452 654'],
68
- },
69
- },
70
- },
71
- attributes: {
72
- gff_source: ['est'],
73
- gff_id: ['Match1'],
74
- gff_name: ['agt830.5'],
75
- gff_target: ['agt830.5 1 654'],
76
- },
77
- },
78
- ],
79
- ];
80
13
  function childrenToArray(feature) {
81
14
  const { children } = feature;
82
15
  if (!children) {
@@ -88,6 +21,21 @@ function childrenToArray(feature) {
88
21
  function compareFeatures(feature1, feature2) {
89
22
  chai_1.assert.deepEqualExcludingEvery(childrenToArray(feature1), childrenToArray(feature2), '_id');
90
23
  }
24
+ (0, node_test_1.describe)('Converts GFF3 to AnnotationFeatureSnapshot JSON when', () => {
25
+ for (const testCase of testUtil_1.testCases) {
26
+ const { filenameStem, description } = testCase;
27
+ (0, node_test_1.it)(description, () => {
28
+ const fileText = (0, node_fs_1.readFileSync)(`test_data/${filenameStem}.gff3`, 'utf8');
29
+ const gffFeatures = (0, gff_1.parseStringSync)(fileText, { parseSequences: false });
30
+ const annotationFeatures = gffFeatures.map((gff3Feature) => (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gff3Feature));
31
+ const annotationFeaturesExpected = JSON.parse((0, node_fs_1.readFileSync)(`test_data/${filenameStem}.json`, 'utf8'));
32
+ for (const [i, annotationFeatureExpected,] of annotationFeaturesExpected.entries()) {
33
+ const annotationFeature = annotationFeatures[i];
34
+ compareFeatures(annotationFeature, annotationFeatureExpected);
35
+ }
36
+ });
37
+ }
38
+ });
91
39
  function readFeatureFile(fn) {
92
40
  const lines = (0, node_fs_1.readFileSync)(fn).toString().split('\n');
93
41
  const feature = [];
@@ -99,20 +47,11 @@ function readFeatureFile(fn) {
99
47
  const inGff = (0, gff_1.parseStringSync)(feature.join('\n'));
100
48
  return inGff;
101
49
  }
102
- function readAnnotationFeatureSnapshot(fn) {
103
- const lines = (0, node_fs_1.readFileSync)(fn).toString();
104
- return JSON.parse(lines);
105
- }
106
50
  const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representations.gff3');
107
51
  (0, node_test_1.describe)('gff3ToAnnotationFeature examples', () => {
108
52
  (0, node_test_1.it)('Convert one CDS', () => {
109
53
  const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(readFeatureFile('test_data/one_cds.gff3')[0]);
110
- const expected = readAnnotationFeatureSnapshot('test_data/one_cds.json');
111
- compareFeatures(actual, expected);
112
- });
113
- (0, node_test_1.it)('Convert two CDSs', () => {
114
- const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(readFeatureFile('test_data/two_cds.gff3')[0]);
115
- const expected = readAnnotationFeatureSnapshot('test_data/two_cds.json');
54
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/one_cds.json');
116
55
  compareFeatures(actual, expected);
117
56
  });
118
57
  (0, node_test_1.it)('Convert example 1', () => {
@@ -120,14 +59,14 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
120
59
  const txt = JSON.stringify(actual, null, 2);
121
60
  chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
122
61
  chai_1.assert.equal(txt.match(/"type": "TF_binding_site"/g)?.length, 1);
123
- const expected = readAnnotationFeatureSnapshot('test_data/example01.json');
62
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example01.json');
124
63
  compareFeatures(actual, expected);
125
64
  });
126
65
  (0, node_test_1.it)('Convert example 2', () => {
127
66
  const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(ex2);
128
67
  const txt = JSON.stringify(actual, null, 2);
129
68
  chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
130
- const expected = readAnnotationFeatureSnapshot('test_data/example02.json');
69
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example02.json');
131
70
  compareFeatures(actual, expected);
132
71
  });
133
72
  (0, node_test_1.it)('Convert example 3', () => {
@@ -149,7 +88,7 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
149
88
  const txt = JSON.stringify(actual, null, 2);
150
89
  chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
151
90
  chai_1.assert.equal(txt.match(/prime_UTR/g), null);
152
- const expected = readAnnotationFeatureSnapshot('test_data/example04.json');
91
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example04.json');
153
92
  compareFeatures(actual, expected);
154
93
  });
155
94
  (0, node_test_1.it)('Convert braker gff', () => {
@@ -164,34 +103,22 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
164
103
  (0, node_test_1.it)('Convert mRNA with CDS but without exon', () => {
165
104
  const [gffFeature] = readFeatureFile('test_data/cds_without_exon.gff');
166
105
  const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
167
- const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon.json');
106
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/cds_without_exon.json');
168
107
  compareFeatures(actual, expected);
169
108
  });
170
109
  (0, node_test_1.it)('Convert mRNA with CDS but without exon and spliced UTR', () => {
171
110
  const [gffFeature] = readFeatureFile('test_data/cds_without_exon_spliced_utr.gff');
172
111
  const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
173
- const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon_spliced_utr.json');
112
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/cds_without_exon_spliced_utr.json');
174
113
  compareFeatures(actual, expected);
175
114
  });
176
115
  (0, node_test_1.it)('Convert mRNA with one CDS, without exons non-adjacent UTR', () => {
177
116
  const [gffFeature] = readFeatureFile('test_data/onecds_without_exon_spliced_utr.gff');
178
117
  const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
179
- const expected = readAnnotationFeatureSnapshot('test_data/onecds_without_exon_spliced_utr.json');
118
+ const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/onecds_without_exon_spliced_utr.json');
180
119
  compareFeatures(actual, expected);
181
120
  });
182
121
  });
183
- (0, node_test_1.describe)('gff3ToAnnotationFeature', () => {
184
- for (const testCase of testCases) {
185
- const [description, featureLine, convertedFeature] = testCase;
186
- (0, node_test_1.it)(`converts ${description}`, () => {
187
- const gff3Feature = (0, gff_1.parseStringSync)(featureLine, {
188
- parseSequences: false,
189
- });
190
- const feature = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gff3Feature[0]);
191
- compareFeatures(convertedFeature, feature);
192
- });
193
- }
194
- });
195
122
  (0, node_test_1.describe)('Source and score', () => {
196
123
  (0, node_test_1.it)('Convert score and source', () => {
197
124
  const gffFeature = [
@@ -1 +1 @@
1
- {"version":3,"file":"gff3ToAnnotationFeature.test.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gff3ToAnnotationFeature.test.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type AnnotationFeatureSnapshot } from '@apollo-annotation/mst';
2
+ export declare function readAnnotationFeatureSnapshot(fn: string): AnnotationFeatureSnapshot;
3
+ export declare const testCases: {
4
+ filenameStem: string;
5
+ description: string;
6
+ }[];
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testCases = void 0;
4
+ exports.readAnnotationFeatureSnapshot = readAnnotationFeatureSnapshot;
5
+ const node_fs_1 = require("node:fs");
6
+ function readAnnotationFeatureSnapshot(fn) {
7
+ const lines = (0, node_fs_1.readFileSync)(fn).toString();
8
+ return JSON.parse(lines);
9
+ }
10
+ exports.testCases = [
11
+ {
12
+ filenameStem: 'single_feature_no_children',
13
+ description: 'there is a single feature with no children',
14
+ },
15
+ {
16
+ filenameStem: 'single_feature_two_children',
17
+ description: 'there is a single feature with two children',
18
+ },
19
+ {
20
+ filenameStem: 'gene_with_two_cds',
21
+ description: 'Gene with two CDS',
22
+ },
23
+ ];
24
+ //# sourceMappingURL=testUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtil.js","sourceRoot":"","sources":["../../src/GFF3/testUtil.ts"],"names":[],"mappings":";;;AAIA,sEAKC;AATD,qCAAsC;AAItC,SAAgB,6BAA6B,CAC3C,EAAU;IAEV,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAA8B,CAAA;AACvD,CAAC;AAEY,QAAA,SAAS,GAAoD;IACxE;QACE,YAAY,EAAE,4BAA4B;QAC1C,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,YAAY,EAAE,6BAA6B;QAC3C,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,mBAAmB;KACjC;CACF,CAAA"}