p2s_mapper 1.4.0 → 2.1.0
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/README.md +220 -39
- package/dist/alignmentQuality.d.ts +5 -5
- package/dist/alphaFoldModels.d.ts +4 -4
- package/dist/alphaFoldModels.js +4 -4
- package/dist/chooseMappedEntity.d.ts +11 -13
- package/dist/chooseMappedEntity.js +9 -12
- package/dist/chooseMappedEntity.js.map +1 -1
- package/dist/coordinates.d.ts +19 -19
- package/dist/coordinates.js.map +1 -1
- package/dist/dbIds.d.ts +1 -2
- package/dist/extractPerResidueConfidence.d.ts +1 -2
- package/dist/extractStructureSequences.d.ts +26 -34
- package/dist/extractStructureSequences.js +2 -2
- package/dist/extractStructureSequences.js.map +1 -1
- package/dist/fetchUtils.d.ts +7 -7
- package/dist/fetchUtils.js +26 -8
- package/dist/fetchUtils.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/isoformRanking.d.ts +4 -1
- package/dist/mappings.d.ts +9 -12
- package/dist/mappings.js +4 -5
- package/dist/mappings.js.map +1 -1
- package/dist/pairwiseAlignment.d.ts +5 -4
- package/dist/pairwiseAlignment.js +9 -7
- package/dist/pairwiseAlignment.js.map +1 -1
- package/dist/pdbEntry.d.ts +32 -0
- package/dist/pdbEntry.js +182 -0
- package/dist/pdbEntry.js.map +1 -0
- package/dist/pdbUniProtMapping.d.ts +14 -39
- package/dist/pdbUniProtMapping.js +22 -140
- package/dist/pdbUniProtMapping.js.map +1 -1
- package/dist/structureFormat.d.ts +11 -18
- package/dist/structureFormat.js +4 -6
- package/dist/structureFormat.js.map +1 -1
- package/dist/structureSources.d.ts +37 -13
- package/dist/structureSources.js +144 -57
- package/dist/structureSources.js.map +1 -1
- package/dist/structureUrls.d.ts +13 -16
- package/dist/structureUrls.js +25 -23
- package/dist/structureUrls.js.map +1 -1
- package/dist/types.d.ts +2 -5
- package/dist/types.js +2 -5
- package/dist/types.js.map +1 -1
- package/dist/uniProtSearch.js +3 -8
- package/dist/uniProtSearch.js.map +1 -1
- package/esm/alignmentQuality.d.ts +5 -5
- package/esm/alphaFoldModels.d.ts +4 -4
- package/esm/alphaFoldModels.js +4 -4
- package/esm/chooseMappedEntity.d.ts +11 -13
- package/esm/chooseMappedEntity.js +9 -12
- package/esm/chooseMappedEntity.js.map +1 -1
- package/esm/coordinates.d.ts +19 -19
- package/esm/coordinates.js.map +1 -1
- package/esm/dbIds.d.ts +1 -2
- package/esm/extractPerResidueConfidence.d.ts +1 -2
- package/esm/extractStructureSequences.d.ts +26 -34
- package/esm/extractStructureSequences.js +2 -2
- package/esm/extractStructureSequences.js.map +1 -1
- package/esm/fetchUtils.d.ts +7 -7
- package/esm/fetchUtils.js +26 -8
- package/esm/fetchUtils.js.map +1 -1
- package/esm/index.d.ts +1 -3
- package/esm/index.js +2 -4
- package/esm/index.js.map +1 -1
- package/esm/isoformRanking.d.ts +4 -1
- package/esm/mappings.d.ts +9 -12
- package/esm/mappings.js +4 -5
- package/esm/mappings.js.map +1 -1
- package/esm/pairwiseAlignment.d.ts +5 -4
- package/esm/pairwiseAlignment.js +7 -5
- package/esm/pairwiseAlignment.js.map +1 -1
- package/esm/pdbEntry.d.ts +32 -0
- package/esm/pdbEntry.js +174 -0
- package/esm/pdbEntry.js.map +1 -0
- package/esm/pdbUniProtMapping.d.ts +14 -39
- package/esm/pdbUniProtMapping.js +22 -137
- package/esm/pdbUniProtMapping.js.map +1 -1
- package/esm/structureFormat.d.ts +11 -18
- package/esm/structureFormat.js +4 -6
- package/esm/structureFormat.js.map +1 -1
- package/esm/structureSources.d.ts +37 -13
- package/esm/structureSources.js +139 -55
- package/esm/structureSources.js.map +1 -1
- package/esm/structureUrls.d.ts +13 -16
- package/esm/structureUrls.js +23 -23
- package/esm/structureUrls.js.map +1 -1
- package/esm/types.d.ts +2 -5
- package/esm/types.js +2 -5
- package/esm/types.js.map +1 -1
- package/esm/uniProtSearch.js +3 -8
- package/esm/uniProtSearch.js.map +1 -1
- package/package.json +3 -2
- package/src/alignmentQuality.ts +5 -5
- package/src/alphaFoldModels.ts +4 -4
- package/src/chooseMappedEntity.ts +12 -15
- package/src/coordinates.ts +14 -17
- package/src/dbIds.ts +1 -1
- package/src/extractPerResidueConfidence.ts +1 -1
- package/src/extractStructureSequences.ts +26 -33
- package/src/fetchUtils.ts +30 -8
- package/src/index.ts +2 -4
- package/src/isoformRanking.ts +4 -4
- package/src/mappings.ts +9 -12
- package/src/pairwiseAlignment.ts +12 -9
- package/src/pdbEntry.ts +240 -0
- package/src/pdbUniProtMapping.ts +25 -164
- package/src/structureFormat.ts +11 -18
- package/src/structureSources.ts +194 -70
- package/src/structureUrls.ts +25 -23
- package/src/types.ts +2 -5
- package/src/uniProtSearch.ts +3 -8
- package/dist/pdbeBestStructures.d.ts +0 -23
- package/dist/pdbeBestStructures.js +0 -79
- package/dist/pdbeBestStructures.js.map +0 -1
- package/dist/pdbeEntryMolecules.d.ts +0 -7
- package/dist/pdbeEntryMolecules.js +0 -39
- package/dist/pdbeEntryMolecules.js.map +0 -1
- package/dist/siftsNumbering.d.ts +0 -23
- package/dist/siftsNumbering.js +0 -44
- package/dist/siftsNumbering.js.map +0 -1
- package/esm/pdbeBestStructures.d.ts +0 -23
- package/esm/pdbeBestStructures.js +0 -73
- package/esm/pdbeBestStructures.js.map +0 -1
- package/esm/pdbeEntryMolecules.d.ts +0 -7
- package/esm/pdbeEntryMolecules.js +0 -35
- package/esm/pdbeEntryMolecules.js.map +0 -1
- package/esm/siftsNumbering.d.ts +0 -23
- package/esm/siftsNumbering.js +0 -40
- package/esm/siftsNumbering.js.map +0 -1
- package/src/pdbeBestStructures.ts +0 -94
- package/src/pdbeEntryMolecules.ts +0 -37
- package/src/siftsNumbering.ts +0 -61
package/esm/alphaFoldModels.js
CHANGED
|
@@ -43,11 +43,11 @@ export async function fetchAlphaFoldModels(uniprotId, opts) {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* The model to open for a gene's transcripts: one folded from exactly a
|
|
46
|
-
* transcript's translation, canonical first, so
|
|
47
|
-
*
|
|
46
|
+
* transcript's translation, canonical first, so every residue maps to itself;
|
|
47
|
+
* else the canonical model; else the longest isoform model.
|
|
48
48
|
*
|
|
49
|
-
* Takes any record of sequences, since
|
|
50
|
-
*
|
|
49
|
+
* Takes any record of sequences, since a caller may know one translation rather
|
|
50
|
+
* than a gene's isoforms.
|
|
51
51
|
*/
|
|
52
52
|
export function pickAlphaFoldModel(models, isoformSequences) {
|
|
53
53
|
const translations = new Set(Object.values(isoformSequences ?? {}).map(v => stripStopCodon(v.seq)));
|
|
@@ -9,12 +9,12 @@ import type { AlignmentAlgorithm } from './types.ts';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function interactionMatchesMappedEntity(entityId: string, mappedEntityId: string | undefined): boolean;
|
|
11
11
|
export interface EntitySelection extends ScoredAlignment {
|
|
12
|
-
/** index
|
|
12
|
+
/** index of the chosen entity in the candidate array */
|
|
13
13
|
index: number;
|
|
14
14
|
}
|
|
15
15
|
export interface ScoredAlignment {
|
|
16
|
-
/** alignment of the transcript against the entity
|
|
17
|
-
*
|
|
16
|
+
/** alignment of the transcript against the entity, with stop codons
|
|
17
|
+
* stripped from both */
|
|
18
18
|
alignment: PairwiseAlignment;
|
|
19
19
|
/** identical aligned residues */
|
|
20
20
|
matches: number;
|
|
@@ -39,17 +39,15 @@ export declare function explainedFraction(matches: number, transcriptLength: num
|
|
|
39
39
|
*/
|
|
40
40
|
export declare function alignTranscriptToEntity(transcript: string, entitySeq: string, algorithm: AlignmentAlgorithm): ScoredAlignment | undefined;
|
|
41
41
|
/**
|
|
42
|
-
* Pick
|
|
42
|
+
* Pick the polymer entity of a structure that is the transcript's protein.
|
|
43
43
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* sequence (see `explainedFraction`). Nucleic-acid entities are never
|
|
50
|
-
* candidates.
|
|
44
|
+
* Taking entity `[0]` mis-maps every heteromeric, protein-DNA or
|
|
45
|
+
* processed-peptide structure where the protein is another chain. An exact
|
|
46
|
+
* sequence match wins outright; otherwise the entity with the highest identity
|
|
47
|
+
* over the shorter sequence wins (see `explainedFraction`). Nucleic-acid
|
|
48
|
+
* entities are never candidates.
|
|
51
49
|
*
|
|
52
|
-
* Returns `undefined` only when there is nothing to map
|
|
53
|
-
* protein
|
|
50
|
+
* Returns `undefined` only when there is nothing to map: no transcript, or no
|
|
51
|
+
* protein entity. It never falls back to another entity.
|
|
54
52
|
*/
|
|
55
53
|
export declare function chooseMappedEntity(transcript: string, entities: readonly (string | EntityCandidate)[], algorithm: AlignmentAlgorithm): EntitySelection | undefined;
|
|
@@ -19,8 +19,7 @@ export function interactionMatchesMappedEntity(entityId, mappedEntityId) {
|
|
|
19
19
|
* usually is: on 1H26 the 11-residue p53 peptide matches 11 while CDK2 accrues
|
|
20
20
|
* 58 scattered identities, and on 4ZZJ SIRT1 beats the 7-residue p53 peptide
|
|
21
21
|
* 63 to 6. The Smith-Waterman score is no better there (56 vs 58). Dividing
|
|
22
|
-
* by length
|
|
23
|
-
* gene's product: the peptide scores 0.69 and 0.50, the partners 0.19 and
|
|
22
|
+
* by the shorter length identifies the chain that *is* this gene's product: the peptide scores 0.69 and 0.50, the partners 0.19 and
|
|
24
23
|
* 0.17, and across a ribosome's 55 chains no decoy passes 0.29.
|
|
25
24
|
*
|
|
26
25
|
* Dividing by the *entity's* length alone penalised a fusion construct: a
|
|
@@ -85,18 +84,16 @@ export function alignTranscriptToEntity(transcript, entitySeq, algorithm) {
|
|
|
85
84
|
};
|
|
86
85
|
}
|
|
87
86
|
/**
|
|
88
|
-
* Pick
|
|
87
|
+
* Pick the polymer entity of a structure that is the transcript's protein.
|
|
89
88
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
* sequence (see `explainedFraction`). Nucleic-acid entities are never
|
|
96
|
-
* candidates.
|
|
89
|
+
* Taking entity `[0]` mis-maps every heteromeric, protein-DNA or
|
|
90
|
+
* processed-peptide structure where the protein is another chain. An exact
|
|
91
|
+
* sequence match wins outright; otherwise the entity with the highest identity
|
|
92
|
+
* over the shorter sequence wins (see `explainedFraction`). Nucleic-acid
|
|
93
|
+
* entities are never candidates.
|
|
97
94
|
*
|
|
98
|
-
* Returns `undefined` only when there is nothing to map
|
|
99
|
-
* protein
|
|
95
|
+
* Returns `undefined` only when there is nothing to map: no transcript, or no
|
|
96
|
+
* protein entity. It never falls back to another entity.
|
|
100
97
|
*/
|
|
101
98
|
export function chooseMappedEntity(transcript, entities, algorithm) {
|
|
102
99
|
const t = stripStopCodon(transcript);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chooseMappedEntity.js","sourceRoot":"","sources":["../src/chooseMappedEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,SAAS,GACV,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAKzE;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAgB,EAChB,cAAkC;IAElC,OAAO,cAAc,KAAK,SAAS,IAAI,QAAQ,KAAK,cAAc,CAAA;AACpE,CAAC;AA2BD
|
|
1
|
+
{"version":3,"file":"chooseMappedEntity.js","sourceRoot":"","sources":["../src/chooseMappedEntity.ts"],"names":[],"mappings":"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"}
|
package/esm/coordinates.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import type { PairwiseAlignment } from './mappings.ts';
|
|
2
2
|
/**
|
|
3
|
-
* Branded coordinate spaces. Every position
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
* boundaries where raw numbers enter (molstar picks, hover events, features).
|
|
3
|
+
* Branded coordinate spaces. Every position is a plain `number` at runtime, but
|
|
4
|
+
* a structure residue index, a transcript residue index and an alignment column
|
|
5
|
+
* mean different things, and mixing them causes off-by-one bugs. The brands
|
|
6
|
+
* make the compiler reject mixing; wrap a raw number with the helpers below
|
|
7
|
+
* where it enters, such as a molstar pick, a hover event or a feature.
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* All are 0-based. StructurePos indexes the ungapped structure sequence,
|
|
10
|
+
* TranscriptPos the ungapped transcript sequence, and AlignmentCol a column of
|
|
11
|
+
* the pairwise alignment, gaps included.
|
|
13
12
|
*/
|
|
14
|
-
type
|
|
15
|
-
readonly __brand:
|
|
13
|
+
export type StructurePos = number & {
|
|
14
|
+
readonly __brand: 'StructurePos';
|
|
15
|
+
};
|
|
16
|
+
export type TranscriptPos = number & {
|
|
17
|
+
readonly __brand: 'TranscriptPos';
|
|
18
|
+
};
|
|
19
|
+
export type AlignmentCol = number & {
|
|
20
|
+
readonly __brand: 'AlignmentCol';
|
|
16
21
|
};
|
|
17
|
-
export type StructurePos = Branded<'StructurePos'>;
|
|
18
|
-
export type TranscriptPos = Branded<'TranscriptPos'>;
|
|
19
|
-
export type AlignmentCol = Branded<'AlignmentCol'>;
|
|
20
22
|
export declare const structurePos: (n: number) => StructurePos;
|
|
21
23
|
export declare const transcriptPos: (n: number) => TranscriptPos;
|
|
22
24
|
export declare const alignmentCol: (n: number) => AlignmentCol;
|
|
@@ -36,10 +38,9 @@ export interface CoordinateMapper {
|
|
|
36
38
|
transcriptToAlignment: (p: TranscriptPos) => AlignmentCol | undefined;
|
|
37
39
|
alignmentToTranscript: (c: AlignmentCol) => TranscriptPos | undefined;
|
|
38
40
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* point conversions.
|
|
41
|
+
* The lookup tables as plain numbers, for code that iterates a whole map,
|
|
42
|
+
* such as drawing a per-residue track or selecting every aligned residue.
|
|
43
|
+
* Use the typed methods above to convert one position.
|
|
43
44
|
*/
|
|
44
45
|
readonly maps: CoordinateMaps;
|
|
45
46
|
}
|
|
@@ -63,4 +64,3 @@ export declare function transcriptRangeToStructureRange(mapper: CoordinateMapper
|
|
|
63
64
|
start: number;
|
|
64
65
|
end: number;
|
|
65
66
|
} | undefined;
|
|
66
|
-
export {};
|
package/esm/coordinates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinates.js","sourceRoot":"","sources":["../src/coordinates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"coordinates.js","sourceRoot":"","sources":["../src/coordinates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAmB1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAiB,CAAA;AAC5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAkB,CAAA;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAiB,CAAA;AA0B5D;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,iBAAoC;IAEpC,MAAM,EACJ,mCAAmC,EACnC,mCAAmC,GACpC,GAAG,8BAA8B,CAAC,iBAAiB,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,+BAA+B,CAAC,iBAAiB,CAAC,CAAA;IAChE,MAAM,KAAK,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,CAAA;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAE9B,uEAAuE;IACvE,6EAA6E;IAC7E,sEAAsE;IACtE,OAAO;QACL,qBAAqB,EAAE,CAAC,CAAC,EAAE,CACzB,mCAAmC,CAAC,CAAC,CAA8B;QACrE,qBAAqB,EAAE,CAAC,CAAC,EAAE,CACzB,mCAAmC,CAAC,CAAC,CAA6B;QACpE,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAA6B;QAC/D,oBAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAA6B;QAC/D,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAA6B;QAChE,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAA8B;QACjE,IAAI,EAAE;YACJ,mCAAmC;YACnC,mCAAmC;YACnC,+BAA+B,EAAE,KAAK;YACtC,gCAAgC,EAAE,KAAK;YACvC,4BAA4B,EAAE,KAAK;YACnC,6BAA6B,EAAE,KAAK;SACrC;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,MAAwB,EACxB,KAAqC;IAErC,IAAI,KAAyB,CAAA;IAC7B,IAAI,IAAwB,CAAA;IAC5B,KAAK,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;QACpE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACxD,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAC9C,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,CAAA;AACrC,CAAC"}
|
package/esm/dbIds.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type DbType = 'ensembl' | 'refseq' | 'ccds' | 'hgnc' | 'geneid';
|
|
1
|
+
export type DbType = 'ensembl' | 'refseq' | 'ccds' | 'hgnc' | 'geneid';
|
|
2
2
|
export declare function matchDbIdPattern(id: string): {
|
|
3
3
|
db: DbType;
|
|
4
4
|
pattern: RegExp;
|
|
@@ -13,4 +13,3 @@ export declare function getDbIdLabel(id: string): string;
|
|
|
13
13
|
* "xref:ensembl-ENST00000123". HGNC strips its redundant "HGNC:" prefix. */
|
|
14
14
|
export declare function buildUniProtXrefQuery(id: string): string | undefined;
|
|
15
15
|
export declare function stripTrailingVersion(s?: string): string | undefined;
|
|
16
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface ConfidenceModel {
|
|
1
|
+
export interface ConfidenceModel {
|
|
2
2
|
obj?: {
|
|
3
3
|
data: {
|
|
4
4
|
atomicConformation: {
|
|
@@ -46,4 +46,3 @@ export declare function extractPerResidueConfidence(model: ConfidenceModel): Ent
|
|
|
46
46
|
* indicate the track wouldn't be meaningful as confidence.
|
|
47
47
|
*/
|
|
48
48
|
export declare function looksLikePlddt(values: number[] | undefined): values is number[];
|
|
49
|
-
export {};
|
|
@@ -1,49 +1,42 @@
|
|
|
1
1
|
/** A polymer entity of a loaded structure: its mmCIF entity id, its one-letter
|
|
2
|
-
* sequence, and the molstar `label_seq_id` of each
|
|
2
|
+
* sequence, and the molstar `label_seq_id` of each residue.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Structure positions are 0-based indices into `seq`, and molstar selects
|
|
5
|
+
* residues by `label_seq_id`. The two differ by 1 only when the entity's
|
|
6
|
+
* sequence covers every residue from 1, which holds for any mmCIF with an
|
|
7
|
+
* `entity_poly_seq` category (all of RCSB and AlphaFold) and for a PDB file
|
|
8
|
+
* with SEQRES records, from which molstar builds that category.
|
|
6
9
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* residues
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* carrying SEQRES records, because molstar synthesizes the category from them.
|
|
13
|
-
*
|
|
14
|
-
* A PDB-format file with no SEQRES has no such category, so molstar falls back
|
|
15
|
-
* to `StructureSequence.fromHierarchy` and takes `label_seq_id` straight from
|
|
16
|
-
* the observed residues' author numbering: a chain whose coordinates start at
|
|
17
|
-
* residue 94 yields seqIds 94.., and an unobserved loop leaves a hole. Deriving
|
|
18
|
-
* the id arithmetically there is off by the whole offset, in both directions —
|
|
19
|
-
* every hover reads the wrong residue and every highlight paints the wrong one.
|
|
20
|
-
* So carry the real ids and convert through them.
|
|
10
|
+
* For a PDB file without SEQRES, molstar falls back to
|
|
11
|
+
* `StructureSequence.fromHierarchy` and takes `label_seq_id` from the observed
|
|
12
|
+
* residues' author numbering: a chain whose coordinates start at residue 94 has
|
|
13
|
+
* seqIds 94.., and an unobserved loop leaves a gap. Adding 1 there is off by the
|
|
14
|
+
* whole offset, in both directions, so convert through `seqIds`.
|
|
21
15
|
*/
|
|
22
16
|
export interface Entity {
|
|
17
|
+
/** mmCIF entity id */
|
|
23
18
|
entityId: string;
|
|
19
|
+
/** one letter per residue, observed or not */
|
|
24
20
|
seq: string;
|
|
21
|
+
/** molstar `label_seq_id` per position of `seq` */
|
|
25
22
|
seqIds: number[];
|
|
26
|
-
/** author chain ids
|
|
27
|
-
*
|
|
28
|
-
* molstar's own bookkeeping */
|
|
23
|
+
/** author chain ids of this entity, e.g. ['A', 'B'] for a homodimer, as
|
|
24
|
+
* the PDB entry page lists them */
|
|
29
25
|
chains: string[];
|
|
30
|
-
/** DNA, RNA or a hybrid, by molstar's entity subtype.
|
|
31
|
-
*
|
|
32
|
-
* out of the transcript alignment rather than merely scoring low. */
|
|
26
|
+
/** DNA, RNA or a hybrid, by molstar's entity subtype. A, C, G, T and U
|
|
27
|
+
* are amino-acid letters too, so chooseMappedEntity skips these. */
|
|
33
28
|
nucleicAcid?: boolean;
|
|
34
|
-
/** `auth_seq_id` per position: the
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* is addressed through `seqIds`. Absent when the model has no atomic
|
|
39
|
-
* hierarchy to read it from. See `residueNumber`. */
|
|
29
|
+
/** `auth_seq_id` per position: the depositors' numbering, which papers cite
|
|
30
|
+
* (1TUP's position 154 is R248) and Mol*'s hover shows. For display only;
|
|
31
|
+
* use `seqIds` to select residues in Mol*. Absent when the model has no
|
|
32
|
+
* atomic hierarchy. See `residueNumber`. */
|
|
40
33
|
authSeqIds?: number[];
|
|
41
34
|
}
|
|
42
|
-
interface Column<T> {
|
|
35
|
+
export interface Column<T> {
|
|
43
36
|
rowCount: number;
|
|
44
37
|
value(row: number): T;
|
|
45
38
|
}
|
|
46
|
-
interface StructureModel {
|
|
39
|
+
export interface StructureModel {
|
|
47
40
|
obj?: {
|
|
48
41
|
data: {
|
|
49
42
|
entities?: {
|
|
@@ -123,8 +116,8 @@ export declare function oneLetterSequence(codes: ArrayLike<string>, canonical: s
|
|
|
123
116
|
export declare function extractEntities(model: StructureModel): Entity[] | undefined;
|
|
124
117
|
/** A user-facing name for an entity: its chains when known, else its id. */
|
|
125
118
|
export declare function entityLabel(entity: Entity): string;
|
|
126
|
-
/** The protein chains' sequences, for
|
|
127
|
-
*
|
|
119
|
+
/** The protein chains' sequences, for ranking isoforms against a structure.
|
|
120
|
+
* DNA chains are left out, because their letters align as amino acids. */
|
|
128
121
|
export declare function extractStructureSequences(model: StructureModel): string[] | undefined;
|
|
129
122
|
/**
|
|
130
123
|
* The molstar `label_seq_id`s for a set of 0-based structure positions. Unknown
|
|
@@ -139,4 +132,3 @@ export declare function rangeToLabelSeqIds(entity: Entity | undefined, range: {
|
|
|
139
132
|
} | undefined): number[];
|
|
140
133
|
/** Reverse of `seqIds`: molstar's label_seq_id -> 0-based structure position. */
|
|
141
134
|
export declare function makeLabelSeqIdIndex(entity: Entity | undefined): Map<number, number>;
|
|
142
|
-
export {};
|
|
@@ -157,8 +157,8 @@ export function entityLabel(entity) {
|
|
|
157
157
|
: `Entity ${entity.entityId}`;
|
|
158
158
|
return `${chains} (${entity.seq.length} ${entity.nucleicAcid ? 'nt' : 'aa'})`;
|
|
159
159
|
}
|
|
160
|
-
/** The protein chains' sequences, for
|
|
161
|
-
*
|
|
160
|
+
/** The protein chains' sequences, for ranking isoforms against a structure.
|
|
161
|
+
* DNA chains are left out, because their letters align as amino acids. */
|
|
162
162
|
export function extractStructureSequences(model) {
|
|
163
163
|
return extractEntities(model)
|
|
164
164
|
?.filter(e => !e.nucleicAcid)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractStructureSequences.js","sourceRoot":"","sources":["../src/extractStructureSequences.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extractStructureSequences.js","sourceRoot":"","sources":["../src/extractStructureSequences.ts"],"names":[],"mappings":"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"}
|
package/esm/fetchUtils.d.ts
CHANGED
|
@@ -12,9 +12,9 @@ export declare class HttpError extends Error {
|
|
|
12
12
|
* not. */
|
|
13
13
|
export declare function isDefinitiveFailure(e: unknown): boolean;
|
|
14
14
|
/**
|
|
15
|
-
* The error a failed response
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* The error for a failed response: status and host, plus at most the first line
|
|
16
|
+
* of the body. A whole body is an HTML error page or a megabyte of JSON, which
|
|
17
|
+
* hides the line that says what went wrong.
|
|
18
18
|
*/
|
|
19
19
|
export declare function httpError(response: Response, url: string): Promise<HttpError>;
|
|
20
20
|
/**
|
|
@@ -38,10 +38,10 @@ export declare function rawfetch(url: string, args?: FetchOptions): Promise<Resp
|
|
|
38
38
|
export declare function myfetch(url: string, args?: FetchOptions): Promise<Response>;
|
|
39
39
|
export declare function jsonfetch<T = unknown>(url: string, args?: FetchOptions): Promise<T>;
|
|
40
40
|
/**
|
|
41
|
-
* An AbortSignal's reason as a real Error. `signal.reason` is `any
|
|
42
|
-
* DOMException, but a caller can abort with
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* An AbortSignal's reason as a real Error. `signal.reason` is `any`, usually a
|
|
42
|
+
* DOMException, but a caller can abort with any value, and throwing a non-Error
|
|
43
|
+
* loses the stack and breaks `instanceof Error` checks. Use it at every throw
|
|
44
|
+
* site.
|
|
45
45
|
*/
|
|
46
46
|
export declare function abortError(signal: AbortSignal): Error;
|
|
47
47
|
export declare function timeout(time: number, signal?: AbortSignal): Promise<void>;
|
package/esm/fetchUtils.js
CHANGED
|
@@ -31,9 +31,9 @@ export function isDefinitiveFailure(e) {
|
|
|
31
31
|
return e instanceof HttpError && e.status >= 400 && e.status < 500;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* The error a failed response
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* The error for a failed response: status and host, plus at most the first line
|
|
35
|
+
* of the body. A whole body is an HTML error page or a megabyte of JSON, which
|
|
36
|
+
* hides the line that says what went wrong.
|
|
37
37
|
*/
|
|
38
38
|
export async function httpError(response, url) {
|
|
39
39
|
const detail = firstLine(await response.text().catch(() => ''));
|
|
@@ -51,10 +51,28 @@ export function networkError(url, cause) {
|
|
|
51
51
|
? new Error(`Could not reach ${hostOf(url)}. Check your network connection; the server may also be refusing cross-origin requests from this page.`, { cause })
|
|
52
52
|
: cause;
|
|
53
53
|
}
|
|
54
|
+
const USER_AGENT = 'p2s_mapper (+https://github.com/GMOD/p2s_mapper)';
|
|
55
|
+
/**
|
|
56
|
+
* AlphaFold's prediction API answers 403 to `node`, the user agent Node's fetch
|
|
57
|
+
* sends (measured 2026-10-11), so outside a browser every request names this
|
|
58
|
+
* package unless the caller named something else. A browser sends its own, and
|
|
59
|
+
* a script-set one would cost a CORS preflight on every call.
|
|
60
|
+
*/
|
|
61
|
+
function withUserAgent(init) {
|
|
62
|
+
if (typeof navigator !== 'undefined' &&
|
|
63
|
+
navigator.userAgent.startsWith('Mozilla')) {
|
|
64
|
+
return init;
|
|
65
|
+
}
|
|
66
|
+
const headers = new Headers(init.headers);
|
|
67
|
+
if (!headers.has('user-agent')) {
|
|
68
|
+
headers.set('user-agent', USER_AGENT);
|
|
69
|
+
}
|
|
70
|
+
return { ...init, headers };
|
|
71
|
+
}
|
|
54
72
|
export async function rawfetch(url, args) {
|
|
55
73
|
const { fetch: f = globalThis.fetch, ...init } = args ?? {};
|
|
56
74
|
try {
|
|
57
|
-
return await f(url, init);
|
|
75
|
+
return await f(url, withUserAgent(init));
|
|
58
76
|
}
|
|
59
77
|
catch (e) {
|
|
60
78
|
throw networkError(url, e);
|
|
@@ -74,10 +92,10 @@ export async function jsonfetch(url, args) {
|
|
|
74
92
|
return response.json();
|
|
75
93
|
}
|
|
76
94
|
/**
|
|
77
|
-
* An AbortSignal's reason as a real Error. `signal.reason` is `any
|
|
78
|
-
* DOMException, but a caller can abort with
|
|
79
|
-
*
|
|
80
|
-
*
|
|
95
|
+
* An AbortSignal's reason as a real Error. `signal.reason` is `any`, usually a
|
|
96
|
+
* DOMException, but a caller can abort with any value, and throwing a non-Error
|
|
97
|
+
* loses the stack and breaks `instanceof Error` checks. Use it at every throw
|
|
98
|
+
* site.
|
|
81
99
|
*/
|
|
82
100
|
export function abortError(signal) {
|
|
83
101
|
return signal.reason instanceof Error
|
package/esm/fetchUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUtils.js","sourceRoot":"","sources":["../src/fetchUtils.ts"],"names":[],"mappings":"AAAA,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACjD,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,MAAM,CAAQ;IAEvB,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED;;UAEU;AACV,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,GAAW;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,QAAQ,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACnH,OAAO,IAAI,SAAS,CAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EACxC,QAAQ,CAAC,MAAM,CAChB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAAc;IACtD,OAAO,KAAK,YAAY,SAAS;QAC/B,CAAC,CAAC,IAAI,KAAK,CACP,mBAAmB,MAAM,CAAC,GAAG,CAAC,wGAAwG,EACtI,EAAE,KAAK,EAAE,CACV;QACH,CAAC,CAAC,KAAK,CAAA;AACX,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAmB;IAC7D,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"fetchUtils.js","sourceRoot":"","sources":["../src/fetchUtils.ts"],"names":[],"mappings":"AAAA,SAAS,MAAM,CAAC,GAAW;IACzB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,GAAG,CAAA;AAEtB,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACjD,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,MAAM,CAAQ;IAEvB,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED;;UAEU;AACV,MAAM,UAAU,mBAAmB,CAAC,CAAU;IAC5C,OAAO,CAAC,YAAY,SAAS,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAA;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAkB,EAAE,GAAW;IAC7D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,QAAQ,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IACnH,OAAO,IAAI,SAAS,CAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EACxC,QAAQ,CAAC,MAAM,CAChB,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,KAAc;IACtD,OAAO,KAAK,YAAY,SAAS;QAC/B,CAAC,CAAC,IAAI,KAAK,CACP,mBAAmB,MAAM,CAAC,GAAG,CAAC,wGAAwG,EACtI,EAAE,KAAK,EAAE,CACV;QACH,CAAC,CAAC,KAAK,CAAA;AACX,CAAC;AAaD,MAAM,UAAU,GAAG,kDAAkD,CAAA;AAErE;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAiB;IACtC,IACE,OAAO,SAAS,KAAK,WAAW;QAChC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACvC,CAAC;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAmB;IAC7D,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAmB;IAC5D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAE1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAW,EACX,IAAmB;IAEnB,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAA+B,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACrE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAmB;IAC5C,OAAO,MAAM,CAAC,MAAM,YAAY,KAAK;QACnC,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,MAAoB;IACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACpC,MAAM,EAAE,gBAAgB,CACtB,OAAO,EACP,GAAG,EAAE;gBACH,YAAY,CAAC,EAAE,CAAC,CAAA;gBAChB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5B,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/esm/index.d.ts
CHANGED
|
@@ -11,10 +11,8 @@ export * from './extractStructureSequences.ts';
|
|
|
11
11
|
export * from './extractPerResidueConfidence.ts';
|
|
12
12
|
export * from './isoformRanking.ts';
|
|
13
13
|
export * from './pdbUniProtMapping.ts';
|
|
14
|
-
export * from './
|
|
14
|
+
export * from './pdbEntry.ts';
|
|
15
15
|
export * from './alphaFoldModels.ts';
|
|
16
|
-
export * from './pdbeBestStructures.ts';
|
|
17
|
-
export * from './pdbeEntryMolecules.ts';
|
|
18
16
|
export * from './structureSources.ts';
|
|
19
17
|
export * from './uniProtSearch.ts';
|
|
20
18
|
export * from './dbIds.ts';
|
package/esm/index.js
CHANGED
|
@@ -13,13 +13,11 @@ export * from "./chooseMappedEntity.js";
|
|
|
13
13
|
export * from "./extractStructureSequences.js";
|
|
14
14
|
export * from "./extractPerResidueConfidence.js";
|
|
15
15
|
export * from "./isoformRanking.js";
|
|
16
|
-
//
|
|
16
|
+
// UniProt mapping
|
|
17
17
|
export * from "./pdbUniProtMapping.js";
|
|
18
|
-
export * from "./
|
|
18
|
+
export * from "./pdbEntry.js";
|
|
19
19
|
// Structure sources
|
|
20
20
|
export * from "./alphaFoldModels.js";
|
|
21
|
-
export * from "./pdbeBestStructures.js";
|
|
22
|
-
export * from "./pdbeEntryMolecules.js";
|
|
23
21
|
export * from "./structureSources.js";
|
|
24
22
|
export * from "./uniProtSearch.js";
|
|
25
23
|
export * from "./dbIds.js";
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAEpC,cAAc;AACd,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AAEnC,eAAe;AACf,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,qBAAqB,CAAA;AAEnC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AAEpC,cAAc;AACd,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AAEnC,eAAe;AACf,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,kCAAkC,CAAA;AAChD,cAAc,qBAAqB,CAAA;AAEnC,kBAAkB;AAClB,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAE7B,oBAAoB;AACpB,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAE1B,mBAAmB;AACnB,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA"}
|
package/esm/isoformRanking.d.ts
CHANGED
|
@@ -10,12 +10,15 @@ export interface RankedIsoform {
|
|
|
10
10
|
/** identical residues against the structure, for an isoform that does not
|
|
11
11
|
* match it exactly; undefined with no structure to compare to */
|
|
12
12
|
identical?: number;
|
|
13
|
-
/** that alignment's score, which
|
|
13
|
+
/** that alignment's score, which ranks the non-matching isoforms */
|
|
14
14
|
score?: number;
|
|
15
15
|
}
|
|
16
16
|
export interface ClassifiedIsoforms {
|
|
17
|
+
/** translates to exactly the structure's sequence, longest first */
|
|
17
18
|
matches: RankedIsoform[];
|
|
19
|
+
/** translates to something else, best-aligning first */
|
|
18
20
|
nonMatches: RankedIsoform[];
|
|
21
|
+
/** ids of the isoforms with no translation */
|
|
19
22
|
noData: string[];
|
|
20
23
|
}
|
|
21
24
|
/**
|
package/esm/mappings.d.ts
CHANGED
|
@@ -3,13 +3,11 @@ export interface AlignmentRow {
|
|
|
3
3
|
seq: string;
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
|
-
* A two-row alignment
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* every coordinate map. Read the rows through the accessors below rather than
|
|
12
|
-
* indexing, so a call site states which sequence it means.
|
|
6
|
+
* A two-row alignment: row 0 is the transcript and row 1 is the structure.
|
|
7
|
+
* alignSequences takes them in that order and every consumer depends on it,
|
|
8
|
+
* but the type cannot enforce it, and swapped rows invert every coordinate map
|
|
9
|
+
* without an error. Read the rows with the accessors below, so a call site
|
|
10
|
+
* names the sequence it means.
|
|
13
11
|
*/
|
|
14
12
|
export interface PairwiseAlignment {
|
|
15
13
|
consensus: string;
|
|
@@ -21,11 +19,10 @@ export declare const structureAlignedSeq: (pa: PairwiseAlignment) => string;
|
|
|
21
19
|
* `pairwiseAlignmentProblem` is what guarantees it. */
|
|
22
20
|
export declare const alignmentLength: (pa: PairwiseAlignment) => number;
|
|
23
21
|
/**
|
|
24
|
-
* Why a pairwise alignment can't be used, or undefined if it's usable.
|
|
25
|
-
* rows must
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* report it; the internal map builders assert on it.
|
|
22
|
+
* Why a pairwise alignment can't be used, or undefined if it's usable. Both
|
|
23
|
+
* rows must have the same non-zero length, because every coordinate map walks
|
|
24
|
+
* them in step. Check an alignment from outside the package with this; the
|
|
25
|
+
* internal map builders throw on it.
|
|
29
26
|
*/
|
|
30
27
|
export declare function pairwiseAlignmentProblem(pa: PairwiseAlignment): string | undefined;
|
|
31
28
|
/**
|
package/esm/mappings.js
CHANGED
|
@@ -5,11 +5,10 @@ export const structureAlignedSeq = (pa) => pa.alns[1].seq;
|
|
|
5
5
|
* `pairwiseAlignmentProblem` is what guarantees it. */
|
|
6
6
|
export const alignmentLength = (pa) => transcriptAlignedSeq(pa).length;
|
|
7
7
|
/**
|
|
8
|
-
* Why a pairwise alignment can't be used, or undefined if it's usable.
|
|
9
|
-
* rows must
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* report it; the internal map builders assert on it.
|
|
8
|
+
* Why a pairwise alignment can't be used, or undefined if it's usable. Both
|
|
9
|
+
* rows must have the same non-zero length, because every coordinate map walks
|
|
10
|
+
* them in step. Check an alignment from outside the package with this; the
|
|
11
|
+
* internal map builders throw on it.
|
|
13
12
|
*/
|
|
14
13
|
export function pairwiseAlignmentProblem(pa) {
|
|
15
14
|
const transcript = transcriptAlignedSeq(pa);
|
package/esm/mappings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":"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"}
|