+1
-1
@@ -49,3 +49,3 @@ import { Variant } from './Variant.ts'; | ||
| */ | ||
| getMetadata(...args: string[]): any; | ||
| getMetadata(...args: string[]): unknown; | ||
| /** | ||
@@ -52,0 +52,0 @@ * Parse a VCF line into a Variant object. |
+8
-5
@@ -41,3 +41,3 @@ "use strict"; | ||
| for (let i = 0; i < headerLines.length; i++) { | ||
| const line = headerLines[i]; | ||
| const line = headerLines[i] ?? ''; | ||
| if (!line.startsWith('#')) { | ||
@@ -89,4 +89,4 @@ throw new Error(`Bad line in header:\n${line}`); | ||
| } | ||
| const [metaKey, metaVal] = match.slice(1, 3); | ||
| const r = metaKey; | ||
| const r = match[1] ?? ''; | ||
| const metaVal = match[2]; | ||
| if (metaVal?.startsWith('<')) { | ||
@@ -97,3 +97,3 @@ if (!(r in this.metadata)) { | ||
| const [id, keyVals] = this.parseStructuredMetaVal(metaVal); | ||
| if (id) { | ||
| if (typeof id === 'string') { | ||
| // if there is an ID field in the <> metadata | ||
@@ -147,3 +147,6 @@ // e.g. ##INFO=<ID=AF_ESP,...> | ||
| for (let i = 0; i < argsLen; i++) { | ||
| filteredMetadata = filteredMetadata[args[i]]; | ||
| if (typeof filteredMetadata !== 'object' || filteredMetadata === null) { | ||
| return undefined; | ||
| } | ||
| filteredMetadata = filteredMetadata[args[i] ?? '']; | ||
| if (!filteredMetadata) { | ||
@@ -150,0 +153,0 @@ return filteredMetadata; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"} |
@@ -18,5 +18,3 @@ "use strict"; | ||
| let MatePosition; | ||
| const tokensLen = tokens.length; | ||
| for (let i = 0; i < tokensLen; i++) { | ||
| const tok = tokens[i]; | ||
| for (const tok of tokens) { | ||
| if (tok) { | ||
@@ -62,3 +60,3 @@ if (tok.includes(':')) { | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[1]}>:1`, | ||
| MatePosition: `<${res[1] ?? ''}>:1`, | ||
| } | ||
@@ -78,3 +76,3 @@ : undefined; | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[2]}>:1`, | ||
| MatePosition: `<${res[2] ?? ''}>:1`, | ||
| } | ||
@@ -81,0 +79,0 @@ : undefined; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseBreakend.js","sourceRoot":"","sources":["../src/parseBreakend.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parseBreakend.js","sourceRoot":"","sources":["../src/parseBreakend.ts"],"names":[],"mappings":"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"} |
@@ -21,3 +21,3 @@ "use strict"; | ||
| } | ||
| genotypes[samples[idx]] = prerest.slice(start, pos); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos); | ||
| pos++; | ||
@@ -41,3 +41,3 @@ } | ||
| } | ||
| genotypes[samples[idx]] = prerest.slice(start, pos); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos); | ||
| while (pos < prerestLen && prerest.charCodeAt(pos) !== TAB) { | ||
@@ -68,3 +68,3 @@ pos++; | ||
| if (colons === colonCount) { | ||
| genotypes[samples[idx]] = prerest.slice(fieldStart, j); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(fieldStart, j); | ||
| break; | ||
@@ -71,0 +71,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseGenotypesOnly.js","sourceRoot":"","sources":["../src/parseGenotypesOnly.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parseGenotypesOnly.js","sourceRoot":"","sources":["../src/parseGenotypesOnly.ts"],"names":[],"mappings":"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"} |
| export declare function parseMetaString(metaString: string): { | ||
| [k: string]: any; | ||
| [k: string]: string | string[]; | ||
| }; |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.parseMetaString = parseMetaString; | ||
| // constructed with the assistance of claude AI | ||
| // | ||
| // I first prompted it with a regex that splits a comma separated string with | ||
| // awareness of quotation from this stackoverflow question | ||
| // https://stackoverflow.com/a/18893443/2129219, and asked it to add support | ||
| // for square brackets | ||
| // | ||
| // it undid the regex into serial logic and the result was this function | ||
| function customSplit(str) { | ||
@@ -19,3 +11,3 @@ const result = []; | ||
| for (let i = 0; i < strLen; i++) { | ||
| const char = str[i]; | ||
| const char = str[i] ?? ''; | ||
| if (char === '"') { | ||
@@ -54,11 +46,12 @@ inQuotes = !inQuotes; | ||
| const entries = []; | ||
| for (let i = 0; i < parts.length; i++) { | ||
| const f = parts[i]; | ||
| for (const f of parts) { | ||
| const [key, val] = splitFirst(f, '='); | ||
| if (val && val.startsWith('[') && val.endsWith(']')) { | ||
| const items = val.slice(1, -1).split(','); | ||
| for (let j = 0; j < items.length; j++) { | ||
| items[j] = items[j].trim(); | ||
| } | ||
| entries.push([key, items]); | ||
| entries.push([ | ||
| key, | ||
| val | ||
| .slice(1, -1) | ||
| .split(',') | ||
| .map(s => s.trim()), | ||
| ]); | ||
| } | ||
@@ -65,0 +58,0 @@ else if (val && val.startsWith('"') && val.endsWith('"')) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseMetaString.js","sourceRoot":"","sources":["../src/parseMetaString.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parseMetaString.js","sourceRoot":"","sources":["../src/parseMetaString.ts"],"names":[],"mappings":"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"} |
@@ -5,3 +5,3 @@ /** | ||
| */ | ||
| export type GenotypeCallback = (str: string, start: number, end: number) => any; | ||
| export type GenotypeCallback = (str: string, start: number, end: number) => unknown; | ||
| /** | ||
@@ -8,0 +8,0 @@ * Process genotypes by calling a callback for each one, avoiding intermediate |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"processGenotypes.js","sourceRoot":"","sources":["../src/processGenotypes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"processGenotypes.js","sourceRoot":"","sources":["../src/processGenotypes.ts"],"names":[],"mappings":"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"} |
+23
-37
@@ -29,3 +29,3 @@ "use strict"; | ||
| const [CHROM, POS, ID, REF, ALT, QUAL, FILTER] = fields; | ||
| const filter = FILTER === '.' ? undefined : FILTER.split(';'); | ||
| const filter = FILTER === '.' ? undefined : FILTER?.split(';'); | ||
| if (strict && !fields[7]) { | ||
@@ -35,7 +35,8 @@ throw new Error("no INFO field specified, must contain at least a '.' (turn off strict mode to allow)"); | ||
| this.CHROM = CHROM; | ||
| this.POS = +POS; | ||
| this.ID = ID === '.' ? undefined : ID.split(';'); | ||
| this.POS = POS !== undefined ? +POS : 0; | ||
| this.ID = ID === '.' ? undefined : ID?.split(';'); | ||
| this.REF = REF; | ||
| this.ALT = ALT === '.' ? undefined : ALT.split(','); | ||
| this.QUAL = QUAL === '.' ? undefined : +QUAL; | ||
| this.ALT = ALT === '.' ? undefined : ALT?.split(','); | ||
| this.QUAL = | ||
| QUAL === '.' ? undefined : QUAL !== undefined ? +QUAL : undefined; | ||
| this.FILTER = filter?.length === 1 && filter[0] === 'PASS' ? 'PASS' : filter; | ||
@@ -57,3 +58,3 @@ this.INFO = | ||
| for (let i = 0; i < pairsLen; i++) { | ||
| const pair = infoPairs[i]; | ||
| const pair = infoPairs[i] ?? ''; | ||
| const eqIdx = pair.indexOf('='); | ||
@@ -73,29 +74,14 @@ const key = eqIdx === -1 ? pair : pair.slice(0, eqIdx); | ||
| const itemsLen = rawItems.length; | ||
| if (hasDecode) { | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| else { | ||
| const decoded = decodeURIComponentNoThrow(v); | ||
| items.push(isNumber ? Number(decoded) : decoded); | ||
| } | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j] ?? ''; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| result[key] = items; | ||
| } | ||
| else { | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| else { | ||
| items.push(isNumber ? Number(v) : v); | ||
| } | ||
| else { | ||
| const w = hasDecode ? decodeURIComponentNoThrow(v) : v; | ||
| items.push(isNumber ? Number(w) : w); | ||
| } | ||
| result[key] = items; | ||
| } | ||
| result[key] = items; | ||
| } | ||
@@ -113,3 +99,3 @@ } | ||
| for (let i = 0; i < formatKeys.length; i++) { | ||
| const r = this.formatMeta[formatKeys[i]]?.Type; | ||
| const r = this.formatMeta[formatKeys[i] ?? '']?.Type; | ||
| isNumberType.push(r === 'Integer' || r === 'Float'); | ||
@@ -120,5 +106,5 @@ } | ||
| for (let i = 0; i < samplesLen; i++) { | ||
| const sample = this.sampleNames[i]; | ||
| const sample = this.sampleNames[i] ?? ''; | ||
| const sampleData = {}; | ||
| const sampleStr = rest[i]; | ||
| const sampleStr = rest[i] ?? ''; | ||
| const sampleStrLen = sampleStr.length; | ||
@@ -131,3 +117,3 @@ let colStart = 0; | ||
| if (val === '' || val === '.') { | ||
| sampleData[formatKeys[colIdx]] = undefined; | ||
| sampleData[formatKeys[colIdx] ?? ''] = undefined; | ||
| } | ||
@@ -139,3 +125,3 @@ else { | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]; | ||
| const ent = items[k] ?? ''; | ||
| result.push(ent === '.' ? undefined : +ent); | ||
@@ -146,7 +132,7 @@ } | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]; | ||
| const ent = items[k] ?? ''; | ||
| result.push(ent === '.' ? undefined : ent); | ||
| } | ||
| } | ||
| sampleData[formatKeys[colIdx]] = result; | ||
| sampleData[formatKeys[colIdx] ?? ''] = result; | ||
| } | ||
@@ -153,0 +139,0 @@ colStart = j + 1; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Variant.js","sourceRoot":"","sources":["../src/Variant.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"Variant.js","sourceRoot":"","sources":["../src/Variant.ts"],"names":[],"mappings":"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"} |
+1
-1
@@ -49,3 +49,3 @@ import { Variant } from './Variant.ts'; | ||
| */ | ||
| getMetadata(...args: string[]): any; | ||
| getMetadata(...args: string[]): unknown; | ||
| /** | ||
@@ -52,0 +52,0 @@ * Parse a VCF line into a Variant object. |
+8
-5
@@ -34,3 +34,3 @@ import { Variant } from "./Variant.js"; | ||
| for (let i = 0; i < headerLines.length; i++) { | ||
| const line = headerLines[i]; | ||
| const line = headerLines[i] ?? ''; | ||
| if (!line.startsWith('#')) { | ||
@@ -82,4 +82,4 @@ throw new Error(`Bad line in header:\n${line}`); | ||
| } | ||
| const [metaKey, metaVal] = match.slice(1, 3); | ||
| const r = metaKey; | ||
| const r = match[1] ?? ''; | ||
| const metaVal = match[2]; | ||
| if (metaVal?.startsWith('<')) { | ||
@@ -90,3 +90,3 @@ if (!(r in this.metadata)) { | ||
| const [id, keyVals] = this.parseStructuredMetaVal(metaVal); | ||
| if (id) { | ||
| if (typeof id === 'string') { | ||
| // if there is an ID field in the <> metadata | ||
@@ -140,3 +140,6 @@ // e.g. ##INFO=<ID=AF_ESP,...> | ||
| for (let i = 0; i < argsLen; i++) { | ||
| filteredMetadata = filteredMetadata[args[i]]; | ||
| if (typeof filteredMetadata !== 'object' || filteredMetadata === null) { | ||
| return undefined; | ||
| } | ||
| filteredMetadata = filteredMetadata[args[i] ?? '']; | ||
| if (!filteredMetadata) { | ||
@@ -143,0 +146,0 @@ return filteredMetadata; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"} |
@@ -15,5 +15,3 @@ const ANGLE_BRACKET_START_REGEX = /<(.*)>(.*)/; | ||
| let MatePosition; | ||
| const tokensLen = tokens.length; | ||
| for (let i = 0; i < tokensLen; i++) { | ||
| const tok = tokens[i]; | ||
| for (const tok of tokens) { | ||
| if (tok) { | ||
@@ -59,3 +57,3 @@ if (tok.includes(':')) { | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[1]}>:1`, | ||
| MatePosition: `<${res[1] ?? ''}>:1`, | ||
| } | ||
@@ -75,3 +73,3 @@ : undefined; | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[2]}>:1`, | ||
| MatePosition: `<${res[2] ?? ''}>:1`, | ||
| } | ||
@@ -78,0 +76,0 @@ : undefined; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseBreakend.js","sourceRoot":"","sources":["../src/parseBreakend.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parseBreakend.js","sourceRoot":"","sources":["../src/parseBreakend.ts"],"names":[],"mappings":"AAQA,MAAM,yBAAyB,GAAG,YAAY,CAAA;AAC9C,MAAM,uBAAuB,GAAG,YAAY,CAAA;AAE5C,MAAM,UAAU,aAAa,CAAC,cAAsB;IAClD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE1D,IACE,SAAS,KAAK,GAAG;QACjB,SAAS,KAAK,GAAG;QACjB,QAAQ,KAAK,GAAG;QAChB,QAAQ,KAAK,GAAG,EAChB,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;QACrE,IAAI,IAAI,CAAA;QACR,IAAI,WAAW,CAAA;QACf,IAAI,YAAY,CAAA;QAChB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,YAAY,GAAG,GAAG,CAAA;oBAClB,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;gBACvC,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,GAAG,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;SACrC,CAAA;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzC,CAAA;IACH,CAAC;IAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,yBAAyB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1B,OAAO,WAAW;YAChB,CAAC,CAAC;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW;gBACX,aAAa,EAAE,OAAO;gBACtB,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK;aACpC;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1B,OAAO,WAAW;YAChB,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW;gBACX,aAAa,EAAE,OAAO;gBACtB,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK;aACpC;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"} |
@@ -18,3 +18,3 @@ /** | ||
| } | ||
| genotypes[samples[idx]] = prerest.slice(start, pos); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos); | ||
| pos++; | ||
@@ -38,3 +38,3 @@ } | ||
| } | ||
| genotypes[samples[idx]] = prerest.slice(start, pos); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos); | ||
| while (pos < prerestLen && prerest.charCodeAt(pos) !== TAB) { | ||
@@ -65,3 +65,3 @@ pos++; | ||
| if (colons === colonCount) { | ||
| genotypes[samples[idx]] = prerest.slice(fieldStart, j); | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(fieldStart, j); | ||
| break; | ||
@@ -68,0 +68,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseGenotypesOnly.js","sourceRoot":"","sources":["../src/parseGenotypesOnly.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"parseGenotypesOnly.js","sourceRoot":"","sources":["../src/parseGenotypesOnly.ts"],"names":[],"mappings":"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"} |
| export declare function parseMetaString(metaString: string): { | ||
| [k: string]: any; | ||
| [k: string]: string | string[]; | ||
| }; |
@@ -1,9 +0,1 @@ | ||
| // constructed with the assistance of claude AI | ||
| // | ||
| // I first prompted it with a regex that splits a comma separated string with | ||
| // awareness of quotation from this stackoverflow question | ||
| // https://stackoverflow.com/a/18893443/2129219, and asked it to add support | ||
| // for square brackets | ||
| // | ||
| // it undid the regex into serial logic and the result was this function | ||
| function customSplit(str) { | ||
@@ -16,3 +8,3 @@ const result = []; | ||
| for (let i = 0; i < strLen; i++) { | ||
| const char = str[i]; | ||
| const char = str[i] ?? ''; | ||
| if (char === '"') { | ||
@@ -51,11 +43,12 @@ inQuotes = !inQuotes; | ||
| const entries = []; | ||
| for (let i = 0; i < parts.length; i++) { | ||
| const f = parts[i]; | ||
| for (const f of parts) { | ||
| const [key, val] = splitFirst(f, '='); | ||
| if (val && val.startsWith('[') && val.endsWith(']')) { | ||
| const items = val.slice(1, -1).split(','); | ||
| for (let j = 0; j < items.length; j++) { | ||
| items[j] = items[j].trim(); | ||
| } | ||
| entries.push([key, items]); | ||
| entries.push([ | ||
| key, | ||
| val | ||
| .slice(1, -1) | ||
| .split(',') | ||
| .map(s => s.trim()), | ||
| ]); | ||
| } | ||
@@ -62,0 +55,0 @@ else if (val && val.startsWith('"') && val.endsWith('"')) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"parseMetaString.js","sourceRoot":"","sources":["../src/parseMetaString.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,EAAE;AACF,6EAA6E;AAC7E,0DAA0D;AAC1D,4EAA4E;AAC5E,sBAAsB;AACtB,EAAE;AACF,wEAAwE;AACxE,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,MAAM,GAAG,EAAE,CAAA;IACjB,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAA;QACpB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,QAAQ,GAAG,CAAC,QAAQ,CAAA;YACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,UAAU,GAAG,IAAI,CAAA;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,UAAU,GAAG,KAAK,CAAA;YAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;YAClC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,KAAa;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACjC,MAAM,OAAO,GAAoB,EAAE,CAAA;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;QACnB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,GAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,GAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,GAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"} | ||
| {"version":3,"file":"parseMetaString.js","sourceRoot":"","sources":["../src/parseMetaString.ts"],"names":[],"mappings":"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"} |
@@ -5,3 +5,3 @@ /** | ||
| */ | ||
| export type GenotypeCallback = (str: string, start: number, end: number) => any; | ||
| export type GenotypeCallback = (str: string, start: number, end: number) => unknown; | ||
| /** | ||
@@ -8,0 +8,0 @@ * Process genotypes by calling a callback for each one, avoiding intermediate |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"processGenotypes.js","sourceRoot":"","sources":["../src/processGenotypes.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"processGenotypes.js","sourceRoot":"","sources":["../src/processGenotypes.ts"],"names":[],"mappings":"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"} |
+23
-37
@@ -26,3 +26,3 @@ import { parseGenotypesOnly } from "./parseGenotypesOnly.js"; | ||
| const [CHROM, POS, ID, REF, ALT, QUAL, FILTER] = fields; | ||
| const filter = FILTER === '.' ? undefined : FILTER.split(';'); | ||
| const filter = FILTER === '.' ? undefined : FILTER?.split(';'); | ||
| if (strict && !fields[7]) { | ||
@@ -32,7 +32,8 @@ throw new Error("no INFO field specified, must contain at least a '.' (turn off strict mode to allow)"); | ||
| this.CHROM = CHROM; | ||
| this.POS = +POS; | ||
| this.ID = ID === '.' ? undefined : ID.split(';'); | ||
| this.POS = POS !== undefined ? +POS : 0; | ||
| this.ID = ID === '.' ? undefined : ID?.split(';'); | ||
| this.REF = REF; | ||
| this.ALT = ALT === '.' ? undefined : ALT.split(','); | ||
| this.QUAL = QUAL === '.' ? undefined : +QUAL; | ||
| this.ALT = ALT === '.' ? undefined : ALT?.split(','); | ||
| this.QUAL = | ||
| QUAL === '.' ? undefined : QUAL !== undefined ? +QUAL : undefined; | ||
| this.FILTER = filter?.length === 1 && filter[0] === 'PASS' ? 'PASS' : filter; | ||
@@ -54,3 +55,3 @@ this.INFO = | ||
| for (let i = 0; i < pairsLen; i++) { | ||
| const pair = infoPairs[i]; | ||
| const pair = infoPairs[i] ?? ''; | ||
| const eqIdx = pair.indexOf('='); | ||
@@ -70,29 +71,14 @@ const key = eqIdx === -1 ? pair : pair.slice(0, eqIdx); | ||
| const itemsLen = rawItems.length; | ||
| if (hasDecode) { | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| else { | ||
| const decoded = decodeURIComponentNoThrow(v); | ||
| items.push(isNumber ? Number(decoded) : decoded); | ||
| } | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j] ?? ''; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| result[key] = items; | ||
| } | ||
| else { | ||
| const items = []; | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]; | ||
| if (v === '.') { | ||
| items.push(undefined); | ||
| } | ||
| else { | ||
| items.push(isNumber ? Number(v) : v); | ||
| } | ||
| else { | ||
| const w = hasDecode ? decodeURIComponentNoThrow(v) : v; | ||
| items.push(isNumber ? Number(w) : w); | ||
| } | ||
| result[key] = items; | ||
| } | ||
| result[key] = items; | ||
| } | ||
@@ -110,3 +96,3 @@ } | ||
| for (let i = 0; i < formatKeys.length; i++) { | ||
| const r = this.formatMeta[formatKeys[i]]?.Type; | ||
| const r = this.formatMeta[formatKeys[i] ?? '']?.Type; | ||
| isNumberType.push(r === 'Integer' || r === 'Float'); | ||
@@ -117,5 +103,5 @@ } | ||
| for (let i = 0; i < samplesLen; i++) { | ||
| const sample = this.sampleNames[i]; | ||
| const sample = this.sampleNames[i] ?? ''; | ||
| const sampleData = {}; | ||
| const sampleStr = rest[i]; | ||
| const sampleStr = rest[i] ?? ''; | ||
| const sampleStrLen = sampleStr.length; | ||
@@ -128,3 +114,3 @@ let colStart = 0; | ||
| if (val === '' || val === '.') { | ||
| sampleData[formatKeys[colIdx]] = undefined; | ||
| sampleData[formatKeys[colIdx] ?? ''] = undefined; | ||
| } | ||
@@ -136,3 +122,3 @@ else { | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]; | ||
| const ent = items[k] ?? ''; | ||
| result.push(ent === '.' ? undefined : +ent); | ||
@@ -143,7 +129,7 @@ } | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]; | ||
| const ent = items[k] ?? ''; | ||
| result.push(ent === '.' ? undefined : ent); | ||
| } | ||
| } | ||
| sampleData[formatKeys[colIdx]] = result; | ||
| sampleData[formatKeys[colIdx] ?? ''] = result; | ||
| } | ||
@@ -150,0 +136,0 @@ colStart = j + 1; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"Variant.js","sourceRoot":"","sources":["../src/Variant.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"Variant.js","sourceRoot":"","sources":["../src/Variant.ts"],"names":[],"mappings":"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"} |
+24
-31
| { | ||
| "name": "@gmod/vcf", | ||
| "version": "7.0.0", | ||
| "version": "7.0.1", | ||
| "description": "High performance streaming Variant Call Format (VCF) parser in pure JavaScript", | ||
@@ -8,10 +8,9 @@ "type": "module", | ||
| "exports": { | ||
| "import": { | ||
| "import": "./esm/index.js" | ||
| }, | ||
| "require": { | ||
| "require": "./dist/index.js" | ||
| } | ||
| "import": "./esm/index.js", | ||
| "require": "./dist/index.js" | ||
| }, | ||
| "repository": "github:GMOD/vcf-js", | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/GMOD/vcf-js.git" | ||
| }, | ||
| "author": { | ||
@@ -32,5 +31,2 @@ "name": "Garrett Stevens", | ||
| ], | ||
| "engines": { | ||
| "node": ">=6" | ||
| }, | ||
| "scripts": { | ||
@@ -41,12 +37,10 @@ "test": "vitest", | ||
| "lint": "eslint --report-unused-disable-directives --max-warnings 0", | ||
| "docs": "documentation readme src/parse.ts --section=API --shallow", | ||
| "format": "prettier --write .", | ||
| "postdocs": "prettier --write README.md", | ||
| "clean": "rimraf dist esm", | ||
| "build:esm": "tsc --target es2020 --outDir esm", | ||
| "build:es5": "tsc --target es2020 --module commonjs --outDir dist", | ||
| "build": "yarn build:esm && yarn build:es5", | ||
| "prebuild": "yarn clean", | ||
| "build:es5": "tsc --target es2020 --module commonjs --moduleResolution bundler --outDir dist", | ||
| "build": "pnpm build:esm && pnpm build:es5", | ||
| "prebuild": "pnpm clean", | ||
| "postbuild:es5": "echo '{\"type\": \"commonjs\"}' > dist/package.json", | ||
| "preversion": "yarn lint && yarn test --run && yarn build", | ||
| "preversion": "pnpm lint && pnpm test --run && pnpm build", | ||
| "version": "standard-changelog && git add CHANGELOG.md", | ||
@@ -56,18 +50,17 @@ "postversion": "git push --follow-tags" | ||
| "devDependencies": { | ||
| "@babel/core": "^7.20.5", | ||
| "@eslint/js": "^9.7.0", | ||
| "@types/node": "^24.10.1", | ||
| "@typescript-eslint/eslint-plugin": "^8.48.0", | ||
| "@typescript-eslint/parser": "^8.48.0", | ||
| "@vitest/coverage-v8": "^4.0.14", | ||
| "documentation": "^14.0.1", | ||
| "eslint": "^9.7.0", | ||
| "@babel/core": "^7.29.0", | ||
| "@eslint/js": "^10.0.1", | ||
| "@types/node": "^25.6.0", | ||
| "@typescript-eslint/eslint-plugin": "^8.59.0", | ||
| "@typescript-eslint/parser": "^8.59.0", | ||
| "@vitest/coverage-v8": "^4.1.5", | ||
| "eslint": "^10.2.1", | ||
| "eslint-plugin-import": "^2.32.0", | ||
| "eslint-plugin-unicorn": "^62.0.0", | ||
| "prettier": "^3.2.4", | ||
| "rimraf": "^6.0.1", | ||
| "eslint-plugin-unicorn": "^64.0.0", | ||
| "prettier": "^3.8.3", | ||
| "rimraf": "^6.1.3", | ||
| "standard-changelog": "^7.0.1", | ||
| "typescript": "^5.3.3", | ||
| "typescript-eslint": "^8.48.0", | ||
| "vitest": "^4.0.14" | ||
| "typescript": "^6.0.3", | ||
| "typescript-eslint": "^8.59.0", | ||
| "vitest": "^4.1.5" | ||
| }, | ||
@@ -74,0 +67,0 @@ "keywords": [ |
+98
-266
| # vcf-js | ||
| High performance Variant Call Format (VCF) parser in pure JavaScript. | ||
| VCF (variant call format) parser | ||
| ## Status | ||
| [](https://npmjs.org/package/@gmod/vcf) | ||
| [](https://codecov.io/gh/GMOD/vcf-js/branch/master) | ||
| [](https://github.com/GMOD/vcf-js/actions) | ||
| [](https://github.com/GMOD/vcf-js/actions) | ||
| ## Usage | ||
| This module is best used when combined with some easy way of retrieving the | ||
| header and individual lines from a VCF, like the `@gmod/tabix` module. | ||
| ```typescript | ||
| import { TabixIndexedFile } from '@gmod/tabix' | ||
| import VCF from '@gmod/vcf' | ||
| // with import | ||
| import VCF, { parseBreakend, Variant } from '@gmod/vcf' | ||
| // with require | ||
| const { default: VCF, parseBreakend } = require('@gmod/vcf') | ||
| const tbiIndexed = new TabixIndexedFile({ path: '/path/to/my.vcf.gz' }) | ||
| async function doStuff() { | ||
| const headerText = await tbiIndexed.getHeader() | ||
| const tbiVCFParser = new VCF({ header: headerText }) | ||
| const variants = [] | ||
| await tbiIndexed.getLines('ctgA', 200, 300, line => | ||
| variants.push(tbiVCFParser.parseLine(line)), | ||
| ) | ||
| console.log(variants) | ||
| } | ||
| ``` | ||
| const headerText = await tbiIndexed.getHeader() | ||
| const parser = new VCF({ header: headerText }) // strict?: boolean (default true) | ||
| If you want to stream a VCF file, you can alternatively use something like this | ||
| ```typescript | ||
| const fs = require('fs') | ||
| const VCF = require('@gmod/vcf').default | ||
| const { createGunzip } = require('zlib') | ||
| const readline = require('readline') | ||
| const rl = readline.createInterface({ | ||
| input: fs.createReadStream(process.argv[2]).pipe(createGunzip()), | ||
| }) | ||
| let header = [] | ||
| let elts = [] | ||
| let parser = undefined | ||
| rl.on('line', function (line) { | ||
| if (line.startsWith('#')) { | ||
| header.push(line) | ||
| return | ||
| } else if (!parser) { | ||
| parser = new VCF({ header: header.join('\n') }) | ||
| } | ||
| const elt = parser.parseLine(line) | ||
| elts.push(elt.INFO.AN[0]) | ||
| }) | ||
| rl.on('close', function () { | ||
| console.log(elts.reduce((a, b) => a + b, 0) / elts.length) | ||
| }) | ||
| const variants = [] | ||
| await tbiIndexed.getLines('ctgA', 200, 300, line => | ||
| variants.push(parser.parseLine(line)), | ||
| ) | ||
| ``` | ||
| This method is used to test @gmod/vcf in https://github.com/brentp/vcf-bench | ||
| ## Variant | ||
| ## Methods | ||
| `parseLine(line)` returns a `Variant` with these fields: | ||
| Given a VCF with a single variant line | ||
| ```text | ||
| #CHROM POS ID REF ALT QUAL FILTER INFO FORMAT HG00096 | ||
| contigA 3000 rs17883296 G T,A 100 PASS NS=3;DP=14;AF=0.5;DB;XYZ=5 GT:AP 0|0:0.000,0.000 | ||
| ``` | ||
| The `Variant` object returned by `parseLine()` has these properties: | ||
| ```typescript | ||
@@ -91,3 +37,3 @@ { | ||
| QUAL: 100, | ||
| FILTER: 'PASS', | ||
| FILTER: 'PASS', // 'PASS' | string[] of filter names | undefined if '.' | ||
| INFO: { | ||
@@ -97,4 +43,4 @@ NS: [3], | ||
| AF: [0.5], | ||
| DB: true, | ||
| XYZ: ['5'], | ||
| DB: true, // Flag type | ||
| XYZ: ['5'], // unknown fields default to Number=1, Type=String | ||
| }, | ||
@@ -104,234 +50,120 @@ } | ||
| The `Variant` class also has methods for accessing sample data: | ||
| INFO and FORMAT values are typed using header metadata. Values are arrays unless | ||
| `Type=Flag`, in which case they are `true`. Fields defined in the | ||
| [VCF spec](https://samtools.github.io/hts-specs/VCFv4.3.pdf) are typed even | ||
| without a header entry. | ||
| - `variant.SAMPLES()` - returns full sample data with all FORMAT fields parsed | ||
| - `variant.GENOTYPES()` - returns just the GT strings (faster if that's all you | ||
| need) | ||
| - `variant.processGenotypes(callback)` - calls a callback for each genotype | ||
| without allocating strings (fastest for counting/iteration) | ||
| ### Sample methods | ||
| These methods lazily parse the genotype data, so they only do work when called. | ||
| This saves time especially if your VCF has many samples (e.g. 1000 Genomes). | ||
| - `variant.SAMPLES()` — full sample data with all FORMAT fields parsed | ||
| - `variant.GENOTYPES()` — GT strings only (faster) | ||
| - `variant.processGenotypes(callback)` — iterate genotypes without allocating | ||
| strings (fastest) | ||
| The parser will try to convert the values in INFO and FORMAT to the proper types | ||
| using the header metadata. For example, if there is a header line like | ||
| ```text | ||
| ##INFO=<ID=ABC,Number=2,Type=Integer,Description="A description"> | ||
| ```typescript | ||
| let homRef = 0 | ||
| variant.processGenotypes((str, start, end) => { | ||
| if ( | ||
| end - start === 3 && // e.g. "0|0" | ||
| str.charCodeAt(start) === 48 && // 48 = '0' | ||
| str.charCodeAt(start + 2) === 48 | ||
| ) { | ||
| homRef++ | ||
| } | ||
| }) | ||
| ``` | ||
| The parser will expect any INFO entry ABC to be an array of two integers, so it | ||
| would convert `ABC=12,20` to `{ ABC: [12, 20] }`. | ||
| Sample data is lazily parsed — nothing is computed until these methods are | ||
| called. | ||
| Each INFO entry value will be an array unless `Type=Flag` is specified, in which | ||
| case it will be `true`. If no metadata can be found for the entry, it will | ||
| assume `Number=1` and `Type=String`. | ||
| ## Metadata | ||
| Some fields are pre-defined by the | ||
| [VCF spec](https://samtools.github.io/hts-specs/VCFv4.3.pdf), which is why in | ||
| the variant object above "DP" was parsed as an integer (it is defined in the VCF | ||
| spec), but "XYZ" was left as a string (it is not defined in either the VCF spec | ||
| or the header). | ||
| `parser.getMetadata(...keys)` returns header metadata, filtered by the keys | ||
| provided: | ||
| Metadata can be accessed with the `getMetadata()` method, including all the | ||
| built-in metadata from the VCF spec. With no parameters it will return all the | ||
| data. Any parameters passed will further filter the metadata. For example, for a | ||
| VCF with this header: | ||
| ```typescript | ||
| parser.getMetadata('INFO', 'DP') | ||
| // { Number: 1, Type: 'Integer', Description: 'Total Depth' } | ||
| ```text | ||
| ##INFO=<ID=ABC,Number=2,Type=Integer,Description="A description"> | ||
| #CHROM POS ID REF ALT QUAL FILTER INFO | ||
| parser.getMetadata('INFO', 'DP', 'Number') | ||
| // 1 | ||
| ``` | ||
| you can access the VCF's header metadata like (some output omitted for clarity): | ||
| Call with no arguments to get all metadata. `parser.samples` lists sample names. | ||
| ```typescript | ||
| > console.log(vcfParser.getMetadata()) | ||
| { INFO: | ||
| { AA: | ||
| { Number: 1, Type: 'String', Description: 'Ancestral Allele' }, | ||
| ## Streaming | ||
| ... | ||
| To parse a plain VCF without tabix, collect header lines until the first | ||
| non-header line, then construct the parser: | ||
| ABC: { Number: 2, Type: 'Integer', Description: 'A description' } }, | ||
| FORMAT: | ||
| { AD: | ||
| { Number: 'R', | ||
| Type: 'Integer', | ||
| Description: 'Read depth for each allele' }, | ||
| ```typescript | ||
| import fs from 'fs' | ||
| import VCF from '@gmod/vcf' | ||
| import { createGunzip } from 'zlib' | ||
| import readline from 'readline' | ||
| ... | ||
| const rl = readline.createInterface({ | ||
| input: fs.createReadStream('file.vcf.gz').pipe(createGunzip()), | ||
| }) | ||
| ALT: | ||
| { DEL: { Description: 'Deletion relative to the reference' }, | ||
| const header = [] | ||
| let parser | ||
| ... | ||
| FILTER: { PASS: { Description: 'Passed all filters' } } } | ||
| > console.log(vcfParser.getMetadata('INFO')) | ||
| { AA: | ||
| { Number: 1, Type: 'String', Description: 'Ancestral Allele' }, | ||
| AC: | ||
| { Number: 'A', | ||
| Type: 'Integer', | ||
| Description: | ||
| 'Allele count in genotypes, for each ALT allele, in the same order as listed' }, | ||
| AD: | ||
| { Number: 'R', | ||
| Type: 'Integer', | ||
| Description: 'Total read depth for each allele' }, | ||
| ... | ||
| ABC: { Number: 2, Type: 'Integer', Description: 'A description' } } | ||
| > console.log(vcfParser.getMetadata('INFO', 'DP')) | ||
| { Number: 1, Type: 'Integer', Description: 'Total Depth' } | ||
| > console.log(vcfParser.getMetadata('INFO', 'DP', 'Number')) | ||
| 1 | ||
| rl.on('line', line => { | ||
| if (line.startsWith('#')) { | ||
| header.push(line) | ||
| } else { | ||
| if (!parser) { | ||
| parser = new VCF({ header: header.join('\n') }) | ||
| } | ||
| const variant = parser.parseLine(line) | ||
| console.log(variant.CHROM, variant.POS) | ||
| } | ||
| }) | ||
| ``` | ||
| A list of sample names is also available in the `samples` attribute of the | ||
| parser object: | ||
| ```typescript | ||
| > console.log(vcfParser.samples) | ||
| [ 'HG00096' ] | ||
| ``` | ||
| ## Breakends | ||
| We offer a helper function to parse breakend strings. We used to parse these | ||
| automatically but it is now a helper function | ||
| `parseBreakend(alt)` parses a breakend ALT string: | ||
| ```js | ||
| ```typescript | ||
| import { parseBreakend } from '@gmod/vcf' | ||
| parseBreakend('C[2:321682[') | ||
| // output | ||
| // | ||
| // { | ||
| // "MateDirection": "right", | ||
| // "Replacement": "C", | ||
| // "MatePosition": "2:321682", | ||
| // "Join": "right" | ||
| // } | ||
| // { MateDirection: 'right', Replacement: 'C', MatePosition: '2:321682', Join: 'right' } | ||
| ``` | ||
| - The C\[2:321682\[ parses as "Join": "right" because the BND is after the C | ||
| base | ||
| - The C\[2:321682\[ also is given "MateDirection": "right" because the square | ||
| brackets point to the right. | ||
| - The spec never has the square brackets pointing in different directions. | ||
| Instead, the different types of joins can be imagined as follows | ||
| All four bracket forms from the VCF spec: | ||
| For the above vcf line where chr13:123456->C\[2:321682\[ then we have this | ||
| | ALT form | Join | MateDirection | | ||
| | -------- | ----- | ------------- | | ||
| | `t[p[` | right | right | | ||
| | `t]p]` | right | left | | ||
| | `[p[t` | left | right | | ||
| | `]p]t` | left | left | | ||
| chr13:123456 | ||
| -------------C\ | ||
| \ | ||
| \ | ||
| \ | ||
| \ | ||
| \ | ||
| \ | ||
| \ | ||
| \-------------- | ||
| chr2:321682 | ||
| - `Join` — whether the replacement base appears before (`right`) or after | ||
| (`left`) the mate position | ||
| - `MateDirection` — `[` means the mate sequence extends rightward; `]` means | ||
| leftward | ||
| If the alt was instead chr13:123456->\[2:321682\[C then the the "Join" would be | ||
| "left" since the "BND" is before "C" and then the breakend structure looks like | ||
| this | ||
| ### Single breakends | ||
| chr13:123456 | ||
| When the ALT starts or ends with `.`, `parseBreakend` returns | ||
| `SingleBreakend: true` with no `MatePosition`: | ||
| |C-------------------- | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| | | ||
| ---------------------- | ||
| chr2:321682 | ||
| ```typescript | ||
| parseBreakend('C.') | ||
| // { Join: 'right', Replacement: 'C', SingleBreakend: true } | ||
| ## API | ||
| parseBreakend('.ACGT') | ||
| // { Join: 'left', Replacement: 'ACGT', SingleBreakend: true } | ||
| ``` | ||
| #### Table of Contents | ||
| ## Publishing | ||
| - [VCFParser](#vcfparser) | ||
| - [Parameters](#parameters) | ||
| - [getMetadata](#getmetadata) | ||
| - [parseLine](#parseline) | ||
| - [Variant](#variant) | ||
| - [SAMPLES](#samples) | ||
| - [GENOTYPES](#genotypes) | ||
| - [processGenotypes](#processgenotypes) | ||
| [Trusted publishing](https://docs.npmjs.com/about-trusted-publishing) via GitHub Actions. | ||
| ### VCFParser | ||
| Class representing a VCF parser, instantiated with the VCF header. | ||
| #### Parameters | ||
| - `args.header` **string** - The VCF header. Supports both LF and CRLF newlines. | ||
| - `args.strict` **boolean** - Whether to parse in strict mode or not (default | ||
| true) | ||
| #### getMetadata | ||
| Get metadata filtered by the elements in args. For example, can pass ('INFO', | ||
| 'DP') to only get info on an metadata tag that was like "##INFO=\<ID=DP,...>" | ||
| ##### Parameters | ||
| - `...args` **string[]** - List of metadata filter strings. | ||
| Returns **any** An object, string, or number, depending on the filtering | ||
| #### parseLine | ||
| Parse a VCF line into a `Variant` object. | ||
| ##### Parameters | ||
| - `line` **string** - A string of a line from a VCF | ||
| Returns **Variant** A Variant instance with the parsed data | ||
| ### Variant | ||
| Class representing a parsed VCF variant line. Has data properties (CHROM, POS, | ||
| ID, REF, ALT, QUAL, FILTER, INFO, FORMAT) and methods for accessing sample data. | ||
| #### SAMPLES | ||
| Returns full sample data with all FORMAT fields parsed. | ||
| Returns **Record\<string, Record\<string, (string | number | undefined)[] | | ||
| undefined>>** | ||
| #### GENOTYPES | ||
| Returns just the GT strings for each sample (faster than SAMPLES if you only | ||
| need genotypes). | ||
| Returns **Record\<string, string>** | ||
| #### processGenotypes | ||
| Calls a callback for each genotype without allocating strings. Useful for | ||
| counting or iterating over genotypes with minimal memory allocation. | ||
| ##### Parameters | ||
| - `callback` **(str: string, start: number, end: number) => any** - Called for | ||
| each genotype with the raw string and indices. Use `str.slice(start, end)` to | ||
| extract the genotype string, or `str.charCodeAt(start)` to read characters | ||
| without allocation. | ||
| ```bash | ||
| npm version patch # or minor/major | ||
| ``` |
+14
-9
@@ -42,3 +42,3 @@ import { Variant } from './Variant.ts' | ||
| for (let i = 0; i < headerLines.length; i++) { | ||
| const line = headerLines[i]! | ||
| const line = headerLines[i] ?? '' | ||
| if (!line.startsWith('#')) { | ||
@@ -91,5 +91,4 @@ throw new Error(`Bad line in header:\n${line}`) | ||
| } | ||
| const [metaKey, metaVal] = match.slice(1, 3) | ||
| const r = metaKey! | ||
| const r = match[1] ?? '' | ||
| const metaVal = match[2] | ||
| if (metaVal?.startsWith('<')) { | ||
@@ -100,3 +99,3 @@ if (!(r in this.metadata)) { | ||
| const [id, keyVals] = this.parseStructuredMetaVal(metaVal) | ||
| if (id) { | ||
| if (typeof id === 'string') { | ||
| // if there is an ID field in the <> metadata | ||
@@ -125,4 +124,5 @@ // e.g. ##INFO=<ID=AF_ESP,...> | ||
| private parseStructuredMetaVal(metaVal: string) { | ||
| const keyVals = parseMetaString(metaVal) | ||
| const id = keyVals.ID! | ||
| const keyVals: Record<string, string | string[] | number> = | ||
| parseMetaString(metaVal) | ||
| const id = keyVals.ID | ||
| delete keyVals.ID | ||
@@ -147,6 +147,11 @@ if ('Number' in keyVals) { | ||
| getMetadata(...args: string[]) { | ||
| let filteredMetadata: any = this.metadata | ||
| let filteredMetadata: unknown = this.metadata | ||
| const argsLen = args.length | ||
| for (let i = 0; i < argsLen; i++) { | ||
| filteredMetadata = filteredMetadata[args[i]!] | ||
| if (typeof filteredMetadata !== 'object' || filteredMetadata === null) { | ||
| return undefined | ||
| } | ||
| filteredMetadata = (filteredMetadata as Record<string, unknown>)[ | ||
| args[i] ?? '' | ||
| ] | ||
| if (!filteredMetadata) { | ||
@@ -153,0 +158,0 @@ return filteredMetadata |
@@ -27,5 +27,3 @@ export interface Breakend { | ||
| let MatePosition | ||
| const tokensLen = tokens.length | ||
| for (let i = 0; i < tokensLen; i++) { | ||
| const tok = tokens[i]! | ||
| for (const tok of tokens) { | ||
| if (tok) { | ||
@@ -73,3 +71,3 @@ if (tok.includes(':')) { | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[1]!}>:1`, | ||
| MatePosition: `<${res[1] ?? ''}>:1`, | ||
| } | ||
@@ -90,3 +88,3 @@ : undefined | ||
| MateDirection: 'right', | ||
| MatePosition: `<${res[2]!}>:1`, | ||
| MatePosition: `<${res[2] ?? ''}>:1`, | ||
| } | ||
@@ -93,0 +91,0 @@ : undefined |
@@ -24,3 +24,3 @@ /** | ||
| } | ||
| genotypes[samples[idx]!] = prerest.slice(start, pos) | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos) | ||
| pos++ | ||
@@ -48,3 +48,3 @@ } | ||
| } | ||
| genotypes[samples[idx]!] = prerest.slice(start, pos) | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(start, pos) | ||
| while (pos < prerestLen && prerest.charCodeAt(pos) !== TAB) { | ||
@@ -77,3 +77,3 @@ pos++ | ||
| if (colons === colonCount) { | ||
| genotypes[samples[idx]!] = prerest.slice(fieldStart, j) | ||
| genotypes[samples[idx] ?? ''] = prerest.slice(fieldStart, j) | ||
| break | ||
@@ -80,0 +80,0 @@ } |
+13
-20
@@ -1,9 +0,1 @@ | ||
| // constructed with the assistance of claude AI | ||
| // | ||
| // I first prompted it with a regex that splits a comma separated string with | ||
| // awareness of quotation from this stackoverflow question | ||
| // https://stackoverflow.com/a/18893443/2129219, and asked it to add support | ||
| // for square brackets | ||
| // | ||
| // it undid the regex into serial logic and the result was this function | ||
| function customSplit(str: string) { | ||
@@ -17,3 +9,3 @@ const result = [] | ||
| for (let i = 0; i < strLen; i++) { | ||
| const char = str[i]! | ||
| const char = str[i] ?? '' | ||
| if (char === '"') { | ||
@@ -45,3 +37,3 @@ inQuotes = !inQuotes | ||
| const index = str.indexOf(split) | ||
| return [str.slice(0, index), str.slice(index + 1)] | ||
| return [str.slice(0, index), str.slice(index + 1)] as const | ||
| } | ||
@@ -52,16 +44,17 @@ | ||
| const parts = customSplit(inside) | ||
| const entries: [string, any][] = [] | ||
| for (let i = 0; i < parts.length; i++) { | ||
| const f = parts[i]! | ||
| const entries: [string, string | string[]][] = [] | ||
| for (const f of parts) { | ||
| const [key, val] = splitFirst(f, '=') | ||
| if (val && val.startsWith('[') && val.endsWith(']')) { | ||
| const items = val.slice(1, -1).split(',') | ||
| for (let j = 0; j < items.length; j++) { | ||
| items[j] = items[j]!.trim() | ||
| } | ||
| entries.push([key!, items]) | ||
| entries.push([ | ||
| key, | ||
| val | ||
| .slice(1, -1) | ||
| .split(',') | ||
| .map(s => s.trim()), | ||
| ]) | ||
| } else if (val && val.startsWith('"') && val.endsWith('"')) { | ||
| entries.push([key!, val.slice(1, -1)]) | ||
| entries.push([key, val.slice(1, -1)]) | ||
| } else { | ||
| entries.push([key!, val]) | ||
| entries.push([key, val]) | ||
| } | ||
@@ -68,0 +61,0 @@ } |
@@ -5,3 +5,7 @@ /** | ||
| */ | ||
| export type GenotypeCallback = (str: string, start: number, end: number) => any | ||
| export type GenotypeCallback = ( | ||
| str: string, | ||
| start: number, | ||
| end: number, | ||
| ) => unknown | ||
@@ -8,0 +12,0 @@ /** |
+23
-35
@@ -49,3 +49,3 @@ import { parseGenotypesOnly } from './parseGenotypesOnly.ts' | ||
| const [CHROM, POS, ID, REF, ALT, QUAL, FILTER] = fields | ||
| const filter = FILTER === '.' ? undefined : FILTER!.split(';') | ||
| const filter = FILTER === '.' ? undefined : FILTER?.split(';') | ||
@@ -59,7 +59,8 @@ if (strict && !fields[7]) { | ||
| this.CHROM = CHROM | ||
| this.POS = +POS! | ||
| this.ID = ID === '.' ? undefined : ID!.split(';') | ||
| this.POS = POS !== undefined ? +POS : 0 | ||
| this.ID = ID === '.' ? undefined : ID?.split(';') | ||
| this.REF = REF | ||
| this.ALT = ALT === '.' ? undefined : ALT!.split(',') | ||
| this.QUAL = QUAL === '.' ? undefined : +QUAL! | ||
| this.ALT = ALT === '.' ? undefined : ALT?.split(',') | ||
| this.QUAL = | ||
| QUAL === '.' ? undefined : QUAL !== undefined ? +QUAL : undefined | ||
| this.FILTER = filter?.length === 1 && filter[0] === 'PASS' ? 'PASS' : filter | ||
@@ -87,3 +88,3 @@ this.INFO = | ||
| for (let i = 0; i < pairsLen; i++) { | ||
| const pair = infoPairs[i]! | ||
| const pair = infoPairs[i] ?? '' | ||
| const eqIdx = pair.indexOf('=') | ||
@@ -103,26 +104,13 @@ const key = eqIdx === -1 ? pair : pair.slice(0, eqIdx) | ||
| if (hasDecode) { | ||
| const items: (string | number | undefined)[] = [] | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]! | ||
| if (v === '.') { | ||
| items.push(undefined) | ||
| } else { | ||
| const decoded = decodeURIComponentNoThrow(v) | ||
| items.push(isNumber ? Number(decoded) : decoded) | ||
| } | ||
| const items: (string | number | undefined)[] = [] | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j] ?? '' | ||
| if (v === '.') { | ||
| items.push(undefined) | ||
| } else { | ||
| const w = hasDecode ? decodeURIComponentNoThrow(v) : v | ||
| items.push(isNumber ? Number(w) : w) | ||
| } | ||
| result[key] = items | ||
| } else { | ||
| const items: (string | number | undefined)[] = [] | ||
| for (let j = 0; j < itemsLen; j++) { | ||
| const v = rawItems[j]! | ||
| if (v === '.') { | ||
| items.push(undefined) | ||
| } else { | ||
| items.push(isNumber ? Number(v) : v) | ||
| } | ||
| } | ||
| result[key] = items | ||
| } | ||
| result[key] = items | ||
| } | ||
@@ -144,3 +132,3 @@ } | ||
| for (let i = 0; i < formatKeys.length; i++) { | ||
| const r = this.formatMeta[formatKeys[i]!]?.Type | ||
| const r = this.formatMeta[formatKeys[i] ?? '']?.Type | ||
| isNumberType.push(r === 'Integer' || r === 'Float') | ||
@@ -151,3 +139,3 @@ } | ||
| for (let i = 0; i < samplesLen; i++) { | ||
| const sample = this.sampleNames[i]! | ||
| const sample = this.sampleNames[i] ?? '' | ||
| const sampleData: Record< | ||
@@ -157,3 +145,3 @@ string, | ||
| > = {} | ||
| const sampleStr = rest[i]! | ||
| const sampleStr = rest[i] ?? '' | ||
| const sampleStrLen = sampleStr.length | ||
@@ -167,3 +155,3 @@ let colStart = 0 | ||
| if (val === '' || val === '.') { | ||
| sampleData[formatKeys[colIdx]!] = undefined | ||
| sampleData[formatKeys[colIdx] ?? ''] = undefined | ||
| } else { | ||
@@ -174,3 +162,3 @@ const items = val.split(',') | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]! | ||
| const ent = items[k] ?? '' | ||
| result.push(ent === '.' ? undefined : +ent) | ||
@@ -180,7 +168,7 @@ } | ||
| for (let k = 0; k < items.length; k++) { | ||
| const ent = items[k]! | ||
| const ent = items[k] ?? '' | ||
| result.push(ent === '.' ? undefined : ent) | ||
| } | ||
| } | ||
| sampleData[formatKeys[colIdx]!] = result | ||
| sampleData[formatKeys[colIdx] ?? ''] = result | ||
| } | ||
@@ -187,0 +175,0 @@ colStart = j + 1 |
-168
| # [7.0.0](https://github.com/GMOD/vcf-js/compare/v6.1.2...v7.0.0) (2026-01-18) | ||
| ## [6.1.2](https://github.com/GMOD/vcf-js/compare/v6.1.1...v6.1.2) (2026-01-18) | ||
| # [6.1.0](https://github.com/GMOD/vcf-js/compare/v6.0.9...v6.1.0) (2025-11-26) | ||
| ## [6.0.9](https://github.com/GMOD/vcf-js/compare/v6.0.8...v6.0.9) (2025-04-01) | ||
| ## [6.0.8](https://github.com/GMOD/vcf-js/compare/v6.0.7...v6.0.8) (2025-02-13) | ||
| ## [6.0.7](https://github.com/GMOD/vcf-js/compare/v6.0.6...v6.0.7) (2025-01-29) | ||
| ## [6.0.6](https://github.com/GMOD/vcf-js/compare/v6.0.5...v6.0.6) (2025-01-16) | ||
| ## [6.0.5](https://github.com/GMOD/vcf-js/compare/v6.0.4...v6.0.5) (2025-01-16) | ||
| ## [6.0.4](https://github.com/GMOD/vcf-js/compare/v6.0.3...v6.0.4) (2025-01-16) | ||
| ## [6.0.3](https://github.com/GMOD/vcf-js/compare/v6.0.2...v6.0.3) (2025-01-16) | ||
| ## [6.0.2](https://github.com/GMOD/vcf-js/compare/v6.0.1...v6.0.2) (2025-01-07) | ||
| ## [6.0.1](https://github.com/GMOD/vcf-js/compare/v6.0.0...v6.0.1) (2024-12-17) | ||
| # [6.0.0](https://github.com/GMOD/vcf-js/compare/v5.0.10...v6.0.0) (2024-11-30) | ||
| - Changes the default Variant object to have a SAMPLES() function call instead | ||
| of a SAMPLES getter, to make it more abundantly clear that it is a lazy | ||
| operation. Also adds a GENOTYPES() function that returns the raw string of | ||
| genotype fields | ||
| ## [5.0.10](https://github.com/GMOD/vcf-js/compare/v5.0.9...v5.0.10) (2022-12-17) | ||
| - Use es2015 for nodejs build | ||
| ## [5.0.9](https://github.com/GMOD/vcf-js/compare/v5.0.8...v5.0.9) (2022-11-23) | ||
| - Fix erroneous parsing of symbolic alleles as breakends | ||
| ## [5.0.8](https://github.com/GMOD/vcf-js/compare/v5.0.7...v5.0.8) (2022-11-20) | ||
| - Parse single breakends and large insertion shorthand notation (#95) | ||
| <a name="5.0.7"></a> | ||
| ## [5.0.7](https://github.com/GMOD/vcf-js/compare/v5.0.6...v5.0.7) (2022-08-24) | ||
| - Don't throw error when there is a FORMAT column but no genotypes | ||
| <a name="5.0.6"></a> | ||
| ## [5.0.6](https://github.com/GMOD/vcf-js/compare/v5.0.5...v5.0.6) (2022-03-30) | ||
| - Include src directory for better source maps | ||
| <a name="5.0.5"></a> | ||
| ## [5.0.5](https://github.com/GMOD/vcf-js/compare/v5.0.4...v5.0.5) (2022-01-12) | ||
| - Add optimization related to better allocation of variant records, thanks to | ||
| @bpow for contributing | ||
| <a name="5.0.4"></a> | ||
| ## [5.0.4](https://github.com/GMOD/vcf-js/compare/v5.0.3...v5.0.4) (2021-12-23) | ||
| - Make the strict field in the constructor optional | ||
| - Export `Breakend` type for typescript users | ||
| <a name="5.0.3"></a> | ||
| ## [5.0.3](https://github.com/GMOD/vcf-js/compare/v5.0.2...v5.0.3) (2021-12-14) | ||
| - Add typescripting and esm module build | ||
| <a name="5.0.2"></a> | ||
| ## [5.0.2](https://github.com/GMOD/vcf-js/compare/v5.0.1...v5.0.2) (2021-11-13) | ||
| - Update package description to refer to variant call format | ||
| <a name="5.0.1"></a> | ||
| ## [5.0.1](https://github.com/GMOD/vcf-js/compare/v5.0.0...v5.0.1) (2021-11-04) | ||
| - Add URI decoding to INFO field | ||
| <a name="5.0.0"></a> | ||
| # [5.0.0](https://github.com/GMOD/vcf-js/compare/v4.0.4...v5.0.0) (2021-09-06) | ||
| - Make parseBreakends an optional helper function, all ALTs are plain strings | ||
| now instead of string|Breakend. This is a breaking change so a major version | ||
| bump is applied | ||
| <a name="4.0.4"></a> | ||
| ## [4.0.4](https://github.com/GMOD/vcf-js/compare/v4.0.1...v4.0.4) (2021-08-04) | ||
| - Fix issue when there is extra whitespace on the header line | ||
| <a name="4.0.3"></a> | ||
| ## [4.0.3](https://github.com/GMOD/vcf-js/compare/v4.0.1...v4.0.3) (2021-03-31) | ||
| - Include github automated fixes in release from before 4.0.2 | ||
| <a name="4.0.2"></a> | ||
| ## [4.0.2](https://github.com/GMOD/vcf-js/compare/v4.0.1...v4.0.2) (2021-03-31) | ||
| - Avoid modifying built-in exports with parseMetadata, fixes issue with using | ||
| parseMetadata from jest tests (#63) | ||
| <a name="4.0.1"></a> | ||
| ## [4.0.1](https://github.com/GMOD/vcf-js/compare/v4.0.0...v4.0.1) (2019-10-30) | ||
| - Add toString for Breakend ALTs so they are easily interpretable | ||
| ## [4.0.0](https://github.com/GMOD/vcf-js/compare/v3.0.0...v4.0.0) (2019-06-14) | ||
| - Breaking change: INFO entries that are type Flag now evaluate to `true` | ||
| instead of `null` | ||
| ## [3.0.0](https://github.com/GMOD/vcf-js/compare/v2.0.3...v3.0.0) (2019-05-31) | ||
| - Breaking change: ALT entries in breakend format now parse into a breakend | ||
| object instead of a string | ||
| - Performance improvements | ||
| ## [2.0.3](https://github.com/GMOD/vcf-js/compare/v2.0.2...v2.0.3) (2019-02-23) | ||
| - Upgrade to Babel 7 | ||
| ## [2.0.2](https://github.com/GMOD/vcf-js/compare/v2.0.1...v2.0.2) (2018-11-26) | ||
| - Remove errant unused dependency | ||
| ## [2.0.1](https://github.com/GMOD/vcf-js/compare/v2.0.0...v2.0.1) (2018-11-08) | ||
| - Bugfix for getMetadata() | ||
| ## [2.0.0](https://github.com/GMOD/vcf-js/compare/v1.0.4...v2.0.0) (2018-11-07) | ||
| - Breaking change: SAMPLES attribute of the variant is now evaluated lazily | ||
| ## [1.0.4](https://github.com/GMOD/vcf-js/compare/v1.0.3...v1.0.4) (2018-11-06) | ||
| - Decode %-encoded entries in INFO and FORMAT | ||
| ## [1.0.3](https://github.com/GMOD/vcf-js/compare/v1.0.2...v1.0.3) (2018-11-05) | ||
| - Fix for parsing missing genotypes | ||
| ## [1.0.2](https://github.com/GMOD/vcf-js/compare/v1.0.1...v1.0.2) (2018-10-11) | ||
| - Better handle filter metadata | ||
| ## [1.0.1](https://github.com/GMOD/vcf-js/compare/v1.0.0...v1.0.1) (2018-10-05) | ||
| - Fix bug in interpreting "Number" in header metadata | ||
| ## 1.0.0 (2018-10-05) | ||
| - Initial release |
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
15
-6.25%0
-100%179399
-7.02%60
-1.64%3907
-1.29%167
-50.15%