protvista-uniprot 2.10.0 → 2.10.1
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 +1 -1
- package/src/protvista-ptm-exchange.ts +28 -25
package/package.json
CHANGED
|
@@ -131,35 +131,38 @@ export const transformData = (data: ProteomicsPtm) => {
|
|
|
131
131
|
const absolutePositionToPtms: Record<number, { ptms: PTM[]; aa: string }> =
|
|
132
132
|
{};
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
for (const
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
`Encountered infinite number: +feature.begin + ptm.position - 1 = ${+feature.begin} + ${
|
|
140
|
-
ptm.position
|
|
141
|
-
} - 1`
|
|
142
|
-
);
|
|
143
|
-
// eslint-disable-next-line no-continue
|
|
144
|
-
continue;
|
|
145
|
-
}
|
|
146
|
-
const aa = feature.peptide[ptm.position - 1];
|
|
147
|
-
if (absolutePosition in absolutePositionToPtms) {
|
|
148
|
-
if (absolutePositionToPtms[absolutePosition].aa !== aa) {
|
|
134
|
+
if (features) {
|
|
135
|
+
for (const feature of features) {
|
|
136
|
+
for (const ptm of feature.ptms) {
|
|
137
|
+
const absolutePosition = +feature.begin + ptm.position - 1;
|
|
138
|
+
if (!Number.isFinite(absolutePosition)) {
|
|
149
139
|
console.error(
|
|
150
|
-
`
|
|
140
|
+
`Encountered infinite number: +feature.begin + ptm.position - 1 = ${+feature.begin} + ${
|
|
141
|
+
ptm.position
|
|
142
|
+
} - 1`
|
|
151
143
|
);
|
|
144
|
+
// eslint-disable-next-line no-continue
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const aa = feature.peptide[ptm.position - 1];
|
|
148
|
+
if (absolutePosition in absolutePositionToPtms) {
|
|
149
|
+
if (absolutePositionToPtms[absolutePosition].aa !== aa) {
|
|
150
|
+
console.error(
|
|
151
|
+
`One PTM has different amino acid values: [${absolutePositionToPtms[absolutePosition].aa}, ${aa}]`
|
|
152
|
+
);
|
|
153
|
+
} else {
|
|
154
|
+
absolutePositionToPtms[absolutePosition].ptms.push(ptm);
|
|
155
|
+
}
|
|
152
156
|
} else {
|
|
153
|
-
absolutePositionToPtms[absolutePosition]
|
|
157
|
+
absolutePositionToPtms[absolutePosition] = { ptms: [ptm], aa };
|
|
154
158
|
}
|
|
155
|
-
} else {
|
|
156
|
-
absolutePositionToPtms[absolutePosition] = { ptms: [ptm], aa };
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
161
|
+
|
|
162
|
+
return Object.entries(absolutePositionToPtms).map(
|
|
163
|
+
([absolutePosition, { ptms, aa }]) =>
|
|
164
|
+
convertPtmExchangePtms(ptms, aa, +absolutePosition)
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
return [];
|
|
165
168
|
};
|