WikiPathways - open, community-curated biological pathway data for research and analysis.
This is a community listing. If you own this API, you can request ownership.
npm install omnistream-sdkimport { OmniClient } from "omnistream-sdk";
const omni = new OmniClient({ token: process.env.OMNI_KEY! });
// One key reaches every API on the marketplace.
const data = await omni.call("wikipathways/postcreatepathway");One install, one key - the same client calls every API on the marketplace.
The GPML code for the new pathway
The authentication info
The user name
createPathwayCreate a new pathway on the wiki with the given GPML code.<br>Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service.
findInteractionsFind interactions defined in WikiPathways pathways.
findPathwaysByLiterature
findPathwaysByText
findPathwaysByXref
/**
* WikiPathwaysWebservices - generated by OmniStream from WikiPathways Webservices's OpenAPI spec.
* One typed method per endpoint. A single Omni key reaches the API.
*/
const DEFAULT_BASE = "https://grid.skinvaults.online/v1/proxy/wikipathways";
export class WikiPathwaysWebservicesError extends Error {
status: number;
code?: string;
constructor(status: number, code: string | undefined, message?: string) {
super(message || `WikiPathwaysWebservices error ${status}`);
this.name = "WikiPathwaysWebservicesError";
this.status = status;
this.code = code;
}
}
export interface WikiPathwaysWebservicesOptions {
baseUrl?: string;
fetch?: typeof fetch;
timeoutMs?: number;
}
export class WikiPathwaysWebservices {
/** @param token Your OmniStream key (one key for every API). */
constructor(private token: string, private opts: WikiPathwaysWebservicesOptions = {}) {
if (!token) throw new Error("WikiPathwaysWebservices: token is required");
}
rateLimit: { remainingMinute?: number; remainingDay?: number } | null = null;
private async _request(method: string, path: string, { params, body }: { params?: Record<string, unknown>; body?: unknown } = {}): Promise<any> {
const f = this.opts.fetch ?? globalThis.fetch;
const url = new URL((this.opts.baseUrl ?? DEFAULT_BASE).replace(/\/+$/, "") + path);
if (params) for (const [k, v] of Object.entries(params)) if (v != null) url.searchParams.set(k, String(v));
const headers: Record<string, string> = { "x-omni-key": this.token };
if (body !== undefined) headers["content-type"] = "application/json";
const res = await f(url, { method, headers, body: body !== undefined ? JSON.stringify(body) : undefined });
this.rateLimit = {
remainingMinute: Number(res.headers.get("x-ratelimit-remaining-minute")) || undefined,
remainingDay: Number(res.headers.get("x-ratelimit-remaining-day")) || undefined,
};
const data = await res.json().catch(() => ({}));
if (!res.ok) throw new WikiPathwaysWebservicesError(res.status, data?.error?.code, data?.error?.message);
return data.data ?? data;
}
/** createPathwayCreate a new pathway on the wiki with the given GPML code.<br>Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service. */
postcreatepathway(params: { "gpml": string; "auth": string; "username": string; "format"?: string }): Promise<any> {
return this._request("POST", "/createPathway", { params });
}
/** findInteractionsFind interactions defined in WikiPathways pathways. */
getfindinteractions(params: { "query": string; "format"?: string }): Promise<any> {
return this._request("GET", "/findInteractions", { params });
}
/** findPathwaysByLiterature */
getfindpathwaysbyliterature(params: { "query": string; "format"?: string }): Promise<any> {
return this._request("GET", "/findPathwaysByLiterature", { params });
}
/** findPathwaysByText */
getfindpathwaysbytext(params: { "query": string; "species"?: string; "format"?: string }): Promise<any> {
return this._request("GET", "/findPathwaysByText", { params });
}
/** findPathwaysByXref */
getfindpathwaysbyxref(params: { "ids": unknown[]; "codes"?: unknown[]; "format"?: string }): Promise<any> {
return this._request("GET", "/findPathwaysByXref", { params });
}
/** getColoredPathwayGet a colored image version of the pathway. */
getgetcoloredpathway(params: { "pwId": string; "revision": string; "graphId": unknown[]; "color": unknown[]; "fileType": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getColoredPathway", { params });
}
/** getCurationTagHistory */
getgetcurationtaghistory(params: { "pwId": string; "timestamp"?: string; "format"?: string }): Promise<any> {
return this._request("GET", "/getCurationTagHistory", { params });
}
/** getCurationTagsGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag. */
getgetcurationtags(params: { "pwId": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getCurationTags", { params });
}
/** getCurationTagsByNameGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag. */
getgetcurationtagsbyname(params: { "tagName": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getCurationTagsByName", { params });
}
/** getOntologyTermsByPathway */
getgetontologytermsbypathway(params: { "pwId": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getOntologyTermsByPathway", { params });
}
/** getPathway */
getgetpathway(params: { "pwId": string; "revision"?: number; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathway", { params });
}
/** getPathwayAsDownload a pathway in the specified file format. */
getgetpathwayas(params: { "fileType": string; "pwId": string; "revision"?: number; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathwayAs", { params });
}
/** getPathwayHistoryGet the revision history of a pathway. */
getgetpathwayhistory(params: { "pwId": string; "timestamp": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathwayHistory", { params });
}
/** getPathwayInfoGet some general info about the pathway, such as the name, species, without downloading the GPML. */
getgetpathwayinfo(params: { "pwId": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathwayInfo", { params });
}
/** getPathwaysByOntologyTerm */
getgetpathwaysbyontologyterm(params: { "term": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathwaysByOntologyTerm", { params });
}
/** getPathwaysByParentOntologyTerm */
getgetpathwaysbyparentontologyterm(params: { "term": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getPathwaysByParentOntologyTerm", { params });
}
/** getRecentChangesGet the recently changed pathways.<br>Note: the recent changes table only retains items for a limited time (2 months), so there is no guarantee that you will get all changes when the timestamp points to a date that is more than 2 months in the past. */
getgetrecentchanges(params: { "timestamp": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getRecentChanges", { params });
}
/** getUserByOrcid */
getgetuserbyorcid(params: { "orcid": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getUserByOrcid", { params });
}
/** getXrefList */
getgetxreflist(params: { "pwId": string; "code": string; "format"?: string }): Promise<any> {
return this._request("GET", "/getXrefList", { params });
}
/** listOrganisms */
getlistorganisms(params: { "format"?: string }): Promise<any> {
return this._request("GET", "/listOrganisms", { params });
}
/** listPathways */
getlistpathways(params: { "organism"?: string; "format"?: string }): Promise<any> {
return this._request("GET", "/listPathways", { params });
}
/** loginStart a logged in session, using an existing WikiPathways account. This function will return an authentication code that can be used to excecute methods that need authentication (e.g. updatePathway). */
getlogin(params: { "name": string; "pass": string; "format"?: string }): Promise<any> {
return this._request("GET", "/login", { params });
}
/** removeCurationTagRemove a curation tag from a pathway. */
getremovecurationtag(params: { "pwId": string; "tagName": string; "auth": string; "username": string; "format"?: string }): Promise<any> {
return this._request("GET", "/removeCurationTag", { params });
}
/** removeOntologyTag */
getremoveontologytag(params: { "pwId": string; "termId": string; "auth": string; "user": string; "format"?: string }): Promise<any> {
return this._request("GET", "/removeOntologyTag", { params });
}
/** saveCurationTag */
getsavecurationtag(params: { "pwId": string; "tagName": string; "text": string; "revision": number; "auth": string; "username": string; "format"?: string }): Promise<any> {
return this._request("GET", "/saveCurationTag", { params });
}
/** saveOntologyTag */
getsaveontologytag(params: { "pwId": string; "term": string; "termId": string; "auth": string; "user": string; "format"?: string }): Promise<any> {
return this._request("GET", "/saveOntologyTag", { params });
}
/** updatePathwayUpdate a pathway on the wiki with the given GPML code.<br>Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service. */
getupdatepathway(params: { "pwId": string; "description": string; "gpml": string; "revision": number; "auth": string; "username": string; "format"?: string }): Promise<any> {
return this._request("GET", "/updatePathway", { params });
}
}
export default WikiPathwaysWebservices;
No reviews yet. Be the first to rate this API.
No. WikiPathways Webservices is included with your Omni key, so a single OmniStream key is enough to start calling it. There is no separate signup with the provider and no second key to manage.
WikiPathways - open, community-curated biological pathway data for research and analysis. It exposes 27 endpoints over POST, GET, including POST /createPathway, GET /findInteractions, GET /findPathwaysByLiterature.
Install the OmniStream SDK for your language and call WikiPathways Webservices through it. The client is generated from this API's OpenAPI spec, so parameters and responses are fully typed, and the same client also calls every other API in the marketplace.
You can start on the free plan. OmniStream charges for the unified SDK, key storage and proxy rather than for WikiPathways Webservices itself.
Zippopotam Postal Codes: Free, keyless place lookup by postal code for 60+ countries - returns place names, state, latitude and longitude.
getColoredPathwayGet a colored image version of the pathway.
getCurationTagHistory
getCurationTagsGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag.
getCurationTagsByNameGet all curation tags for the given tag name. Use this method if you want to find all pathways that are tagged with a specific curation tag.
getOntologyTermsByPathway
getPathway
getPathwayAsDownload a pathway in the specified file format.
getPathwayHistoryGet the revision history of a pathway.
getPathwayInfoGet some general info about the pathway, such as the name, species, without downloading the GPML.
getPathwaysByOntologyTerm
getPathwaysByParentOntologyTerm
getRecentChangesGet the recently changed pathways.<br>Note: the recent changes table only retains items for a limited time (2 months), so there is no guarantee that you will get all changes when the timestamp points to a date that is more than 2 months in the past.
getUserByOrcid
getXrefList
listOrganisms
listPathways
loginStart a logged in session, using an existing WikiPathways account. This function will return an authentication code that can be used to excecute methods that need authentication (e.g. updatePathway).
removeCurationTagRemove a curation tag from a pathway.
removeOntologyTag
saveCurationTag
saveOntologyTag
updatePathwayUpdate a pathway on the wiki with the given GPML code.<br>Note: To create/modify pathways via the web service, you need to have an account with web service write permissions. Please contact us to request write access for the web service.