@apollo-annotation/shared 0.3.11 → 0.3.12
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/dist/Changes/AddAssemblyAliasesChange.d.ts +1 -0
- package/dist/Changes/AddAssemblyAliasesChange.d.ts.map +1 -0
- package/dist/Changes/AddAssemblyAliasesChange.js +7 -9
- package/dist/Changes/AddAssemblyAliasesChange.js.map +1 -1
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts +5 -3
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.d.ts.map +1 -0
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js +31 -13
- package/dist/Changes/AddAssemblyAndFeaturesFromFileChange.js.map +1 -1
- package/dist/Changes/AddAssemblyFromExternalChange.d.ts +1 -0
- package/dist/Changes/AddAssemblyFromExternalChange.d.ts.map +1 -0
- package/dist/Changes/AddAssemblyFromExternalChange.js +13 -16
- package/dist/Changes/AddAssemblyFromExternalChange.js.map +1 -1
- package/dist/Changes/AddAssemblyFromFileChange.d.ts +3 -2
- package/dist/Changes/AddAssemblyFromFileChange.d.ts.map +1 -0
- package/dist/Changes/AddAssemblyFromFileChange.js +4 -8
- package/dist/Changes/AddAssemblyFromFileChange.js.map +1 -1
- package/dist/Changes/AddFeatureChange.d.ts +3 -2
- package/dist/Changes/AddFeatureChange.d.ts.map +1 -0
- package/dist/Changes/AddFeatureChange.js +6 -10
- package/dist/Changes/AddFeatureChange.js.map +1 -1
- package/dist/Changes/AddFeaturesFromFileChange.d.ts +5 -3
- package/dist/Changes/AddFeaturesFromFileChange.d.ts.map +1 -0
- package/dist/Changes/AddFeaturesFromFileChange.js +27 -14
- package/dist/Changes/AddFeaturesFromFileChange.js.map +1 -1
- package/dist/Changes/AddRefSeqAliasesChange.d.ts +1 -0
- package/dist/Changes/AddRefSeqAliasesChange.d.ts.map +1 -0
- package/dist/Changes/AddRefSeqAliasesChange.js +7 -8
- package/dist/Changes/AddRefSeqAliasesChange.js.map +1 -1
- package/dist/Changes/DeleteAssemblyChange.d.ts +1 -0
- package/dist/Changes/DeleteAssemblyChange.d.ts.map +1 -0
- package/dist/Changes/DeleteAssemblyChange.js +5 -8
- package/dist/Changes/DeleteAssemblyChange.js.map +1 -1
- package/dist/Changes/DeleteFeatureChange.d.ts +4 -3
- package/dist/Changes/DeleteFeatureChange.d.ts.map +1 -0
- package/dist/Changes/DeleteFeatureChange.js +6 -12
- package/dist/Changes/DeleteFeatureChange.js.map +1 -1
- package/dist/Changes/DeleteUserChange.d.ts +1 -0
- package/dist/Changes/DeleteUserChange.d.ts.map +1 -0
- package/dist/Changes/DeleteUserChange.js +2 -6
- package/dist/Changes/DeleteUserChange.js.map +1 -1
- package/dist/Changes/FeatureAttributeChange.d.ts +1 -0
- package/dist/Changes/FeatureAttributeChange.d.ts.map +1 -0
- package/dist/Changes/FeatureAttributeChange.js +3 -8
- package/dist/Changes/FeatureAttributeChange.js.map +1 -1
- package/dist/Changes/FromFileBaseChange.d.ts +4 -3
- package/dist/Changes/FromFileBaseChange.d.ts.map +1 -0
- package/dist/Changes/FromFileBaseChange.js +4 -10
- package/dist/Changes/FromFileBaseChange.js.map +1 -1
- package/dist/Changes/ImportJBrowseConfigChange.d.ts +1 -0
- package/dist/Changes/ImportJBrowseConfigChange.d.ts.map +1 -0
- package/dist/Changes/ImportJBrowseConfigChange.js +3 -8
- package/dist/Changes/ImportJBrowseConfigChange.js.map +1 -1
- package/dist/Changes/LocationEndChange.d.ts +1 -0
- package/dist/Changes/LocationEndChange.d.ts.map +1 -0
- package/dist/Changes/LocationEndChange.js +3 -8
- package/dist/Changes/LocationEndChange.js.map +1 -1
- package/dist/Changes/LocationStartChange.d.ts +1 -0
- package/dist/Changes/LocationStartChange.d.ts.map +1 -0
- package/dist/Changes/LocationStartChange.js +3 -8
- package/dist/Changes/LocationStartChange.js.map +1 -1
- package/dist/Changes/MergeExonsChange.d.ts +3 -2
- package/dist/Changes/MergeExonsChange.d.ts.map +1 -0
- package/dist/Changes/MergeExonsChange.js +9 -13
- package/dist/Changes/MergeExonsChange.js.map +1 -1
- package/dist/Changes/MergeTranscriptsChange.d.ts +4 -3
- package/dist/Changes/MergeTranscriptsChange.d.ts.map +1 -0
- package/dist/Changes/MergeTranscriptsChange.js +20 -24
- package/dist/Changes/MergeTranscriptsChange.js.map +1 -1
- package/dist/Changes/SplitExonChange.d.ts +3 -2
- package/dist/Changes/SplitExonChange.d.ts.map +1 -0
- package/dist/Changes/SplitExonChange.js +6 -10
- package/dist/Changes/SplitExonChange.js.map +1 -1
- package/dist/Changes/StrandChange.d.ts +1 -0
- package/dist/Changes/StrandChange.d.ts.map +1 -0
- package/dist/Changes/StrandChange.js +2 -6
- package/dist/Changes/StrandChange.js.map +1 -1
- package/dist/Changes/TypeChange.d.ts +1 -0
- package/dist/Changes/TypeChange.d.ts.map +1 -0
- package/dist/Changes/TypeChange.js +2 -6
- package/dist/Changes/TypeChange.js.map +1 -1
- package/dist/Changes/UndoMergeExonsChange.d.ts +3 -2
- package/dist/Changes/UndoMergeExonsChange.d.ts.map +1 -0
- package/dist/Changes/UndoMergeExonsChange.js +4 -8
- package/dist/Changes/UndoMergeExonsChange.js.map +1 -1
- package/dist/Changes/UndoMergeTranscriptsChange.d.ts +3 -2
- package/dist/Changes/UndoMergeTranscriptsChange.d.ts.map +1 -0
- package/dist/Changes/UndoMergeTranscriptsChange.js +4 -8
- package/dist/Changes/UndoMergeTranscriptsChange.js.map +1 -1
- package/dist/Changes/UndoSplitExonChange.d.ts +3 -2
- package/dist/Changes/UndoSplitExonChange.d.ts.map +1 -0
- package/dist/Changes/UndoSplitExonChange.js +6 -10
- package/dist/Changes/UndoSplitExonChange.js.map +1 -1
- package/dist/Changes/UserChange.d.ts +1 -0
- package/dist/Changes/UserChange.d.ts.map +1 -0
- package/dist/Changes/UserChange.js +2 -6
- package/dist/Changes/UserChange.js.map +1 -1
- package/dist/Changes/index.d.ts +47 -46
- package/dist/Changes/index.d.ts.map +1 -0
- package/dist/Changes/index.js +70 -74
- package/dist/Changes/index.js.map +1 -1
- package/dist/Checks/CDSCheck.d.ts +2 -1
- package/dist/Checks/CDSCheck.d.ts.map +1 -0
- package/dist/Checks/CDSCheck.js +17 -26
- package/dist/Checks/CDSCheck.js.map +1 -1
- package/dist/Checks/TranscriptCheck.d.ts +2 -1
- package/dist/Checks/TranscriptCheck.d.ts.map +1 -0
- package/dist/Checks/TranscriptCheck.js +11 -16
- package/dist/Checks/TranscriptCheck.js.map +1 -1
- package/dist/Checks/index.d.ts +3 -2
- package/dist/Checks/index.d.ts.map +1 -0
- package/dist/Checks/index.js +2 -5
- package/dist/Checks/index.js.map +1 -1
- package/dist/Checks/util.d.ts +2 -1
- package/dist/Checks/util.d.ts.map +1 -0
- package/dist/Checks/util.js +1 -4
- package/dist/Checks/util.js.map +1 -1
- package/dist/Common/index.d.ts +2 -1
- package/dist/Common/index.d.ts.map +1 -0
- package/dist/Common/index.js +1 -4
- package/dist/Common/index.js.map +1 -1
- package/dist/Common/jwtPayload.d.ts +1 -0
- package/dist/Common/jwtPayload.d.ts.map +1 -0
- package/dist/Common/jwtPayload.js +5 -10
- package/dist/Common/jwtPayload.js.map +1 -1
- package/dist/GFF3/annotationFeatureToGFF3.d.ts +3 -2
- package/dist/GFF3/annotationFeatureToGFF3.d.ts.map +1 -0
- package/dist/GFF3/annotationFeatureToGFF3.js +96 -93
- package/dist/GFF3/annotationFeatureToGFF3.js.map +1 -1
- package/dist/GFF3/annotationFeatureToGFF3.test.d.ts +1 -0
- package/dist/GFF3/annotationFeatureToGFF3.test.d.ts.map +1 -0
- package/dist/GFF3/annotationFeatureToGFF3.test.js +77 -79
- package/dist/GFF3/annotationFeatureToGFF3.test.js.map +1 -1
- package/dist/GFF3/gff3ToAnnotationFeature.d.ts +3 -2
- package/dist/GFF3/gff3ToAnnotationFeature.d.ts.map +1 -0
- package/dist/GFF3/gff3ToAnnotationFeature.js +30 -22
- package/dist/GFF3/gff3ToAnnotationFeature.js.map +1 -1
- package/dist/GFF3/gff3ToAnnotationFeature.test.d.ts +1 -0
- package/dist/GFF3/gff3ToAnnotationFeature.test.d.ts.map +1 -0
- package/dist/GFF3/gff3ToAnnotationFeature.test.js +60 -63
- package/dist/GFF3/gff3ToAnnotationFeature.test.js.map +1 -1
- package/dist/GFF3/gffReservedKeys.d.ts +1 -0
- package/dist/GFF3/gffReservedKeys.d.ts.map +1 -0
- package/dist/GFF3/gffReservedKeys.js +12 -19
- package/dist/GFF3/gffReservedKeys.js.map +1 -1
- package/dist/GFF3/index.d.ts +4 -3
- package/dist/GFF3/index.d.ts.map +1 -0
- package/dist/GFF3/index.js +3 -6
- package/dist/GFF3/index.js.map +1 -1
- package/dist/GFF3/testUtil.d.ts +2 -1
- package/dist/GFF3/testUtil.d.ts.map +1 -0
- package/dist/GFF3/testUtil.js +8 -8
- package/dist/GFF3/testUtil.js.map +1 -1
- package/dist/Messages.d.ts +3 -2
- package/dist/Messages.d.ts.map +1 -0
- package/dist/Messages.js +1 -2
- package/dist/Operations/GetAssembliesOperation.d.ts +2 -3
- package/dist/Operations/GetAssembliesOperation.d.ts.map +1 -0
- package/dist/Operations/GetAssembliesOperation.js +2 -6
- package/dist/Operations/GetAssembliesOperation.js.map +1 -1
- package/dist/Operations/GetFeaturesOperation.d.ts +1 -0
- package/dist/Operations/GetFeaturesOperation.d.ts.map +1 -0
- package/dist/Operations/GetFeaturesOperation.js +2 -6
- package/dist/Operations/GetFeaturesOperation.js.map +1 -1
- package/dist/Operations/index.d.ts +5 -4
- package/dist/Operations/index.d.ts.map +1 -0
- package/dist/Operations/index.js +5 -9
- package/dist/Operations/index.js.map +1 -1
- package/dist/Validations/CoreValidation.d.ts +4 -3
- package/dist/Validations/CoreValidation.d.ts.map +1 -0
- package/dist/Validations/CoreValidation.js +6 -12
- package/dist/Validations/CoreValidation.js.map +1 -1
- package/dist/Validations/ParentChildValidation.d.ts +6 -5
- package/dist/Validations/ParentChildValidation.d.ts.map +1 -0
- package/dist/Validations/ParentChildValidation.js +6 -10
- package/dist/Validations/ParentChildValidation.js.map +1 -1
- package/dist/Validations/Validation.d.ts +6 -5
- package/dist/Validations/Validation.d.ts.map +1 -0
- package/dist/Validations/Validation.js +2 -7
- package/dist/Validations/Validation.js.map +1 -1
- package/dist/Validations/ValidationSet.d.ts +5 -4
- package/dist/Validations/ValidationSet.d.ts.map +1 -0
- package/dist/Validations/ValidationSet.js +3 -8
- package/dist/Validations/ValidationSet.js.map +1 -1
- package/dist/Validations/index.d.ts +5 -4
- package/dist/Validations/index.d.ts.map +1 -0
- package/dist/Validations/index.js +4 -7
- package/dist/Validations/index.js.map +1 -1
- package/dist/Validations/soSequenceTypes.d.ts +1 -0
- package/dist/Validations/soSequenceTypes.d.ts.map +1 -0
- package/dist/Validations/soSequenceTypes.js +1 -3
- package/dist/Validations/soSequenceTypes.js.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -11
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/util.d.ts +3 -2
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +4 -10
- package/dist/util.js.map +1 -1
- package/package.json +16 -13
- package/src/Changes/AddAssemblyAliasesChange.ts +3 -1
- package/src/Changes/AddAssemblyAndFeaturesFromFileChange.ts +38 -16
- package/src/Changes/AddAssemblyFromExternalChange.ts +3 -2
- package/src/Changes/AddAssemblyFromFileChange.ts +11 -8
- package/src/Changes/AddFeatureChange.ts +3 -2
- package/src/Changes/AddFeaturesFromFileChange.ts +35 -18
- package/src/Changes/AddRefSeqAliasesChange.ts +3 -0
- package/src/Changes/DeleteAssemblyChange.ts +1 -0
- package/src/Changes/DeleteFeatureChange.ts +3 -3
- package/src/Changes/FeatureAttributeChange.ts +1 -1
- package/src/Changes/FromFileBaseChange.ts +4 -9
- package/src/Changes/LocationEndChange.ts +1 -1
- package/src/Changes/LocationStartChange.ts +1 -1
- package/src/Changes/MergeExonsChange.ts +4 -4
- package/src/Changes/MergeTranscriptsChange.ts +8 -8
- package/src/Changes/SplitExonChange.ts +3 -3
- package/src/Changes/StrandChange.ts +1 -1
- package/src/Changes/TypeChange.ts +1 -1
- package/src/Changes/UndoMergeExonsChange.ts +2 -2
- package/src/Changes/UndoMergeTranscriptsChange.ts +2 -2
- package/src/Changes/UndoSplitExonChange.ts +3 -3
- package/src/Changes/index.ts +46 -46
- package/src/Checks/CDSCheck.ts +8 -10
- package/src/Checks/TranscriptCheck.ts +4 -4
- package/src/Checks/index.ts +2 -2
- package/src/Checks/util.ts +1 -1
- package/src/Common/index.ts +1 -1
- package/src/GFF3/annotationFeatureToGFF3.test.ts +3 -3
- package/src/GFF3/annotationFeatureToGFF3.ts +105 -99
- package/src/GFF3/gff3ToAnnotationFeature.test.ts +3 -3
- package/src/GFF3/gff3ToAnnotationFeature.ts +29 -13
- package/src/GFF3/index.ts +3 -3
- package/src/GFF3/testUtil.ts +5 -1
- package/src/Messages.ts +2 -2
- package/src/Operations/index.ts +4 -4
- package/src/Validations/CoreValidation.ts +4 -4
- package/src/Validations/ParentChildValidation.ts +6 -6
- package/src/Validations/Validation.ts +5 -5
- package/src/Validations/ValidationSet.ts +4 -8
- package/src/Validations/index.ts +4 -4
- package/src/declare.d.ts +58 -0
- package/src/index.ts +8 -8
- package/src/util.ts +3 -3
- package/test_data/single_feature_mutliple_locations.gff3 +5 -0
- package/test_data/single_feature_mutliple_locations.json +76 -0
- package/tsconfig.json +6 -4
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
/* eslint-disable prefer-destructuring */
|
|
4
2
|
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
for (const testCase of
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { describe, it } from 'node:test';
|
|
5
|
+
import { formatSync } from '@gmod/gff';
|
|
6
|
+
import { assert, expect } from 'chai';
|
|
7
|
+
import { annotationFeatureToGFF3 } from './annotationFeatureToGFF3.js';
|
|
8
|
+
import { readAnnotationFeatureSnapshot, testCases } from './testUtil.js';
|
|
9
|
+
describe('Converts AnnotationFeatureSnapshot JSON to GFF3 when', () => {
|
|
10
|
+
for (const testCase of testCases) {
|
|
13
11
|
const { filenameStem, description } = testCase;
|
|
14
|
-
|
|
15
|
-
const annotationFeatures = JSON.parse(
|
|
16
|
-
const expectedGFF3 =
|
|
17
|
-
const gffFeatures = annotationFeatures.map((annotationFeature) =>
|
|
18
|
-
const gff3 =
|
|
19
|
-
|
|
12
|
+
it(description, () => {
|
|
13
|
+
const annotationFeatures = JSON.parse(readFileSync(`test_data/${filenameStem}.json`, 'utf8'));
|
|
14
|
+
const expectedGFF3 = readFileSync(`test_data/${filenameStem}.gff3`, 'utf8');
|
|
15
|
+
const gffFeatures = annotationFeatures.map((annotationFeature) => annotationFeatureToGFF3(annotationFeature));
|
|
16
|
+
const gff3 = formatSync(gffFeatures);
|
|
17
|
+
expect(gff3).to.equal(expectedGFF3);
|
|
20
18
|
});
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const annotationFeature =
|
|
26
|
-
const [gff3Feature] =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
21
|
+
describe('annotationFeatureToGFF3', () => {
|
|
22
|
+
it('Test mandatory columns', () => {
|
|
23
|
+
const annotationFeature = readAnnotationFeatureSnapshot('test_data/gene.json');
|
|
24
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
25
|
+
assert.deepEqual(gff3Feature.seq_id, 'chr1');
|
|
26
|
+
assert.deepEqual(gff3Feature.type, 'gene');
|
|
27
|
+
assert.deepEqual(gff3Feature.start, 1000);
|
|
28
|
+
assert.deepEqual(gff3Feature.end, 9000);
|
|
29
|
+
assert.deepEqual(gff3Feature.strand, '+');
|
|
30
|
+
assert.deepEqual(gff3Feature.score, 123);
|
|
31
|
+
assert.deepEqual(gff3Feature.source, 'test_data');
|
|
34
32
|
});
|
|
35
|
-
|
|
33
|
+
it('Feature with no children and no gff_id has no ID attribute', () => {
|
|
36
34
|
const annotationFeature = JSON.parse(`{
|
|
37
35
|
"_id": "66d70e4ccc30b55b65e5f619",
|
|
38
36
|
"refSeq": "chr1",
|
|
@@ -42,10 +40,10 @@ const testUtil_1 = require("./testUtil");
|
|
|
42
40
|
"strand": 1,
|
|
43
41
|
"attributes": {}
|
|
44
42
|
}`);
|
|
45
|
-
const [gff3Feature] =
|
|
46
|
-
|
|
43
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
44
|
+
assert.isUndefined(gff3Feature.attributes?.ID);
|
|
47
45
|
});
|
|
48
|
-
|
|
46
|
+
it('Feature with children and no gff_id has internal _id as ID', () => {
|
|
49
47
|
const annotationFeature = JSON.parse(`{
|
|
50
48
|
"_id": "66d70e4ccc30b55b65e5f619",
|
|
51
49
|
"refSeq": "chr1",
|
|
@@ -66,10 +64,10 @@ const testUtil_1 = require("./testUtil");
|
|
|
66
64
|
}
|
|
67
65
|
}
|
|
68
66
|
}`);
|
|
69
|
-
const [gff3Feature] =
|
|
70
|
-
|
|
67
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
68
|
+
assert.deepEqual(gff3Feature.attributes?.ID, ['66d70e4ccc30b55b65e5f619']);
|
|
71
69
|
});
|
|
72
|
-
|
|
70
|
+
it('Convert multiple scores', () => {
|
|
73
71
|
const annotationFeature = JSON.parse(`{
|
|
74
72
|
"_id": "66d70e4ccc30b55b65e5f619",
|
|
75
73
|
"refSeq": "chr1",
|
|
@@ -82,10 +80,10 @@ const testUtil_1 = require("./testUtil");
|
|
|
82
80
|
"gff_score": ["123", "345"]
|
|
83
81
|
}
|
|
84
82
|
}`);
|
|
85
|
-
const [gff3Feature] =
|
|
86
|
-
|
|
83
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
84
|
+
assert.deepEqual(gff3Feature.score, 123);
|
|
87
85
|
});
|
|
88
|
-
|
|
86
|
+
it('Convert invalid score', () => {
|
|
89
87
|
const annotationFeature = JSON.parse(`{
|
|
90
88
|
"_id": "66d70e4ccc30b55b65e5f619",
|
|
91
89
|
"refSeq": "chr1",
|
|
@@ -98,73 +96,73 @@ const testUtil_1 = require("./testUtil");
|
|
|
98
96
|
"gff_score": ["xyz"]
|
|
99
97
|
}
|
|
100
98
|
}`);
|
|
101
|
-
const [gff3Feature] =
|
|
102
|
-
|
|
99
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
100
|
+
assert.deepEqual(gff3Feature.score, null);
|
|
103
101
|
});
|
|
104
|
-
|
|
105
|
-
const annotationFeature =
|
|
106
|
-
const [gff3Feature] =
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
102
|
+
it('Convert one gene test attributes', () => {
|
|
103
|
+
const annotationFeature = readAnnotationFeatureSnapshot('test_data/gene.json');
|
|
104
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
105
|
+
assert.deepEqual(gff3Feature.attributes?.Name, ['EDEN']);
|
|
106
|
+
assert.deepEqual(gff3Feature.attributes?.testid, ['t001', 't003']);
|
|
107
|
+
assert.deepEqual(gff3Feature.attributes?.ID, ['gene10001']);
|
|
108
|
+
assert.deepEqual(gff3Feature.attributes?.Ontology_term, [
|
|
111
109
|
'GO1234',
|
|
112
110
|
'GO4567',
|
|
113
111
|
'SO1234',
|
|
114
112
|
]);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
113
|
+
assert.deepEqual(gff3Feature.attributes?.Alias, ['myalias']);
|
|
114
|
+
assert.deepEqual(gff3Feature.attributes?.Target, ['mytarget']);
|
|
115
|
+
assert.deepEqual(gff3Feature.attributes?.Gap, ['mygap']);
|
|
116
|
+
assert.deepEqual(gff3Feature.attributes?.Derives_from, ['myderives']);
|
|
117
|
+
assert.deepEqual(gff3Feature.attributes?.Note, ['mynote']);
|
|
118
|
+
assert.deepEqual(gff3Feature.attributes?.Dbxref, ['mydbxref']);
|
|
119
|
+
assert.deepEqual(gff3Feature.attributes?.Is_circular, ['true']);
|
|
122
120
|
});
|
|
123
|
-
|
|
124
|
-
const annotationFeature =
|
|
125
|
-
const [gff3Feature] =
|
|
121
|
+
it('Convert one gene test children', () => {
|
|
122
|
+
const annotationFeature = readAnnotationFeatureSnapshot('test_data/gene.json');
|
|
123
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
126
124
|
const [children] = gff3Feature.child_features;
|
|
127
125
|
const [mrna] = children;
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
assert.deepEqual(mrna.type, 'mRNA');
|
|
127
|
+
assert.deepEqual(mrna.attributes?.Parent, ['gene10001']);
|
|
130
128
|
const [cds] = mrna.child_features[2];
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
129
|
+
assert.deepEqual(cds.type, 'CDS');
|
|
130
|
+
assert.deepEqual(cds.attributes?.ID, ['cds10001']);
|
|
131
|
+
assert.deepEqual(cds.attributes?.Parent, ['mRNA10001']);
|
|
134
132
|
});
|
|
135
|
-
|
|
136
|
-
const annotationFeature =
|
|
137
|
-
const [gff3Feature] =
|
|
133
|
+
it('Convert CDSs', () => {
|
|
134
|
+
const annotationFeature = readAnnotationFeatureSnapshot('test_data/gene.json');
|
|
135
|
+
const [gff3Feature] = annotationFeatureToGFF3(annotationFeature);
|
|
138
136
|
const [children] = gff3Feature.child_features;
|
|
139
137
|
const [mrna] = children;
|
|
140
138
|
const cds10001 = mrna.child_features.filter((child) => {
|
|
141
139
|
const id = child[0].attributes?.ID;
|
|
142
140
|
return id !== undefined && id[0] === 'cds10001';
|
|
143
141
|
});
|
|
144
|
-
|
|
142
|
+
assert.deepEqual(cds10001.length, 2);
|
|
145
143
|
const cds1_1 = cds10001[0][0];
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
assert.deepEqual(cds1_1.attributes?.ID, ['cds10001']);
|
|
145
|
+
assert.deepEqual(cds1_1.start, 1201);
|
|
146
|
+
assert.deepEqual(cds1_1.end, 1500);
|
|
147
|
+
assert.deepEqual(cds1_1.phase, '0');
|
|
150
148
|
const cds1_2 = cds10001[1][0];
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
149
|
+
assert.deepEqual(cds1_2.attributes?.ID, ['cds10001']);
|
|
150
|
+
assert.deepEqual(cds1_2.start, 5000);
|
|
151
|
+
assert.deepEqual(cds1_2.end, 5100);
|
|
152
|
+
assert.deepEqual(cds1_2.phase, '0');
|
|
153
|
+
assert.deepEqual(cds1_1.child_features[0][0].attributes?.ID, [
|
|
156
154
|
'cds_region10001',
|
|
157
155
|
]);
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
assert.deepEqual(cds1_1.child_features[0][0].start, 1351);
|
|
157
|
+
assert.deepEqual(cds1_1.child_features[0][0].end, 1400);
|
|
158
|
+
assert.deepEqual(cds1_1.child_features[0][0].phase, null);
|
|
161
159
|
const cds10004 = mrna.child_features.filter((child) => {
|
|
162
160
|
const id = child[0].attributes?.ID;
|
|
163
161
|
return id !== undefined && id[0] === 'cds10004';
|
|
164
162
|
});
|
|
165
|
-
|
|
163
|
+
assert.deepEqual(cds10004.length, 2);
|
|
166
164
|
const cds4_1 = cds10004[0][0];
|
|
167
|
-
|
|
165
|
+
assert.deepEqual(cds4_1.attributes?.ID, ['cds10004']);
|
|
168
166
|
});
|
|
169
167
|
});
|
|
170
168
|
//# sourceMappingURL=annotationFeatureToGFF3.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotationFeatureToGFF3.test.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"annotationFeatureToGFF3.test.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { AnnotationFeatureSnapshot } from '@apollo-annotation/mst';
|
|
2
|
+
import type { GFF3Feature } from '@gmod/gff';
|
|
3
3
|
export declare function gff3ToAnnotationFeature(gff3Feature: GFF3Feature, refSeq?: string): AnnotationFeatureSnapshot;
|
|
4
|
+
//# sourceMappingURL=gff3ToAnnotationFeature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gff3ToAnnotationFeature.d.ts","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAA;AAMrE,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,MAAM,CAAC,EAAE,MAAM,GACd,yBAAyB,CAgD3B"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const util_1 = require("@jbrowse/core/util");
|
|
6
|
-
const bson_objectid_1 = tslib_1.__importDefault(require("bson-objectid"));
|
|
7
|
-
const gffReservedKeys_1 = require("./gffReservedKeys");
|
|
8
|
-
function gff3ToAnnotationFeature(gff3Feature, refSeq) {
|
|
1
|
+
import { doesIntersect2 } from '@jbrowse/core/util';
|
|
2
|
+
import ObjectID from 'bson-objectid';
|
|
3
|
+
import { gffToInternal, isGFFReservedAttribute } from './gffReservedKeys.js';
|
|
4
|
+
export function gff3ToAnnotationFeature(gff3Feature, refSeq) {
|
|
9
5
|
const [firstFeature] = gff3Feature;
|
|
10
|
-
const { end, seq_id: refName, start, strand
|
|
6
|
+
const { end, seq_id: refName, start, strand } = firstFeature;
|
|
11
7
|
if (!refName) {
|
|
12
8
|
throw new Error(`feature does not have seq_id: ${JSON.stringify(firstFeature)}`);
|
|
13
9
|
}
|
|
14
|
-
if (!type) {
|
|
15
|
-
throw new Error(`feature does not have type: ${JSON.stringify(firstFeature)}`);
|
|
16
|
-
}
|
|
17
10
|
if (start === null) {
|
|
18
11
|
throw new Error(`feature does not have start: ${JSON.stringify(firstFeature)}`);
|
|
19
12
|
}
|
|
@@ -24,9 +17,9 @@ function gff3ToAnnotationFeature(gff3Feature, refSeq) {
|
|
|
24
17
|
const convertedChildren = convertChildren(gff3Feature, refSeq);
|
|
25
18
|
const convertedAttributes = convertFeatureAttributes(gff3Feature);
|
|
26
19
|
const feature = {
|
|
27
|
-
_id: new
|
|
20
|
+
_id: new ObjectID().toHexString(),
|
|
28
21
|
refSeq: refSeq ?? refName,
|
|
29
|
-
type,
|
|
22
|
+
type: getFeatureType(gff3Feature),
|
|
30
23
|
min,
|
|
31
24
|
max,
|
|
32
25
|
};
|
|
@@ -50,9 +43,6 @@ function gff3ToAnnotationFeature(gff3Feature, refSeq) {
|
|
|
50
43
|
return feature;
|
|
51
44
|
}
|
|
52
45
|
function getFeatureMinMax(gff3Feature) {
|
|
53
|
-
if (gff3Feature.length > 1 && !gff3Feature.every((f) => f.type === 'CDS')) {
|
|
54
|
-
throw new Error('GFF3 features has multiple locations but is not a CDS');
|
|
55
|
-
}
|
|
56
46
|
const mins = gff3Feature.map((f) => f.start).filter((m) => m !== null);
|
|
57
47
|
const maxes = gff3Feature.map((f) => f.end).filter((m) => m !== null);
|
|
58
48
|
const min = Math.min(...mins);
|
|
@@ -93,7 +83,7 @@ function convertFeatureAttributes(gff3Feature) {
|
|
|
93
83
|
if (key === 'Parent') {
|
|
94
84
|
continue;
|
|
95
85
|
}
|
|
96
|
-
const newKey =
|
|
86
|
+
const newKey = isGFFReservedAttribute(key) ? gffToInternal[key] : key;
|
|
97
87
|
const existingVal = convertedAttributes[newKey];
|
|
98
88
|
if (existingVal) {
|
|
99
89
|
// if (JSON.stringify(existingVal) === JSON.stringify(val)) {
|
|
@@ -113,12 +103,30 @@ function convertFeatureAttributes(gff3Feature) {
|
|
|
113
103
|
}
|
|
114
104
|
return;
|
|
115
105
|
}
|
|
106
|
+
function getFeatureType(gff3Feature) {
|
|
107
|
+
const [firstFeature] = gff3Feature;
|
|
108
|
+
if (gff3Feature.length === 1 || firstFeature.type === 'CDS') {
|
|
109
|
+
const { type } = firstFeature;
|
|
110
|
+
if (!type) {
|
|
111
|
+
throw new Error(`feature does not have type: ${JSON.stringify(firstFeature)}`);
|
|
112
|
+
}
|
|
113
|
+
return type;
|
|
114
|
+
}
|
|
115
|
+
return 'apollo_feature_container';
|
|
116
|
+
}
|
|
116
117
|
function convertChildren(gff3Feature, refSeq, featureIds) {
|
|
117
118
|
const convertedChildren = {};
|
|
118
119
|
const locationsWithChildren = gff3Feature.filter((feature) => feature.child_features.length > 0);
|
|
119
120
|
if (locationsWithChildren.length > 1) {
|
|
120
121
|
throw new Error('Features with multiple locations may not have children');
|
|
121
122
|
}
|
|
123
|
+
if (gff3Feature.length > 1 && gff3Feature[0].type !== 'CDS') {
|
|
124
|
+
for (const gff3FeatureLocation of gff3Feature) {
|
|
125
|
+
const annotationFeature = gff3ToAnnotationFeature([gff3FeatureLocation], refSeq);
|
|
126
|
+
convertedChildren[annotationFeature._id] = annotationFeature;
|
|
127
|
+
}
|
|
128
|
+
return convertedChildren;
|
|
129
|
+
}
|
|
122
130
|
if (locationsWithChildren.length === 0) {
|
|
123
131
|
return;
|
|
124
132
|
}
|
|
@@ -182,7 +190,7 @@ function inferMissingExons(cdsFeatures, existingExons, utrFeatures, refSeq, feat
|
|
|
182
190
|
strand = -1;
|
|
183
191
|
}
|
|
184
192
|
utrExons.push({
|
|
185
|
-
_id: new
|
|
193
|
+
_id: new ObjectID().toHexString(),
|
|
186
194
|
refSeq,
|
|
187
195
|
type: 'exon',
|
|
188
196
|
min: utr.start - 1,
|
|
@@ -231,7 +239,7 @@ function inferMissingExons(cdsFeatures, existingExons, utrFeatures, refSeq, feat
|
|
|
231
239
|
strand = -1;
|
|
232
240
|
}
|
|
233
241
|
const newExon = {
|
|
234
|
-
_id: new
|
|
242
|
+
_id: new ObjectID().toHexString(),
|
|
235
243
|
refSeq,
|
|
236
244
|
type: 'exon',
|
|
237
245
|
min: cds.start - 1,
|
|
@@ -331,7 +339,7 @@ function processCDS(cdsFeatures, refSeq) {
|
|
|
331
339
|
return false;
|
|
332
340
|
}
|
|
333
341
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
334
|
-
return
|
|
342
|
+
return doesIntersect2(loc.start, loc.end, nextLoc.start, nextLoc.end);
|
|
335
343
|
});
|
|
336
344
|
// If no overlaps, assume it's a single CDS feature
|
|
337
345
|
if (!overlapping) {
|
|
@@ -347,7 +355,7 @@ function processCDS(cdsFeatures, refSeq) {
|
|
|
347
355
|
groupedLocations.push([location]);
|
|
348
356
|
continue;
|
|
349
357
|
}
|
|
350
|
-
const overlaps = lastGroup.some((lastGroupLoc) =>
|
|
358
|
+
const overlaps = lastGroup.some((lastGroupLoc) => doesIntersect2(
|
|
351
359
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
352
360
|
lastGroupLoc.start, lastGroupLoc.end, location.start, location.end));
|
|
353
361
|
if (overlaps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gff3ToAnnotationFeature.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gff3ToAnnotationFeature.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gff3ToAnnotationFeature.test.d.ts","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.test.ts"],"names":[],"mappings":""}
|