Forge Tools lincs_l1000

lincs_l1000 read

scidex.forge.lincs_l1000

Query LINCS L1000 (maayanlab.cloud/sigcom-lincs) for drug or genetic perturbation transcriptomic signatures. L1000 profiles ~978 landmark genes across thousands of chemical and genetic perturbagens in multiple cell lines — the canonical resource for drug repurposing, mechanism-of-action inference, and transcriptional response profiling. Two query modes: by_drug (chemical perturbagens, e.g. 'imatinib') and by_gene (genetic perturbagens — shRNA knockdown or overexpression). Optionally filter by cell line (e.g. cell_lines=['A375', 'MCF7']). Returns sig_id, pert_name, pert_type, cell_line, dosage, time_point per signature. Unknown queries return empty signatures with not_found=True — no exception raised. API: SigCom LINCS metadata API (POST /metadata-api/signatures/find) — public, no auth.

HTTP: POST /api/scidex/forge/lincs_l1000

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.lincs_l1000``.",
  "properties": {
    "query": {
      "description": "Drug name (by_drug mode, e.g. 'imatinib') or gene symbol (by_gene mode, e.g. 'TP53') to search for in LINCS L1000.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "'by_drug' finds chemical perturbagen signatures (pert_type=trt_cp). 'by_gene' finds genetic perturbagen signatures (shRNA knockdown / overexpression).",
      "enum": [
        "by_drug",
        "by_gene"
      ],
      "title": "Query Type",
      "type": "string"
    },
    "cell_lines": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional list of cell line names to restrict results (e.g. ['A375', 'MCF7']). If None or empty, all cell lines are included.",
      "title": "Cell Lines"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of signatures to return (1–100).",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query",
    "query_type"
  ],
  "title": "ForgeLINCSL1000In",
  "type": "object"
}
Output schema
{
  "$defs": {
    "LINCSL1000Signature": {
      "description": "One LINCS L1000 perturbation signature record.",
      "properties": {
        "sig_id": {
          "description": "LINCS signature identifier.",
          "title": "Sig Id",
          "type": "string"
        },
        "pert_name": {
          "description": "Perturbagen name (drug or gene symbol).",
          "title": "Pert Name",
          "type": "string"
        },
        "pert_type": {
          "description": "Perturbagen type (e.g. 'trt_cp' for chemical perturbagen, 'trt_sh' for shRNA knockdown, 'trt_oe' for overexpression).",
          "title": "Pert Type",
          "type": "string"
        },
        "cell_line": {
          "description": "Cell line name (e.g. 'A375', 'MCF7').",
          "title": "Cell Line",
          "type": "string"
        },
        "dosage": {
          "default": "",
          "description": "Perturbagen dose (e.g. '10 µM').",
          "title": "Dosage",
          "type": "string"
        },
        "time_point": {
          "default": "",
          "description": "Time point (e.g. '24 h').",
          "title": "Time Point",
          "type": "string"
        },
        "score": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Similarity score if returned by the API; None for metadata-only queries.",
          "title": "Score"
        }
      },
      "required": [
        "sig_id",
        "pert_name",
        "pert_type",
        "cell_line"
      ],
      "title": "LINCSL1000Signature",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.lincs_l1000``.",
  "properties": {
    "query": {
      "description": "The original query string.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The query type used ('by_drug' or 'by_gene').",
      "title": "Query Type",
      "type": "string"
    },
    "signatures": {
      "description": "LINCS L1000 signatures matching the query.",
      "items": {
        "$ref": "#/$defs/LINCSL1000Signature"
      },
      "title": "Signatures",
      "type": "array"
    },
    "total_found": {
      "description": "Number of signatures returned.",
      "title": "Total Found",
      "type": "integer"
    },
    "source": {
      "default": "LINCS SigCom (maayanlab.cloud/sigcom-lincs)",
      "description": "Data source attribution.",
      "title": "Source",
      "type": "string"
    },
    "not_found": {
      "description": "True if no signatures were found for the query.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "query",
    "query_type",
    "total_found",
    "not_found"
  ],
  "title": "ForgeLINCSL1000Out",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/lincs_l1000' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "query": "",
  "query_type": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.