@apollo-annotation/shared 0.1.17 → 0.1.19
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/package.json +13 -7
- package/src/Changes/AddAssemblyAndFeaturesFromFileChange.ts +7 -4
- package/src/Changes/AddAssemblyFromFileChange.ts +3 -2
- package/src/Changes/AddFeatureChange.ts +2 -3
- package/src/Changes/AddFeaturesFromFileChange.ts +8 -3
- package/src/Changes/AddRefSeqAliasesChange.ts +88 -0
- package/src/Changes/DeleteAssemblyChange.ts +1 -1
- package/src/Changes/DeleteFeatureChange.ts +1 -1
- package/src/Changes/FeatureAttributeChange.ts +1 -1
- package/src/Changes/FromFileBaseChange.ts +221 -0
- package/src/Changes/ImportJBrowseConfigChange.ts +116 -0
- package/src/Changes/LocationEndChange.ts +25 -18
- package/src/Changes/LocationStartChange.ts +25 -18
- package/src/Changes/TypeChange.ts +1 -1
- package/src/Changes/index.ts +6 -6
- package/src/Checks/CDSCheck.ts +251 -249
- package/src/Common/jwtPayload.ts +1 -1
- package/src/GFF3/gff3ToAnnotationFeature.test.ts +49 -0
- package/src/GFF3/gff3ToAnnotationFeature.ts +257 -0
- package/src/GFF3/gffReservedKeys.ts +61 -0
- package/src/GFF3/index.ts +2 -0
- package/src/Operations/GetFeaturesOperation.ts +2 -2
- package/src/Validations/ParentChildValidation.ts +5 -5
- package/src/index.ts +1 -0
- package/src/util.ts +15 -12
- package/tsconfig.json +4 -4
- package/src/Changes/DiscontinuousLocationEndChange.ts +0 -182
- package/src/Changes/DiscontinuousLocationStartChange.ts +0 -182
|
@@ -30,7 +30,7 @@ interface SerializedLocationEndChangeMultiple
|
|
|
30
30
|
changes: LocationEndChangeDetails[]
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
type SerializedLocationEndChange =
|
|
33
|
+
export type SerializedLocationEndChange =
|
|
34
34
|
| SerializedLocationEndChangeSingle
|
|
35
35
|
| SerializedLocationEndChangeMultiple
|
|
36
36
|
|
|
@@ -80,7 +80,9 @@ export class LocationEndChange extends FeatureChange {
|
|
|
80
80
|
throw new Error(errMsg)
|
|
81
81
|
// throw new NotFoundException(errMsg) -- This is causing runtime error because Exception comes from @nestjs/common!!!
|
|
82
82
|
}
|
|
83
|
-
logger.debug?.(
|
|
83
|
+
logger.debug?.(
|
|
84
|
+
`*** TOP level feature found: ${JSON.stringify(topLevelFeature)}`,
|
|
85
|
+
)
|
|
84
86
|
|
|
85
87
|
const foundFeature = this.getFeatureFromId(topLevelFeature, featureId)
|
|
86
88
|
if (!foundFeature) {
|
|
@@ -89,28 +91,33 @@ export class LocationEndChange extends FeatureChange {
|
|
|
89
91
|
throw new Error(errMsg)
|
|
90
92
|
}
|
|
91
93
|
logger.debug?.(`*** Found feature: ${JSON.stringify(foundFeature)}`)
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
94
|
+
if (foundFeature.max === oldEnd) {
|
|
95
|
+
featuresForChanges.push({ feature: foundFeature, topLevelFeature })
|
|
96
|
+
} else {
|
|
97
|
+
if (foundFeature.children) {
|
|
98
|
+
for (const [, childFeature] of foundFeature.children) {
|
|
99
|
+
if (childFeature.max === oldEnd) {
|
|
100
|
+
logger.debug?.(
|
|
101
|
+
`*************** UPDATE CHILD FEATURE ID= ${featureId}, CHILD: ${JSON.stringify(
|
|
102
|
+
childFeature,
|
|
103
|
+
)}`,
|
|
104
|
+
)
|
|
105
|
+
featuresForChanges.push({
|
|
106
|
+
feature: childFeature,
|
|
107
|
+
topLevelFeature,
|
|
108
|
+
})
|
|
109
|
+
break
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
105
113
|
}
|
|
106
|
-
featuresForChanges.push({ feature: foundFeature, topLevelFeature })
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
// Let's update objects.
|
|
110
117
|
for (const [idx, change] of changes.entries()) {
|
|
111
118
|
const { newEnd } = change
|
|
112
119
|
const { feature, topLevelFeature } = featuresForChanges[idx]
|
|
113
|
-
feature.
|
|
120
|
+
feature.max = newEnd
|
|
114
121
|
if (topLevelFeature._id.equals(feature._id)) {
|
|
115
122
|
topLevelFeature.markModified('end') // Mark as modified. Without this save() -method is not updating data in database
|
|
116
123
|
} else {
|
|
@@ -144,7 +151,7 @@ export class LocationEndChange extends FeatureChange {
|
|
|
144
151
|
if (!feature) {
|
|
145
152
|
throw new Error(`Could not find feature with identifier "${changedId}"`)
|
|
146
153
|
}
|
|
147
|
-
feature.
|
|
154
|
+
feature.setMax(this.changes[idx].newEnd)
|
|
148
155
|
}
|
|
149
156
|
}
|
|
150
157
|
|
|
@@ -30,7 +30,7 @@ interface SerializedLocationStartChangeMultiple
|
|
|
30
30
|
changes: LocationStartChangeDetails[]
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
type SerializedLocationStartChange =
|
|
33
|
+
export type SerializedLocationStartChange =
|
|
34
34
|
| SerializedLocationStartChangeSingle
|
|
35
35
|
| SerializedLocationStartChangeMultiple
|
|
36
36
|
|
|
@@ -80,7 +80,9 @@ export class LocationStartChange extends FeatureChange {
|
|
|
80
80
|
throw new Error(errMsg)
|
|
81
81
|
// throw new NotFoundException(errMsg) -- This is causing runtime error because Exception comes from @nestjs/common!!!
|
|
82
82
|
}
|
|
83
|
-
logger.debug?.(
|
|
83
|
+
logger.debug?.(
|
|
84
|
+
`*** TOP level feature found: ${JSON.stringify(topLevelFeature)}`,
|
|
85
|
+
)
|
|
84
86
|
|
|
85
87
|
const foundFeature = this.getFeatureFromId(topLevelFeature, featureId)
|
|
86
88
|
if (!foundFeature) {
|
|
@@ -89,28 +91,33 @@ export class LocationStartChange extends FeatureChange {
|
|
|
89
91
|
throw new Error(errMsg)
|
|
90
92
|
}
|
|
91
93
|
logger.debug?.(`*** Found feature: ${JSON.stringify(foundFeature)}`)
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
94
|
+
if (foundFeature.min === oldStart) {
|
|
95
|
+
featuresForChanges.push({ feature: foundFeature, topLevelFeature })
|
|
96
|
+
} else {
|
|
97
|
+
if (foundFeature.children) {
|
|
98
|
+
for (const [, childFeature] of foundFeature.children) {
|
|
99
|
+
if (childFeature.min === oldStart) {
|
|
100
|
+
logger.debug?.(
|
|
101
|
+
`*** UPDATE CHILD FEATURE ID= ${featureId}, CHILD: ${JSON.stringify(
|
|
102
|
+
childFeature,
|
|
103
|
+
)}`,
|
|
104
|
+
)
|
|
105
|
+
featuresForChanges.push({
|
|
106
|
+
feature: childFeature,
|
|
107
|
+
topLevelFeature,
|
|
108
|
+
})
|
|
109
|
+
break
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
105
113
|
}
|
|
106
|
-
featuresForChanges.push({ feature: foundFeature, topLevelFeature })
|
|
107
114
|
}
|
|
108
115
|
|
|
109
116
|
// Let's update objects.
|
|
110
117
|
for (const [idx, change] of changes.entries()) {
|
|
111
118
|
const { newStart } = change
|
|
112
119
|
const { feature, topLevelFeature } = featuresForChanges[idx]
|
|
113
|
-
feature.
|
|
120
|
+
feature.min = newStart
|
|
114
121
|
if (topLevelFeature._id.equals(feature._id)) {
|
|
115
122
|
topLevelFeature.markModified('start') // Mark as modified. Without this save() -method is not updating data in database
|
|
116
123
|
} else {
|
|
@@ -144,7 +151,7 @@ export class LocationStartChange extends FeatureChange {
|
|
|
144
151
|
if (!feature) {
|
|
145
152
|
throw new Error(`Could not find feature with identifier "${changedId}"`)
|
|
146
153
|
}
|
|
147
|
-
feature.
|
|
154
|
+
feature.setMin(this.changes[idx].newStart)
|
|
148
155
|
}
|
|
149
156
|
}
|
|
150
157
|
|
package/src/Changes/index.ts
CHANGED
|
@@ -3,12 +3,12 @@ import { AddAssemblyFromExternalChange } from './AddAssemblyFromExternalChange'
|
|
|
3
3
|
import { AddAssemblyFromFileChange } from './AddAssemblyFromFileChange'
|
|
4
4
|
import { AddFeatureChange } from './AddFeatureChange'
|
|
5
5
|
import { AddFeaturesFromFileChange } from './AddFeaturesFromFileChange'
|
|
6
|
+
import { AddRefSeqAliasesChange } from './AddRefSeqAliasesChange'
|
|
6
7
|
import { DeleteAssemblyChange } from './DeleteAssemblyChange'
|
|
7
8
|
import { DeleteFeatureChange } from './DeleteFeatureChange'
|
|
8
9
|
import { DeleteUserChange } from './DeleteUserChange'
|
|
9
|
-
import { DiscontinuousLocationEndChange } from './DiscontinuousLocationEndChange'
|
|
10
|
-
import { DiscontinuousLocationStartChange } from './DiscontinuousLocationStartChange'
|
|
11
10
|
import { FeatureAttributeChange } from './FeatureAttributeChange'
|
|
11
|
+
import { ImportJBrowseConfigChange } from './ImportJBrowseConfigChange'
|
|
12
12
|
import { LocationEndChange } from './LocationEndChange'
|
|
13
13
|
import { LocationStartChange } from './LocationStartChange'
|
|
14
14
|
import { StrandChange } from './StrandChange'
|
|
@@ -24,14 +24,14 @@ export const changes = {
|
|
|
24
24
|
DeleteAssemblyChange,
|
|
25
25
|
DeleteFeatureChange,
|
|
26
26
|
DeleteUserChange,
|
|
27
|
-
DiscontinuousLocationEndChange,
|
|
28
|
-
DiscontinuousLocationStartChange,
|
|
29
27
|
FeatureAttributeChange,
|
|
28
|
+
ImportJBrowseConfigChange,
|
|
30
29
|
LocationEndChange,
|
|
31
30
|
LocationStartChange,
|
|
32
31
|
StrandChange,
|
|
33
32
|
TypeChange,
|
|
34
33
|
UserChange,
|
|
34
|
+
AddRefSeqAliasesChange,
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export * from './AddAssemblyAndFeaturesFromFileChange'
|
|
@@ -42,11 +42,11 @@ export * from './AddFeaturesFromFileChange'
|
|
|
42
42
|
export * from './DeleteAssemblyChange'
|
|
43
43
|
export * from './DeleteFeatureChange'
|
|
44
44
|
export * from './DeleteUserChange'
|
|
45
|
-
export * from './DiscontinuousLocationEndChange'
|
|
46
|
-
export * from './DiscontinuousLocationStartChange'
|
|
47
45
|
export * from './FeatureAttributeChange'
|
|
46
|
+
export * from './ImportJBrowseConfigChange'
|
|
48
47
|
export * from './LocationEndChange'
|
|
49
48
|
export * from './LocationStartChange'
|
|
50
49
|
export * from './StrandChange'
|
|
51
50
|
export * from './TypeChange'
|
|
52
51
|
export * from './UserChange'
|
|
52
|
+
export * from './AddRefSeqAliasesChange'
|