import {z} from 'zod' export type GetApiSessionsSessionIdVariantsBrowseArgs = {session_id: string, scope?: ('variants' | 'phenotype' | 'screening' | 'denovo' | 'mtdna' | 'carriers' | 'dominant' | 'review') | undefined, gene?: string | undefined, classification?: string | undefined, tier?: string | undefined, hpo?: string | undefined, cursor?: (string | null) | undefined, limit?: number | undefined, version?: (string | null) | undefined, min_depth?: (number | null) | undefined, min_quality?: (number | null) | undefined, min_vaf?: (number | null) | undefined, max_vaf?: (number | null) | undefined, max_gnomad_af?: (number | null) | undefined, include_unknown_af?: boolean | undefined, impact?: (Array<'HIGH' | 'MODERATE' | 'LOW' | 'MODIFIER'> | null) | undefined, representation?: ('cards' | 'table') | undefined, scv_significance?: (Array<'pathogenic' | 'likely_pathogenic' | 'uncertain_significance' | 'likely_benign' | 'benign'> | null) | undefined, scv_minimum?: (number | null) | undefined, scv_include_unannotated?: boolean | undefined, chromosome?: (Array | null) | undefined, variant_type?: (Array | null) | undefined, genotype?: (Array | null) | undefined, inheritance_mode?: (Array | null) | undefined, consequence?: (Array | null) | undefined, biotype?: (Array | null) | undefined, acmg_criterion?: (Array | null) | undefined, clinvar_significance?: (Array | null) | undefined, start_position?: (number | null) | undefined, end_position?: (number | null) | undefined, has_hpo?: (boolean | null) | undefined, min_review_stars?: (number | null) | undefined, quality_status?: (Array | null) | undefined, source_filter?: (Array | null) | undefined, min_genotype_quality?: (number | null) | undefined, min_confidence?: (number | null) | undefined, min_priority_score?: (number | null) | undefined, min_sift_score?: (number | null) | undefined, max_sift_score?: (number | null) | undefined, min_alphamissense_score?: (number | null) | undefined, max_alphamissense_score?: (number | null) | undefined, min_metasvm_score?: (number | null) | undefined, max_metasvm_score?: (number | null) | undefined, min_dann_score?: (number | null) | undefined, max_dann_score?: (number | null) | undefined, min_phylop100way_vertebrate?: (number | null) | undefined, max_phylop100way_vertebrate?: (number | null) | undefined, min_gerp_rs?: (number | null) | undefined, max_gerp_rs?: (number | null) | undefined, min_bayesdel_addaf_score?: (number | null) | undefined, max_bayesdel_addaf_score?: (number | null) | undefined, min_bayesdel_noaf_score?: (number | null) | undefined, max_bayesdel_noaf_score?: (number | null) | undefined, min_mpc_score?: (number | null) | undefined, max_mpc_score?: (number | null) | undefined, min_spliceai_max_score?: (number | null) | undefined, max_spliceai_max_score?: (number | null) | undefined, min_pli?: (number | null) | undefined, max_pli?: (number | null) | undefined, min_oe_lof_upper?: (number | null) | undefined, max_oe_lof_upper?: (number | null) | undefined, min_oe_lof?: (number | null) | undefined, max_oe_lof?: (number | null) | undefined, min_mis_z?: (number | null) | undefined, max_mis_z?: (number | null) | undefined}; export type GetApiSessionsSessionIdVariantsBrowseOptions = {baseUrl: string, fetch?: typeof fetch | undefined}; export const getApiSessionsSessionIdVariantsBrowseResponse = z.unknown(); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Result Page * * GET /sessions/{session_id}/variants/browse */ export const getApiSessionsSessionIdVariantsBrowse = async (args: GetApiSessionsSessionIdVariantsBrowseArgs, options: GetApiSessionsSessionIdVariantsBrowseOptions) => { const {baseUrl, fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.scope != null) query.append("scope", String(args.scope)) if (args.gene != null) query.append("gene", String(args.gene)) if (args.classification != null) query.append("classification", String(args.classification)) if (args.tier != null) query.append("tier", String(args.tier)) if (args.hpo != null) query.append("hpo", String(args.hpo)) if (args.cursor != null) query.append("cursor", String(args.cursor)) if (args.limit != null) query.append("limit", String(args.limit)) if (args.version != null) query.append("version", String(args.version)) if (args.min_depth != null) query.append("min_depth", String(args.min_depth)) if (args.min_quality != null) query.append("min_quality", String(args.min_quality)) if (args.min_vaf != null) query.append("min_vaf", String(args.min_vaf)) if (args.max_vaf != null) query.append("max_vaf", String(args.max_vaf)) if (args.max_gnomad_af != null) query.append("max_gnomad_af", String(args.max_gnomad_af)) if (args.include_unknown_af != null) query.append("include_unknown_af", String(args.include_unknown_af)) for (const item of args.impact ?? []) query.append("impact", String(item)) if (args.representation != null) query.append("representation", String(args.representation)) for (const item of args.scv_significance ?? []) query.append("scv_significance", String(item)) if (args.scv_minimum != null) query.append("scv_minimum", String(args.scv_minimum)) if (args.scv_include_unannotated != null) query.append("scv_include_unannotated", String(args.scv_include_unannotated)) for (const item of args.chromosome ?? []) query.append("chromosome", String(item)) for (const item of args.variant_type ?? []) query.append("variant_type", String(item)) for (const item of args.genotype ?? []) query.append("genotype", String(item)) for (const item of args.inheritance_mode ?? []) query.append("inheritance_mode", String(item)) for (const item of args.consequence ?? []) query.append("consequence", String(item)) for (const item of args.biotype ?? []) query.append("biotype", String(item)) for (const item of args.acmg_criterion ?? []) query.append("acmg_criterion", String(item)) for (const item of args.clinvar_significance ?? []) query.append("clinvar_significance", String(item)) if (args.start_position != null) query.append("start_position", String(args.start_position)) if (args.end_position != null) query.append("end_position", String(args.end_position)) if (args.has_hpo != null) query.append("has_hpo", String(args.has_hpo)) if (args.min_review_stars != null) query.append("min_review_stars", String(args.min_review_stars)) for (const item of args.quality_status ?? []) query.append("quality_status", String(item)) for (const item of args.source_filter ?? []) query.append("source_filter", String(item)) if (args.min_genotype_quality != null) query.append("min_genotype_quality", String(args.min_genotype_quality)) if (args.min_confidence != null) query.append("min_confidence", String(args.min_confidence)) if (args.min_priority_score != null) query.append("min_priority_score", String(args.min_priority_score)) if (args.min_sift_score != null) query.append("min_sift_score", String(args.min_sift_score)) if (args.max_sift_score != null) query.append("max_sift_score", String(args.max_sift_score)) if (args.min_alphamissense_score != null) query.append("min_alphamissense_score", String(args.min_alphamissense_score)) if (args.max_alphamissense_score != null) query.append("max_alphamissense_score", String(args.max_alphamissense_score)) if (args.min_metasvm_score != null) query.append("min_metasvm_score", String(args.min_metasvm_score)) if (args.max_metasvm_score != null) query.append("max_metasvm_score", String(args.max_metasvm_score)) if (args.min_dann_score != null) query.append("min_dann_score", String(args.min_dann_score)) if (args.max_dann_score != null) query.append("max_dann_score", String(args.max_dann_score)) if (args.min_phylop100way_vertebrate != null) query.append("min_phylop100way_vertebrate", String(args.min_phylop100way_vertebrate)) if (args.max_phylop100way_vertebrate != null) query.append("max_phylop100way_vertebrate", String(args.max_phylop100way_vertebrate)) if (args.min_gerp_rs != null) query.append("min_gerp_rs", String(args.min_gerp_rs)) if (args.max_gerp_rs != null) query.append("max_gerp_rs", String(args.max_gerp_rs)) if (args.min_bayesdel_addaf_score != null) query.append("min_bayesdel_addaf_score", String(args.min_bayesdel_addaf_score)) if (args.max_bayesdel_addaf_score != null) query.append("max_bayesdel_addaf_score", String(args.max_bayesdel_addaf_score)) if (args.min_bayesdel_noaf_score != null) query.append("min_bayesdel_noaf_score", String(args.min_bayesdel_noaf_score)) if (args.max_bayesdel_noaf_score != null) query.append("max_bayesdel_noaf_score", String(args.max_bayesdel_noaf_score)) if (args.min_mpc_score != null) query.append("min_mpc_score", String(args.min_mpc_score)) if (args.max_mpc_score != null) query.append("max_mpc_score", String(args.max_mpc_score)) if (args.min_spliceai_max_score != null) query.append("min_spliceai_max_score", String(args.min_spliceai_max_score)) if (args.max_spliceai_max_score != null) query.append("max_spliceai_max_score", String(args.max_spliceai_max_score)) if (args.min_pli != null) query.append("min_pli", String(args.min_pli)) if (args.max_pli != null) query.append("max_pli", String(args.max_pli)) if (args.min_oe_lof_upper != null) query.append("min_oe_lof_upper", String(args.min_oe_lof_upper)) if (args.max_oe_lof_upper != null) query.append("max_oe_lof_upper", String(args.max_oe_lof_upper)) if (args.min_oe_lof != null) query.append("min_oe_lof", String(args.min_oe_lof)) if (args.max_oe_lof != null) query.append("max_oe_lof", String(args.max_oe_lof)) if (args.min_mis_z != null) query.append("min_mis_z", String(args.min_mis_z)) if (args.max_mis_z != null) query.append("max_mis_z", String(args.max_mis_z)) const url = `${baseUrl.replace(/\/+$/, '')}/sessions/${encodeURIComponent(String(args.session_id))}/variants/browse${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiSessionsSessionIdVariantsBrowseResponse, await res.json()) };