@apollo-annotation/shared 0.3.1 → 0.3.2

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.
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.annotationFeatureToGFF3 = annotationFeatureToGFF3;
5
5
  const util_1 = require("@jbrowse/core/util");
6
6
  function annotationFeatureToGFF3(feature, parentId, refSeqNames) {
7
- const attributes = JSON.parse(JSON.stringify(feature.attributes));
7
+ const attributes = JSON.parse(JSON.stringify(feature.attributes ?? {}));
8
8
  const ontologyTerms = [];
9
9
  const source = feature.attributes?.gff_source?.[0] ?? null;
10
10
  delete attributes.gff_source;
@@ -1 +1 @@
1
- {"version":3,"file":"annotationFeatureToGFF3.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.ts"],"names":[],"mappings":";AAAA,4DAA4D;;AAU5D,0DAoGC;AAtGD,6CAAkD;AAElD,SAAgB,uBAAuB,CACrC,OAAkC,EAClC,QAAiB,EACjB,WAAgD;IAEhD,MAAM,UAAU,GAAyC,IAAI,CAAC,KAAK,CACjE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CACnC,CAAA;IACD,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAE1D,OAAO,UAAU,CAAC,UAAU,CAAA;IAC5B,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAA;IAChC,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,GAAG,UAAU,CAAC,MAAM,CAAA;QACjC,OAAO,UAAU,CAAC,MAAM,CAAA;IAC1B,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,UAAU,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAA;QACrC,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzB,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,SAAS,CAAA;QACvC,OAAO,UAAU,CAAC,SAAS,CAAA;IAC7B,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACzC,OAAO,UAAU,CAAC,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,OAAO,CAAA;QACnC,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IACD,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;QAChC,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAA;QACrD,OAAO,UAAU,CAAC,gBAAgB,CAAA;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAA;QACrC,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1B,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACzC,OAAO,UAAU,CAAC,UAAU,CAAA;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAA;QACnD,OAAO,UAAU,CAAC,eAAe,CAAA;IACnC,CAAC;IACD,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACjC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;QACnD,OAAO,UAAU,CAAC,iBAAiB,CAAA;IACrC,CAAC;IACD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;QAClD,OAAO,UAAU,CAAC,eAAe,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,aAAa,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;QACtD,OAAO,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,aAAa,GAAG,aAAa,CAAA;IAC1C,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAA;IAC/C,IAAI,KAAK,GAAkB,IAAI,CAAA;IAC/B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAA;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAE5D,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;QACjC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACzB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC1E,MAAM;QACN,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;QAClE,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QAClE,gBAAgB,EAAE,EAAE;QACpB,cAAc,EAAE,oBAAoB,CAClC,OAAO,EACP,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAClB,WAAW,CACZ;KACF,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAkC,EAClC,QAAiB,EACjB,WAAgD;IAEhD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,cAAc,GAAkB,EAAE,CAAA;QACxC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;YACtE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAgB,CAAA;oBAClE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACvB,yBAAyB;wBACzB,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACrD,CAAA;oBACH,CAAC;oBACD,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;oBAC7B,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;oBACvB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAA;oBACtC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA,CAAC,mBAAmB;oBAC7C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC7B,CAAC;gBACD,OAAO,EAAE,CAAA;YACX,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACnD,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CACtD,CAAA;AACH,CAAC;AASD,SAAS,kBAAkB,CACzB,OAAkC;IAElC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,wDAAwD;IACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;IACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IACD,MAAM,eAAe,GAAsB,EAAE,CAAA;IAC7C,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;QACxC,MAAM,KAAK,GAAoB,EAAE,CAAA;QACjC,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,MAAM,aAAa,GAA6B,EAAE,CAAA;QAClD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACrD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAA,oBAAa,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;YACxE,IAAI,OAAyC,CAAA;YAC7C,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAA;YACnE,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAA;YACnE,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC7C,cAAc,GAAG,IAAI,CAAA;gBACrB,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;oBAC7C,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;qBAAM,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CACR,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAC/C,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAC5C,CAAA;gBACH,CAAC;qBAAM,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CACR,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAC7C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChD,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CACR,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAC7C,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAC/C;wBACE,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,KAAK,CAAC,GAAG;wBACd,IAAI,EACF,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;qBAChE,CACF,CAAA;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,OAAO,EAAE,CAAA;QACjB,CAAC;QACD,IAAI,SAAS,GAAc,CAAC,CAAA;QAC5B,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvB,OAAO,GAAG,CAAA;YACZ,CAAC;YACD,MAAM,KAAK,GAAG,SAAS,CAAA;YACvB,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAc,CAAA;YAC1E,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,SAAS,eAAe,CACtB,OAAkC;IAElC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACnD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACxC,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,KAAK,CAAC,CACrE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"annotationFeatureToGFF3.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.ts"],"names":[],"mappings":"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"}
@@ -99,6 +99,9 @@ function convertFeatureAttributes(gff3Feature) {
99
99
  const newKey = (0, gffReservedKeys_1.isGFFReservedAttribute)(key) ? gffReservedKeys_1.gffToInternal[key] : key;
100
100
  const existingVal = convertedAttributes[newKey];
101
101
  if (existingVal) {
102
+ // if (JSON.stringify(existingVal) === JSON.stringify(val)) {
103
+ // continue
104
+ // }
102
105
  const valSet = new Set([...existingVal, ...val]);
103
106
  convertedAttributes[newKey] = [...valSet];
104
107
  }
@@ -125,8 +128,17 @@ function convertChildren(gff3Feature, refSeq, featureIds) {
125
128
  const [firstFeature] = locationsWithChildren;
126
129
  const { child_features: childFeatures } = firstFeature;
127
130
  const cdsFeatures = [];
131
+ const exonFeatures = [];
132
+ const utrFeatures = [];
128
133
  for (const childFeature of childFeatures) {
129
134
  const [firstChildFeatureLocation] = childFeature;
135
+ if (firstChildFeatureLocation.type === 'exon') {
136
+ exonFeatures.push(childFeature);
137
+ }
138
+ if (firstChildFeatureLocation.type === 'three_prime_UTR' ||
139
+ firstChildFeatureLocation.type === 'five_prime_UTR') {
140
+ utrFeatures.push(childFeature);
141
+ }
130
142
  if (firstChildFeatureLocation.type === 'three_prime_UTR' ||
131
143
  firstChildFeatureLocation.type === 'five_prime_UTR' ||
132
144
  firstChildFeatureLocation.type === 'intron' ||
@@ -142,15 +154,150 @@ function convertChildren(gff3Feature, refSeq, featureIds) {
142
154
  convertedChildren[child._id] = child;
143
155
  }
144
156
  }
145
- const processedCDS = cdsFeatures.length > 0 ? processCDS(cdsFeatures, refSeq, featureIds) : [];
146
- for (const cds of processedCDS) {
147
- convertedChildren[cds._id] = cds;
157
+ if (cdsFeatures.length > 0) {
158
+ const processedCDS = processCDS(cdsFeatures, refSeq, featureIds);
159
+ for (const cds of processedCDS) {
160
+ convertedChildren[cds._id] = cds;
161
+ }
162
+ const missingExons = inferMissingExons(cdsFeatures, exonFeatures, utrFeatures, processedCDS[0].refSeq);
163
+ for (const exon of missingExons) {
164
+ convertedChildren[exon._id] = exon;
165
+ }
148
166
  }
149
167
  if (Object.keys(convertedChildren).length > 0) {
150
168
  return convertedChildren;
151
169
  }
152
170
  return;
153
171
  }
172
+ function inferMissingExons(cdsFeatures, existingExons, utrFeatures, refSeq) {
173
+ // Convert utrFeatures from GFF3Feature to AnnotationFeatureSnapshot
174
+ const utrExons = [];
175
+ for (const utrs of utrFeatures) {
176
+ for (const utr of utrs) {
177
+ if (!utr.start || !utr.end) {
178
+ throw new Error(`UTR has undefined start and/or end\n: ${JSON.stringify(utr, null, 2)}`);
179
+ }
180
+ let strand = undefined;
181
+ if (utr.strand === '+') {
182
+ strand = 1;
183
+ }
184
+ else if (utr.strand === '-') {
185
+ strand = -1;
186
+ }
187
+ utrExons.push({
188
+ _id: new bson_objectid_1.default().toHexString(),
189
+ refSeq,
190
+ type: 'exon',
191
+ min: utr.start - 1,
192
+ max: utr.end,
193
+ strand,
194
+ });
195
+ }
196
+ }
197
+ utrExons.sort((a, b) => a.min - b.min);
198
+ const missingExons = [];
199
+ for (const protein of cdsFeatures) {
200
+ protein.sort((a, b) => {
201
+ if (!a.start || !b.start) {
202
+ throw new Error('CDS has undefined start');
203
+ }
204
+ return a.start - b.start;
205
+ });
206
+ for (let cdsIdx = 0; cdsIdx < protein.length; cdsIdx++) {
207
+ const cds = protein[cdsIdx];
208
+ // For CDS check if there is an exon containing it. If not, create an exon with same coords as the CDS.
209
+ let exonFound = false;
210
+ for (const x of existingExons) {
211
+ if (x.length != 1) {
212
+ throw new Error('Unexpected number of exons');
213
+ }
214
+ const [exon] = x;
215
+ if (exon.start &&
216
+ exon.end &&
217
+ cds.start &&
218
+ cds.end &&
219
+ exon.start <= cds.start &&
220
+ exon.end >= cds.end) {
221
+ exonFound = true;
222
+ break;
223
+ }
224
+ }
225
+ if (!exonFound) {
226
+ if (!cds.start || !cds.end) {
227
+ throw new Error(`CDS has undefined start and/or end: ${JSON.stringify(cds, null, 2)}`);
228
+ }
229
+ let strand = undefined;
230
+ if (cds.strand === '+') {
231
+ strand = 1;
232
+ }
233
+ else if (cds.strand === '-') {
234
+ strand = -1;
235
+ }
236
+ const newExon = {
237
+ _id: new bson_objectid_1.default().toHexString(),
238
+ refSeq,
239
+ type: 'exon',
240
+ min: cds.start - 1,
241
+ max: cds.end,
242
+ strand,
243
+ };
244
+ if (cdsIdx === 0) {
245
+ // If this CDS is the leftmost (or the only CDS in this protein), check if we need to add UTRs before it
246
+ for (const utr of utrExons) {
247
+ if (utr.max > newExon.min) {
248
+ break;
249
+ }
250
+ if (utr.max === newExon.min) {
251
+ // UTR ends where exon begins: Extend the exon to include this UTR
252
+ newExon.min = utr.min;
253
+ }
254
+ else {
255
+ missingExons.push(utr);
256
+ }
257
+ }
258
+ }
259
+ if (cdsIdx === protein.length - 1) {
260
+ // If this CDS is the rightmost (or the only CDS in this protein), check if we need to add UTRs after it
261
+ for (const utr of utrExons) {
262
+ if (utr.min < newExon.max) {
263
+ continue;
264
+ }
265
+ if (utr.min === newExon.max) {
266
+ // UTR begins where exon end: Extend the exon to include this UTR
267
+ newExon.max = utr.max;
268
+ }
269
+ else {
270
+ missingExons.push(utr);
271
+ }
272
+ }
273
+ }
274
+ missingExons.push(newExon);
275
+ }
276
+ }
277
+ }
278
+ const mergedExons = mergeAnnotationFeatures(missingExons);
279
+ return mergedExons;
280
+ }
281
+ function mergeAnnotationFeatures(features) {
282
+ if (features.length === 0) {
283
+ return [];
284
+ }
285
+ features.sort((a, b) => a.min - b.min);
286
+ const res = [];
287
+ res.push(features[0]);
288
+ for (let i = 1; i < features.length; i++) {
289
+ const last = res.at(-1);
290
+ const curr = features[i];
291
+ // If current interval overlaps with the last merged interval, merge them
292
+ if (last && curr.min <= last.max) {
293
+ last.max = Math.max(last.max, curr.max);
294
+ }
295
+ else {
296
+ res.push(curr);
297
+ }
298
+ }
299
+ return res;
300
+ }
154
301
  /**
155
302
  * If a GFF3 file has CDS features that either (1) don't have an ID or (2) have
156
303
  * different IDs for each CDS, we have to do a bit of guessing about how they
@@ -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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"}
@@ -160,6 +160,26 @@ const [ex1, ex2, ex3, ex4] = readFeatureFile('test_data/gene_representations.gff
160
160
  chai_1.assert.equal(txt.match(/_codon/g), null);
161
161
  });
162
162
  });
163
+ (0, node_test_1.describe)('CDS without exons', () => {
164
+ (0, node_test_1.it)('Convert mRNA with CDS but without exon', () => {
165
+ const [gffFeature] = readFeatureFile('test_data/cds_without_exon.gff');
166
+ const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
167
+ const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon.json');
168
+ compareFeatures(actual, expected);
169
+ });
170
+ (0, node_test_1.it)('Convert mRNA with CDS but without exon and spliced UTR', () => {
171
+ const [gffFeature] = readFeatureFile('test_data/cds_without_exon_spliced_utr.gff');
172
+ const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
173
+ const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon_spliced_utr.json');
174
+ compareFeatures(actual, expected);
175
+ });
176
+ (0, node_test_1.it)('Convert mRNA with one CDS, without exons non-adjacent UTR', () => {
177
+ const [gffFeature] = readFeatureFile('test_data/onecds_without_exon_spliced_utr.gff');
178
+ const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
179
+ const expected = readAnnotationFeatureSnapshot('test_data/onecds_without_exon_spliced_utr.json');
180
+ compareFeatures(actual, expected);
181
+ });
182
+ });
163
183
  (0, node_test_1.describe)('gff3ToAnnotationFeature', () => {
164
184
  for (const testCase of testCases) {
165
185
  const [description, featureLine, convertedFeature] = testCase;
@@ -172,4 +192,30 @@ const [ex1, ex2, ex3, ex4] = readFeatureFile('test_data/gene_representations.gff
172
192
  });
173
193
  }
174
194
  });
195
+ (0, node_test_1.describe)('Source and score', () => {
196
+ (0, node_test_1.it)('Convert score and source', () => {
197
+ const gffFeature = [
198
+ {
199
+ seq_id: 'chr1',
200
+ source: 'mySource',
201
+ type: 'gene',
202
+ start: 1000,
203
+ end: 9000,
204
+ score: 0,
205
+ strand: '+',
206
+ phase: null,
207
+ attributes: {
208
+ ID: ['gene10001'],
209
+ Name: ['EDEN'],
210
+ testid: ['t003'],
211
+ },
212
+ child_features: [],
213
+ derived_features: [],
214
+ },
215
+ ];
216
+ const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
217
+ chai_1.assert.deepStrictEqual(actual.attributes?.gff_source?.at(0), 'mySource');
218
+ chai_1.assert.deepStrictEqual(actual.attributes?.gff_score?.at(0), '0');
219
+ });
220
+ });
175
221
  //# sourceMappingURL=gff3ToAnnotationFeature.test.js.map
@@ -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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"}