[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-deepmind-pdb-database":3,"mdc-pzi21w-key":33,"related-org-google-deepmind-pdb-database":1435,"related-repo-google-deepmind-pdb-database":1601},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"pdb-database","search and download biomolecular 3D structures","Use when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands). Supports searching by sequence similarity, structure similarity, chemical and other attributes. Also use to get metadata about biomolecular structure experiments.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"google-deepmind","Google DeepMind","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-deepmind.png",[12,16,19],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Life Sciences","life-sciences",{"name":20,"slug":21,"type":15},"Bioinformatics","bioinformatics",2333,"https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills","2026-07-12T07:51:42.886325",null,234,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"GDM Science Skills to speed up agentic scientific workflows with better grounding and higher token efficiency. Integrate insights from AlphaGenome, AFDB, UniProt and 30+ other databases and tools.","https:\u002F\u002Fgithub.com\u002Fgoogle-deepmind\u002Fscience-skills\u002Ftree\u002FHEAD\u002Fskills\u002Fpdb_database","---\nname: pdb-database\ndescription: >\n  Use when you want to search for or download experimentally-determined 3D\n  structures for biomolecules (proteins, nucleic acids, bound ligands).\n  Supports searching by sequence similarity, structure similarity, chemical\n  and other attributes. Also use to get metadata about biomolecular structure\n  experiments.\n---\n\n# RCSB Protein Data Bank skill\n\n## Prerequisites\n\n1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure\n    `uv` is installed and on PATH.\n2.  **User Notification**: If .licenses\u002Fpdb_database_LICENSE.txt does not\n    already exist in the workspace root directory then (1) prominently notify\n    the user to check the terms at https:\u002F\u002Fwww.rcsb.org\u002Fpages\u002Fusage-policy, then\n    (2) create the file recording the notification text and timestamp.\n\n## Core Rules\n\n-   **Always prefer to use the provided scripts**. Only as a last resort use\n    `curl`, `urllib`, raw HTTP requests, or any other method to access PDB APIs.\n    The scripts automatically enforce required rate limits.\n-   **Always redirect output to a file**. Parse output with e.g. `jq`, `grep`,\n    or a short Python snippet. Do NOT print large API responses to stdout to\n    avoid truncation.\n-   **Notification**: If this skill is used, ensure this is mentioned in the\n    output.\n-   **Explain your queries** On completing a task that used PDB JSON\u002FGraphQL\n    queries, explain in clear language what your query did so the user can\n    correct any bad assumptions.\n\n## Attribute-based search workflow\n\n1.  **Fetch the relevant schema** to discover searchable attribute names. For\n    structure attributes: `uv run scripts\u002Ffetch_schema.py --api search_structure\n    --output schema_structure.txt` For chemical attributes: `uv run\n    scripts\u002Ffetch_schema.py --api search_chemical --output schema_chemical.txt`\n\n2.  **Grep the schema** to find relevant attributes. Grep one keyword at a time\n    and examine many lines — there are lots of similar attributes and you must\n    choose the **best match** for the user's intent.\n\n3.  **Compose and run a JSON search query** using the discovered attributes: `uv\n    run scripts\u002Fsearch_pdb.py --query '\u003CJSON>' --return_type \u003CRETURN_TYPE>\n    --output results.json` Pass the `--count_only` flag to get just the number\n    of matching entries.\n\n### For step 2: some basic PDB concepts (helpful for attribute choice)\n\n-   **Entity**: A unique molecule found in a structure.\n-   **Instance \u002F Chain**: A particular copy of an entity. E.g. if a structure\n    contains two protein chains with the same sequence, they are the same entity\n    but different instances \u002F chains.\n-   **Assembly**: A biologically relevant collection of instances \u002F chains. This\n    may be the same as the deposited structure, a subset, or multiple copies.\n-   **Label vs Auth**: Polymer instances get letter labels (\"A\", \"B\", \"AA\") and\n    their monomers are numbered. There are author-assigned (\"auth\") and\n    PDB-internal (\"label\") schemes. The label scheme is more consistent and is\n    always used in scripts and APIs. However, users and papers may refer to the\n    author scheme (clarify which scheme is being used if necessary).\n-   **Chemical component**: A small molecule \u002F monomer, with an ID matching\n    `[A-Z]{1,3}`\n-   **Primary citation**: The main publication about a structure. Prefer\n    `primary_citation` attributes over `citation` attributes.\n-   **Resolution**: Frequently used measure of structure quality (lower is\n    better). Usually prefer `rcsb_entry_info.resolution_combined`, which\n    accounts for different experimental methods.\n\n### For step 3: Example queries\n\n```bash\n# Non-human proteins published in Nature, newest first\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"group\", \"logical_operator\": \"and\", \"nodes\": [ { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"negation\": true, \"value\": \"Homo sapiens\", \"attribute\": \"rcsb_entity_source_organism.taxonomy_lineage.name\" } }, { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"Nature\", \"attribute\": \"rcsb_primary_citation.rcsb_journal_abbrev\" } } ] }' --return_type entry --sort_by rcsb_accession_info.initial_release_date --sort_direction desc --page_start 0 --rows 100 --output results.json\n```\n\n```bash\n# Structures containing the chemical component CA (Ca2+ ion)\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"text_chem\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"CA\", \"attribute\": \"rcsb_chem_comp_container_identifiers.comp_id\" } }' --return_type entry --output results.json\n```\n\n```bash\n# Number of entries with disulfide bonds\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"disulfide bridge\", \"attribute\": \"rcsb_polymer_struct_conn.connect_type\" } }' --return_type entry --count-only --output count.json\n```\n\nCommon operators: `exact_match`, `equals`, `exists`, `contains_phrase`,\n`contains_words`, `in`, `greater`, `less`\n\n## Similarity-based search workflow\n\nSimilarity searches do not require a schema fetch. Basic examples:\n\n```bash\n# Sequence similarity\nuv run scripts\u002Fsearch_pdb.py --query '{ \"query\": { \"type\": \"terminal\", \"service\": \"sequence\", \"parameters\": { \"evalue_cutoff\": 1, \"identity_cutoff\": 0.9, \"sequence_type\": \"protein\", \"value\": \"MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQ\" } }, \"request_options\": { \"scoring_strategy\": \"sequence\" } }' --return_type polymer_entity --output results.json\n```\n\n```bash\n# Structure similarity\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"structure\", \"parameters\": { \"value\": {\"entry_id\": \"6LU7\", \"asym_id\": \"A\"}, \"number_of_candidates\": 2000 } }' --return_type polymer_entity --output results.json\n```\n\n```bash\n# Sequence motif match\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"seqmotif\", \"parameters\": { \"value\": \"C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H.\", \"pattern_type\": \"prosite\", \"sequence_type\": \"protein\" } }' --return_type polymer_entity --output results.json\n```\n\n```bash\n# Chemical descriptor match\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"chemical\", \"parameters\": { \"value\": \"InChI=1S\u002FC8H9NO2\u002Fc1-6(10)9-7-2-4-8(11)5-3-7\u002Fh2-5,11H,1H3,(H,9,10)\", \"type\": \"descriptor\", \"descriptor_type\": \"InChI\", \"match_type\": \"graph-strict\" } }' --return_type mol_definition --output results.json\n```\n\nSee https:\u002F\u002Fsearch.rcsb.org\u002F#search-services for more details.\n\n## Full text search workflow\n\nSearches **all** text associated with an entry. Example:\n\n```bash\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"full_text\", \"parameters\": { \"value\": \"isopeptide + ( collagen | fibrinogen )\" } }' --return_type entry --output results.json\n```\n\n> **Important**: use `full_text` search as a **last resort** when there's no\n> more precise attribute search available. Consider using the `struct.title` or\n> `rcsb_pubmed_abstract_text` attributes instead.\n\n## File download workflow\n\nTo download full PDB entries, use the `download_coordinate_files.py` script. Use\nthis when you need access to atomic coordinates, when asked for a pdb \u002F mmcif\nfile, or when non-specifically asked to fetch a PDB code. Example:\n\n```bash\nuv run scripts\u002Fdownload_coordinate_files.py --ids \"4HHB,6BEA\" --format \"mmcif\" --output_dir \u003COUTPUT_DIR>\n```\n\n## Metadata query workflow\n\nThis flow is significantly more efficient than downloading full coordinate files\nwhen you only need a few pieces of metadata about each entry \u002F entity.\n\n1.  **Fetch the schema** for the relevant object type. E.g. `uv run\n    scripts\u002Ffetch_schema.py --api data_entry --output schema_entry.txt`\n\n2.  **Grep the schema** for relevant fields (one keyword at a time, many lines).\n\n3.  **Compose and run a GraphQL metadata query**: `uv run\n    scripts\u002Ffetch_pdb_metadata.py --query '\u003CGraphQL>' --output results.json`\n\n### For step 3: Example queries\n\n```bash\n# Fetch structure titles and experimental methods\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ entries(entry_ids: [\"1STP\", \"2JEF\", \"1CDG\"]) { rcsb_id struct { title } exptl { method } } }' --output results.json\n```\n\n```bash\n# Fetch polymer entity taxonomy and cluster membership\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ polymer_entities(entity_ids:[\"2CPK_1\",\"3WHM_1\",\"2D5Z_1\"]) { rcsb_id rcsb_entity_source_organism { ncbi_taxonomy_id ncbi_scientific_name } rcsb_cluster_membership { cluster_id identity } } }' --output results.json\n```\n\n```bash\n# Fetch polymer entity external sequence database accessions\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ entries(entry_ids:[\"7NHM\", \"5L2G\"]){ polymer_entities { rcsb_id rcsb_polymer_entity_container_identifiers { reference_sequence_identifiers { database_accession database_name } } } } }' --output results.json\n```\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,54,109,115,190,196,266,273,376,382,507,570,639,701,707,712,776,839,902,966,979,985,997,1052,1097,1103,1116,1203,1209,1214,1258,1263,1319,1374,1429],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"rcsb-protein-data-bank-skill",[44],{"type":45,"value":46},"text","RCSB Protein Data Bank skill",{"type":39,"tag":48,"props":49,"children":51},"h2",{"id":50},"prerequisites",[52],{"type":45,"value":53},"Prerequisites",{"type":39,"tag":55,"props":56,"children":57},"ol",{},[58,89],{"type":39,"tag":59,"props":60,"children":61},"li",{},[62,73,75,80,82,87],{"type":39,"tag":63,"props":64,"children":65},"strong",{},[66],{"type":39,"tag":67,"props":68,"children":70},"code",{"className":69},[],[71],{"type":45,"value":72},"uv",{"type":45,"value":74},": Read the ",{"type":39,"tag":67,"props":76,"children":78},{"className":77},[],[79],{"type":45,"value":72},{"type":45,"value":81}," skill and follow its Setup instructions to ensure\n",{"type":39,"tag":67,"props":83,"children":85},{"className":84},[],[86],{"type":45,"value":72},{"type":45,"value":88}," is installed and on PATH.",{"type":39,"tag":59,"props":90,"children":91},{},[92,97,99,107],{"type":39,"tag":63,"props":93,"children":94},{},[95],{"type":45,"value":96},"User Notification",{"type":45,"value":98},": If .licenses\u002Fpdb_database_LICENSE.txt does not\nalready exist in the workspace root directory then (1) prominently notify\nthe user to check the terms at ",{"type":39,"tag":100,"props":101,"children":105},"a",{"href":102,"rel":103},"https:\u002F\u002Fwww.rcsb.org\u002Fpages\u002Fusage-policy",[104],"nofollow",[106],{"type":45,"value":102},{"type":45,"value":108},", then\n(2) create the file recording the notification text and timestamp.",{"type":39,"tag":48,"props":110,"children":112},{"id":111},"core-rules",[113],{"type":45,"value":114},"Core Rules",{"type":39,"tag":116,"props":117,"children":118},"ul",{},[119,145,170,180],{"type":39,"tag":59,"props":120,"children":121},{},[122,127,129,135,137,143],{"type":39,"tag":63,"props":123,"children":124},{},[125],{"type":45,"value":126},"Always prefer to use the provided scripts",{"type":45,"value":128},". Only as a last resort use\n",{"type":39,"tag":67,"props":130,"children":132},{"className":131},[],[133],{"type":45,"value":134},"curl",{"type":45,"value":136},", ",{"type":39,"tag":67,"props":138,"children":140},{"className":139},[],[141],{"type":45,"value":142},"urllib",{"type":45,"value":144},", raw HTTP requests, or any other method to access PDB APIs.\nThe scripts automatically enforce required rate limits.",{"type":39,"tag":59,"props":146,"children":147},{},[148,153,155,161,162,168],{"type":39,"tag":63,"props":149,"children":150},{},[151],{"type":45,"value":152},"Always redirect output to a file",{"type":45,"value":154},". Parse output with e.g. ",{"type":39,"tag":67,"props":156,"children":158},{"className":157},[],[159],{"type":45,"value":160},"jq",{"type":45,"value":136},{"type":39,"tag":67,"props":163,"children":165},{"className":164},[],[166],{"type":45,"value":167},"grep",{"type":45,"value":169},",\nor a short Python snippet. Do NOT print large API responses to stdout to\navoid truncation.",{"type":39,"tag":59,"props":171,"children":172},{},[173,178],{"type":39,"tag":63,"props":174,"children":175},{},[176],{"type":45,"value":177},"Notification",{"type":45,"value":179},": If this skill is used, ensure this is mentioned in the\noutput.",{"type":39,"tag":59,"props":181,"children":182},{},[183,188],{"type":39,"tag":63,"props":184,"children":185},{},[186],{"type":45,"value":187},"Explain your queries",{"type":45,"value":189}," On completing a task that used PDB JSON\u002FGraphQL\nqueries, explain in clear language what your query did so the user can\ncorrect any bad assumptions.",{"type":39,"tag":48,"props":191,"children":193},{"id":192},"attribute-based-search-workflow",[194],{"type":45,"value":195},"Attribute-based search workflow",{"type":39,"tag":55,"props":197,"children":198},{},[199,223,240],{"type":39,"tag":59,"props":200,"children":201},{},[202,207,209,215,217],{"type":39,"tag":63,"props":203,"children":204},{},[205],{"type":45,"value":206},"Fetch the relevant schema",{"type":45,"value":208}," to discover searchable attribute names. For\nstructure attributes: ",{"type":39,"tag":67,"props":210,"children":212},{"className":211},[],[213],{"type":45,"value":214},"uv run scripts\u002Ffetch_schema.py --api search_structure --output schema_structure.txt",{"type":45,"value":216}," For chemical attributes: ",{"type":39,"tag":67,"props":218,"children":220},{"className":219},[],[221],{"type":45,"value":222},"uv run scripts\u002Ffetch_schema.py --api search_chemical --output schema_chemical.txt",{"type":39,"tag":59,"props":224,"children":225},{},[226,231,233,238],{"type":39,"tag":63,"props":227,"children":228},{},[229],{"type":45,"value":230},"Grep the schema",{"type":45,"value":232}," to find relevant attributes. Grep one keyword at a time\nand examine many lines — there are lots of similar attributes and you must\nchoose the ",{"type":39,"tag":63,"props":234,"children":235},{},[236],{"type":45,"value":237},"best match",{"type":45,"value":239}," for the user's intent.",{"type":39,"tag":59,"props":241,"children":242},{},[243,248,250,256,258,264],{"type":39,"tag":63,"props":244,"children":245},{},[246],{"type":45,"value":247},"Compose and run a JSON search query",{"type":45,"value":249}," using the discovered attributes: ",{"type":39,"tag":67,"props":251,"children":253},{"className":252},[],[254],{"type":45,"value":255},"uv run scripts\u002Fsearch_pdb.py --query '\u003CJSON>' --return_type \u003CRETURN_TYPE> --output results.json",{"type":45,"value":257}," Pass the ",{"type":39,"tag":67,"props":259,"children":261},{"className":260},[],[262],{"type":45,"value":263},"--count_only",{"type":45,"value":265}," flag to get just the number\nof matching entries.",{"type":39,"tag":267,"props":268,"children":270},"h3",{"id":269},"for-step-2-some-basic-pdb-concepts-helpful-for-attribute-choice",[271],{"type":45,"value":272},"For step 2: some basic PDB concepts (helpful for attribute choice)",{"type":39,"tag":116,"props":274,"children":275},{},[276,286,296,306,316,332,358],{"type":39,"tag":59,"props":277,"children":278},{},[279,284],{"type":39,"tag":63,"props":280,"children":281},{},[282],{"type":45,"value":283},"Entity",{"type":45,"value":285},": A unique molecule found in a structure.",{"type":39,"tag":59,"props":287,"children":288},{},[289,294],{"type":39,"tag":63,"props":290,"children":291},{},[292],{"type":45,"value":293},"Instance \u002F Chain",{"type":45,"value":295},": A particular copy of an entity. E.g. if a structure\ncontains two protein chains with the same sequence, they are the same entity\nbut different instances \u002F chains.",{"type":39,"tag":59,"props":297,"children":298},{},[299,304],{"type":39,"tag":63,"props":300,"children":301},{},[302],{"type":45,"value":303},"Assembly",{"type":45,"value":305},": A biologically relevant collection of instances \u002F chains. This\nmay be the same as the deposited structure, a subset, or multiple copies.",{"type":39,"tag":59,"props":307,"children":308},{},[309,314],{"type":39,"tag":63,"props":310,"children":311},{},[312],{"type":45,"value":313},"Label vs Auth",{"type":45,"value":315},": Polymer instances get letter labels (\"A\", \"B\", \"AA\") and\ntheir monomers are numbered. There are author-assigned (\"auth\") and\nPDB-internal (\"label\") schemes. The label scheme is more consistent and is\nalways used in scripts and APIs. However, users and papers may refer to the\nauthor scheme (clarify which scheme is being used if necessary).",{"type":39,"tag":59,"props":317,"children":318},{},[319,324,326],{"type":39,"tag":63,"props":320,"children":321},{},[322],{"type":45,"value":323},"Chemical component",{"type":45,"value":325},": A small molecule \u002F monomer, with an ID matching\n",{"type":39,"tag":67,"props":327,"children":329},{"className":328},[],[330],{"type":45,"value":331},"[A-Z]{1,3}",{"type":39,"tag":59,"props":333,"children":334},{},[335,340,342,348,350,356],{"type":39,"tag":63,"props":336,"children":337},{},[338],{"type":45,"value":339},"Primary citation",{"type":45,"value":341},": The main publication about a structure. Prefer\n",{"type":39,"tag":67,"props":343,"children":345},{"className":344},[],[346],{"type":45,"value":347},"primary_citation",{"type":45,"value":349}," attributes over ",{"type":39,"tag":67,"props":351,"children":353},{"className":352},[],[354],{"type":45,"value":355},"citation",{"type":45,"value":357}," attributes.",{"type":39,"tag":59,"props":359,"children":360},{},[361,366,368,374],{"type":39,"tag":63,"props":362,"children":363},{},[364],{"type":45,"value":365},"Resolution",{"type":45,"value":367},": Frequently used measure of structure quality (lower is\nbetter). Usually prefer ",{"type":39,"tag":67,"props":369,"children":371},{"className":370},[],[372],{"type":45,"value":373},"rcsb_entry_info.resolution_combined",{"type":45,"value":375},", which\naccounts for different experimental methods.",{"type":39,"tag":267,"props":377,"children":379},{"id":378},"for-step-3-example-queries",[380],{"type":45,"value":381},"For step 3: Example queries",{"type":39,"tag":383,"props":384,"children":389},"pre",{"className":385,"code":386,"language":387,"meta":388,"style":388},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Non-human proteins published in Nature, newest first\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"group\", \"logical_operator\": \"and\", \"nodes\": [ { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"negation\": true, \"value\": \"Homo sapiens\", \"attribute\": \"rcsb_entity_source_organism.taxonomy_lineage.name\" } }, { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"Nature\", \"attribute\": \"rcsb_primary_citation.rcsb_journal_abbrev\" } } ] }' --return_type entry --sort_by rcsb_accession_info.initial_release_date --sort_direction desc --page_start 0 --rows 100 --output results.json\n","bash","",[390],{"type":39,"tag":67,"props":391,"children":392},{"__ignoreMap":388},[393,405],{"type":39,"tag":394,"props":395,"children":398},"span",{"class":396,"line":397},"line",1,[399],{"type":39,"tag":394,"props":400,"children":402},{"style":401},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[403],{"type":45,"value":404},"# Non-human proteins published in Nature, newest first\n",{"type":39,"tag":394,"props":406,"children":408},{"class":396,"line":407},2,[409,414,420,425,430,436,441,446,451,456,461,466,471,476,481,487,492,497,502],{"type":39,"tag":394,"props":410,"children":412},{"style":411},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[413],{"type":45,"value":72},{"type":39,"tag":394,"props":415,"children":417},{"style":416},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[418],{"type":45,"value":419}," run",{"type":39,"tag":394,"props":421,"children":422},{"style":416},[423],{"type":45,"value":424}," scripts\u002Fsearch_pdb.py",{"type":39,"tag":394,"props":426,"children":427},{"style":416},[428],{"type":45,"value":429}," --query",{"type":39,"tag":394,"props":431,"children":433},{"style":432},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[434],{"type":45,"value":435}," '",{"type":39,"tag":394,"props":437,"children":438},{"style":416},[439],{"type":45,"value":440},"{ \"type\": \"group\", \"logical_operator\": \"and\", \"nodes\": [ { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"negation\": true, \"value\": \"Homo sapiens\", \"attribute\": \"rcsb_entity_source_organism.taxonomy_lineage.name\" } }, { \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"Nature\", \"attribute\": \"rcsb_primary_citation.rcsb_journal_abbrev\" } } ] }",{"type":39,"tag":394,"props":442,"children":443},{"style":432},[444],{"type":45,"value":445},"'",{"type":39,"tag":394,"props":447,"children":448},{"style":416},[449],{"type":45,"value":450}," --return_type",{"type":39,"tag":394,"props":452,"children":453},{"style":416},[454],{"type":45,"value":455}," entry",{"type":39,"tag":394,"props":457,"children":458},{"style":416},[459],{"type":45,"value":460}," --sort_by",{"type":39,"tag":394,"props":462,"children":463},{"style":416},[464],{"type":45,"value":465}," rcsb_accession_info.initial_release_date",{"type":39,"tag":394,"props":467,"children":468},{"style":416},[469],{"type":45,"value":470}," --sort_direction",{"type":39,"tag":394,"props":472,"children":473},{"style":416},[474],{"type":45,"value":475}," desc",{"type":39,"tag":394,"props":477,"children":478},{"style":416},[479],{"type":45,"value":480}," --page_start",{"type":39,"tag":394,"props":482,"children":484},{"style":483},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[485],{"type":45,"value":486}," 0",{"type":39,"tag":394,"props":488,"children":489},{"style":416},[490],{"type":45,"value":491}," --rows",{"type":39,"tag":394,"props":493,"children":494},{"style":483},[495],{"type":45,"value":496}," 100",{"type":39,"tag":394,"props":498,"children":499},{"style":416},[500],{"type":45,"value":501}," --output",{"type":39,"tag":394,"props":503,"children":504},{"style":416},[505],{"type":45,"value":506}," results.json\n",{"type":39,"tag":383,"props":508,"children":510},{"className":385,"code":509,"language":387,"meta":388,"style":388},"# Structures containing the chemical component CA (Ca2+ ion)\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"text_chem\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"CA\", \"attribute\": \"rcsb_chem_comp_container_identifiers.comp_id\" } }' --return_type entry --output results.json\n",[511],{"type":39,"tag":67,"props":512,"children":513},{"__ignoreMap":388},[514,522],{"type":39,"tag":394,"props":515,"children":516},{"class":396,"line":397},[517],{"type":39,"tag":394,"props":518,"children":519},{"style":401},[520],{"type":45,"value":521},"# Structures containing the chemical component CA (Ca2+ ion)\n",{"type":39,"tag":394,"props":523,"children":524},{"class":396,"line":407},[525,529,533,537,541,545,550,554,558,562,566],{"type":39,"tag":394,"props":526,"children":527},{"style":411},[528],{"type":45,"value":72},{"type":39,"tag":394,"props":530,"children":531},{"style":416},[532],{"type":45,"value":419},{"type":39,"tag":394,"props":534,"children":535},{"style":416},[536],{"type":45,"value":424},{"type":39,"tag":394,"props":538,"children":539},{"style":416},[540],{"type":45,"value":429},{"type":39,"tag":394,"props":542,"children":543},{"style":432},[544],{"type":45,"value":435},{"type":39,"tag":394,"props":546,"children":547},{"style":416},[548],{"type":45,"value":549},"{ \"type\": \"terminal\", \"service\": \"text_chem\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"CA\", \"attribute\": \"rcsb_chem_comp_container_identifiers.comp_id\" } }",{"type":39,"tag":394,"props":551,"children":552},{"style":432},[553],{"type":45,"value":445},{"type":39,"tag":394,"props":555,"children":556},{"style":416},[557],{"type":45,"value":450},{"type":39,"tag":394,"props":559,"children":560},{"style":416},[561],{"type":45,"value":455},{"type":39,"tag":394,"props":563,"children":564},{"style":416},[565],{"type":45,"value":501},{"type":39,"tag":394,"props":567,"children":568},{"style":416},[569],{"type":45,"value":506},{"type":39,"tag":383,"props":571,"children":573},{"className":385,"code":572,"language":387,"meta":388,"style":388},"# Number of entries with disulfide bonds\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"disulfide bridge\", \"attribute\": \"rcsb_polymer_struct_conn.connect_type\" } }' --return_type entry --count-only --output count.json\n",[574],{"type":39,"tag":67,"props":575,"children":576},{"__ignoreMap":388},[577,585],{"type":39,"tag":394,"props":578,"children":579},{"class":396,"line":397},[580],{"type":39,"tag":394,"props":581,"children":582},{"style":401},[583],{"type":45,"value":584},"# Number of entries with disulfide bonds\n",{"type":39,"tag":394,"props":586,"children":587},{"class":396,"line":407},[588,592,596,600,604,608,613,617,621,625,630,634],{"type":39,"tag":394,"props":589,"children":590},{"style":411},[591],{"type":45,"value":72},{"type":39,"tag":394,"props":593,"children":594},{"style":416},[595],{"type":45,"value":419},{"type":39,"tag":394,"props":597,"children":598},{"style":416},[599],{"type":45,"value":424},{"type":39,"tag":394,"props":601,"children":602},{"style":416},[603],{"type":45,"value":429},{"type":39,"tag":394,"props":605,"children":606},{"style":432},[607],{"type":45,"value":435},{"type":39,"tag":394,"props":609,"children":610},{"style":416},[611],{"type":45,"value":612},"{ \"type\": \"terminal\", \"service\": \"text\", \"parameters\": { \"operator\": \"exact_match\", \"value\": \"disulfide bridge\", \"attribute\": \"rcsb_polymer_struct_conn.connect_type\" } }",{"type":39,"tag":394,"props":614,"children":615},{"style":432},[616],{"type":45,"value":445},{"type":39,"tag":394,"props":618,"children":619},{"style":416},[620],{"type":45,"value":450},{"type":39,"tag":394,"props":622,"children":623},{"style":416},[624],{"type":45,"value":455},{"type":39,"tag":394,"props":626,"children":627},{"style":416},[628],{"type":45,"value":629}," --count-only",{"type":39,"tag":394,"props":631,"children":632},{"style":416},[633],{"type":45,"value":501},{"type":39,"tag":394,"props":635,"children":636},{"style":416},[637],{"type":45,"value":638}," count.json\n",{"type":39,"tag":640,"props":641,"children":642},"p",{},[643,645,651,652,658,659,665,666,672,674,680,681,687,688,694,695],{"type":45,"value":644},"Common operators: ",{"type":39,"tag":67,"props":646,"children":648},{"className":647},[],[649],{"type":45,"value":650},"exact_match",{"type":45,"value":136},{"type":39,"tag":67,"props":653,"children":655},{"className":654},[],[656],{"type":45,"value":657},"equals",{"type":45,"value":136},{"type":39,"tag":67,"props":660,"children":662},{"className":661},[],[663],{"type":45,"value":664},"exists",{"type":45,"value":136},{"type":39,"tag":67,"props":667,"children":669},{"className":668},[],[670],{"type":45,"value":671},"contains_phrase",{"type":45,"value":673},",\n",{"type":39,"tag":67,"props":675,"children":677},{"className":676},[],[678],{"type":45,"value":679},"contains_words",{"type":45,"value":136},{"type":39,"tag":67,"props":682,"children":684},{"className":683},[],[685],{"type":45,"value":686},"in",{"type":45,"value":136},{"type":39,"tag":67,"props":689,"children":691},{"className":690},[],[692],{"type":45,"value":693},"greater",{"type":45,"value":136},{"type":39,"tag":67,"props":696,"children":698},{"className":697},[],[699],{"type":45,"value":700},"less",{"type":39,"tag":48,"props":702,"children":704},{"id":703},"similarity-based-search-workflow",[705],{"type":45,"value":706},"Similarity-based search workflow",{"type":39,"tag":640,"props":708,"children":709},{},[710],{"type":45,"value":711},"Similarity searches do not require a schema fetch. Basic examples:",{"type":39,"tag":383,"props":713,"children":715},{"className":385,"code":714,"language":387,"meta":388,"style":388},"# Sequence similarity\nuv run scripts\u002Fsearch_pdb.py --query '{ \"query\": { \"type\": \"terminal\", \"service\": \"sequence\", \"parameters\": { \"evalue_cutoff\": 1, \"identity_cutoff\": 0.9, \"sequence_type\": \"protein\", \"value\": \"MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQ\" } }, \"request_options\": { \"scoring_strategy\": \"sequence\" } }' --return_type polymer_entity --output results.json\n",[716],{"type":39,"tag":67,"props":717,"children":718},{"__ignoreMap":388},[719,727],{"type":39,"tag":394,"props":720,"children":721},{"class":396,"line":397},[722],{"type":39,"tag":394,"props":723,"children":724},{"style":401},[725],{"type":45,"value":726},"# Sequence similarity\n",{"type":39,"tag":394,"props":728,"children":729},{"class":396,"line":407},[730,734,738,742,746,750,755,759,763,768,772],{"type":39,"tag":394,"props":731,"children":732},{"style":411},[733],{"type":45,"value":72},{"type":39,"tag":394,"props":735,"children":736},{"style":416},[737],{"type":45,"value":419},{"type":39,"tag":394,"props":739,"children":740},{"style":416},[741],{"type":45,"value":424},{"type":39,"tag":394,"props":743,"children":744},{"style":416},[745],{"type":45,"value":429},{"type":39,"tag":394,"props":747,"children":748},{"style":432},[749],{"type":45,"value":435},{"type":39,"tag":394,"props":751,"children":752},{"style":416},[753],{"type":45,"value":754},"{ \"query\": { \"type\": \"terminal\", \"service\": \"sequence\", \"parameters\": { \"evalue_cutoff\": 1, \"identity_cutoff\": 0.9, \"sequence_type\": \"protein\", \"value\": \"MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQ\" } }, \"request_options\": { \"scoring_strategy\": \"sequence\" } }",{"type":39,"tag":394,"props":756,"children":757},{"style":432},[758],{"type":45,"value":445},{"type":39,"tag":394,"props":760,"children":761},{"style":416},[762],{"type":45,"value":450},{"type":39,"tag":394,"props":764,"children":765},{"style":416},[766],{"type":45,"value":767}," polymer_entity",{"type":39,"tag":394,"props":769,"children":770},{"style":416},[771],{"type":45,"value":501},{"type":39,"tag":394,"props":773,"children":774},{"style":416},[775],{"type":45,"value":506},{"type":39,"tag":383,"props":777,"children":779},{"className":385,"code":778,"language":387,"meta":388,"style":388},"# Structure similarity\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"structure\", \"parameters\": { \"value\": {\"entry_id\": \"6LU7\", \"asym_id\": \"A\"}, \"number_of_candidates\": 2000 } }' --return_type polymer_entity --output results.json\n",[780],{"type":39,"tag":67,"props":781,"children":782},{"__ignoreMap":388},[783,791],{"type":39,"tag":394,"props":784,"children":785},{"class":396,"line":397},[786],{"type":39,"tag":394,"props":787,"children":788},{"style":401},[789],{"type":45,"value":790},"# Structure similarity\n",{"type":39,"tag":394,"props":792,"children":793},{"class":396,"line":407},[794,798,802,806,810,814,819,823,827,831,835],{"type":39,"tag":394,"props":795,"children":796},{"style":411},[797],{"type":45,"value":72},{"type":39,"tag":394,"props":799,"children":800},{"style":416},[801],{"type":45,"value":419},{"type":39,"tag":394,"props":803,"children":804},{"style":416},[805],{"type":45,"value":424},{"type":39,"tag":394,"props":807,"children":808},{"style":416},[809],{"type":45,"value":429},{"type":39,"tag":394,"props":811,"children":812},{"style":432},[813],{"type":45,"value":435},{"type":39,"tag":394,"props":815,"children":816},{"style":416},[817],{"type":45,"value":818},"{ \"type\": \"terminal\", \"service\": \"structure\", \"parameters\": { \"value\": {\"entry_id\": \"6LU7\", \"asym_id\": \"A\"}, \"number_of_candidates\": 2000 } }",{"type":39,"tag":394,"props":820,"children":821},{"style":432},[822],{"type":45,"value":445},{"type":39,"tag":394,"props":824,"children":825},{"style":416},[826],{"type":45,"value":450},{"type":39,"tag":394,"props":828,"children":829},{"style":416},[830],{"type":45,"value":767},{"type":39,"tag":394,"props":832,"children":833},{"style":416},[834],{"type":45,"value":501},{"type":39,"tag":394,"props":836,"children":837},{"style":416},[838],{"type":45,"value":506},{"type":39,"tag":383,"props":840,"children":842},{"className":385,"code":841,"language":387,"meta":388,"style":388},"# Sequence motif match\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"seqmotif\", \"parameters\": { \"value\": \"C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H.\", \"pattern_type\": \"prosite\", \"sequence_type\": \"protein\" } }' --return_type polymer_entity --output results.json\n",[843],{"type":39,"tag":67,"props":844,"children":845},{"__ignoreMap":388},[846,854],{"type":39,"tag":394,"props":847,"children":848},{"class":396,"line":397},[849],{"type":39,"tag":394,"props":850,"children":851},{"style":401},[852],{"type":45,"value":853},"# Sequence motif match\n",{"type":39,"tag":394,"props":855,"children":856},{"class":396,"line":407},[857,861,865,869,873,877,882,886,890,894,898],{"type":39,"tag":394,"props":858,"children":859},{"style":411},[860],{"type":45,"value":72},{"type":39,"tag":394,"props":862,"children":863},{"style":416},[864],{"type":45,"value":419},{"type":39,"tag":394,"props":866,"children":867},{"style":416},[868],{"type":45,"value":424},{"type":39,"tag":394,"props":870,"children":871},{"style":416},[872],{"type":45,"value":429},{"type":39,"tag":394,"props":874,"children":875},{"style":432},[876],{"type":45,"value":435},{"type":39,"tag":394,"props":878,"children":879},{"style":416},[880],{"type":45,"value":881},"{ \"type\": \"terminal\", \"service\": \"seqmotif\", \"parameters\": { \"value\": \"C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H.\", \"pattern_type\": \"prosite\", \"sequence_type\": \"protein\" } }",{"type":39,"tag":394,"props":883,"children":884},{"style":432},[885],{"type":45,"value":445},{"type":39,"tag":394,"props":887,"children":888},{"style":416},[889],{"type":45,"value":450},{"type":39,"tag":394,"props":891,"children":892},{"style":416},[893],{"type":45,"value":767},{"type":39,"tag":394,"props":895,"children":896},{"style":416},[897],{"type":45,"value":501},{"type":39,"tag":394,"props":899,"children":900},{"style":416},[901],{"type":45,"value":506},{"type":39,"tag":383,"props":903,"children":905},{"className":385,"code":904,"language":387,"meta":388,"style":388},"# Chemical descriptor match\nuv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"chemical\", \"parameters\": { \"value\": \"InChI=1S\u002FC8H9NO2\u002Fc1-6(10)9-7-2-4-8(11)5-3-7\u002Fh2-5,11H,1H3,(H,9,10)\", \"type\": \"descriptor\", \"descriptor_type\": \"InChI\", \"match_type\": \"graph-strict\" } }' --return_type mol_definition --output results.json\n",[906],{"type":39,"tag":67,"props":907,"children":908},{"__ignoreMap":388},[909,917],{"type":39,"tag":394,"props":910,"children":911},{"class":396,"line":397},[912],{"type":39,"tag":394,"props":913,"children":914},{"style":401},[915],{"type":45,"value":916},"# Chemical descriptor match\n",{"type":39,"tag":394,"props":918,"children":919},{"class":396,"line":407},[920,924,928,932,936,940,945,949,953,958,962],{"type":39,"tag":394,"props":921,"children":922},{"style":411},[923],{"type":45,"value":72},{"type":39,"tag":394,"props":925,"children":926},{"style":416},[927],{"type":45,"value":419},{"type":39,"tag":394,"props":929,"children":930},{"style":416},[931],{"type":45,"value":424},{"type":39,"tag":394,"props":933,"children":934},{"style":416},[935],{"type":45,"value":429},{"type":39,"tag":394,"props":937,"children":938},{"style":432},[939],{"type":45,"value":435},{"type":39,"tag":394,"props":941,"children":942},{"style":416},[943],{"type":45,"value":944},"{ \"type\": \"terminal\", \"service\": \"chemical\", \"parameters\": { \"value\": \"InChI=1S\u002FC8H9NO2\u002Fc1-6(10)9-7-2-4-8(11)5-3-7\u002Fh2-5,11H,1H3,(H,9,10)\", \"type\": \"descriptor\", \"descriptor_type\": \"InChI\", \"match_type\": \"graph-strict\" } }",{"type":39,"tag":394,"props":946,"children":947},{"style":432},[948],{"type":45,"value":445},{"type":39,"tag":394,"props":950,"children":951},{"style":416},[952],{"type":45,"value":450},{"type":39,"tag":394,"props":954,"children":955},{"style":416},[956],{"type":45,"value":957}," mol_definition",{"type":39,"tag":394,"props":959,"children":960},{"style":416},[961],{"type":45,"value":501},{"type":39,"tag":394,"props":963,"children":964},{"style":416},[965],{"type":45,"value":506},{"type":39,"tag":640,"props":967,"children":968},{},[969,971,977],{"type":45,"value":970},"See ",{"type":39,"tag":100,"props":972,"children":975},{"href":973,"rel":974},"https:\u002F\u002Fsearch.rcsb.org\u002F#search-services",[104],[976],{"type":45,"value":973},{"type":45,"value":978}," for more details.",{"type":39,"tag":48,"props":980,"children":982},{"id":981},"full-text-search-workflow",[983],{"type":45,"value":984},"Full text search workflow",{"type":39,"tag":640,"props":986,"children":987},{},[988,990,995],{"type":45,"value":989},"Searches ",{"type":39,"tag":63,"props":991,"children":992},{},[993],{"type":45,"value":994},"all",{"type":45,"value":996}," text associated with an entry. Example:",{"type":39,"tag":383,"props":998,"children":1000},{"className":385,"code":999,"language":387,"meta":388,"style":388},"uv run scripts\u002Fsearch_pdb.py --query '{ \"type\": \"terminal\", \"service\": \"full_text\", \"parameters\": { \"value\": \"isopeptide + ( collagen | fibrinogen )\" } }' --return_type entry --output results.json\n",[1001],{"type":39,"tag":67,"props":1002,"children":1003},{"__ignoreMap":388},[1004],{"type":39,"tag":394,"props":1005,"children":1006},{"class":396,"line":397},[1007,1011,1015,1019,1023,1027,1032,1036,1040,1044,1048],{"type":39,"tag":394,"props":1008,"children":1009},{"style":411},[1010],{"type":45,"value":72},{"type":39,"tag":394,"props":1012,"children":1013},{"style":416},[1014],{"type":45,"value":419},{"type":39,"tag":394,"props":1016,"children":1017},{"style":416},[1018],{"type":45,"value":424},{"type":39,"tag":394,"props":1020,"children":1021},{"style":416},[1022],{"type":45,"value":429},{"type":39,"tag":394,"props":1024,"children":1025},{"style":432},[1026],{"type":45,"value":435},{"type":39,"tag":394,"props":1028,"children":1029},{"style":416},[1030],{"type":45,"value":1031},"{ \"type\": \"terminal\", \"service\": \"full_text\", \"parameters\": { \"value\": \"isopeptide + ( collagen | fibrinogen )\" } }",{"type":39,"tag":394,"props":1033,"children":1034},{"style":432},[1035],{"type":45,"value":445},{"type":39,"tag":394,"props":1037,"children":1038},{"style":416},[1039],{"type":45,"value":450},{"type":39,"tag":394,"props":1041,"children":1042},{"style":416},[1043],{"type":45,"value":455},{"type":39,"tag":394,"props":1045,"children":1046},{"style":416},[1047],{"type":45,"value":501},{"type":39,"tag":394,"props":1049,"children":1050},{"style":416},[1051],{"type":45,"value":506},{"type":39,"tag":1053,"props":1054,"children":1055},"blockquote",{},[1056],{"type":39,"tag":640,"props":1057,"children":1058},{},[1059,1064,1066,1072,1074,1079,1081,1087,1089,1095],{"type":39,"tag":63,"props":1060,"children":1061},{},[1062],{"type":45,"value":1063},"Important",{"type":45,"value":1065},": use ",{"type":39,"tag":67,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":45,"value":1071},"full_text",{"type":45,"value":1073}," search as a ",{"type":39,"tag":63,"props":1075,"children":1076},{},[1077],{"type":45,"value":1078},"last resort",{"type":45,"value":1080}," when there's no\nmore precise attribute search available. Consider using the ",{"type":39,"tag":67,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":45,"value":1086},"struct.title",{"type":45,"value":1088}," or\n",{"type":39,"tag":67,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":45,"value":1094},"rcsb_pubmed_abstract_text",{"type":45,"value":1096}," attributes instead.",{"type":39,"tag":48,"props":1098,"children":1100},{"id":1099},"file-download-workflow",[1101],{"type":45,"value":1102},"File download workflow",{"type":39,"tag":640,"props":1104,"children":1105},{},[1106,1108,1114],{"type":45,"value":1107},"To download full PDB entries, use the ",{"type":39,"tag":67,"props":1109,"children":1111},{"className":1110},[],[1112],{"type":45,"value":1113},"download_coordinate_files.py",{"type":45,"value":1115}," script. Use\nthis when you need access to atomic coordinates, when asked for a pdb \u002F mmcif\nfile, or when non-specifically asked to fetch a PDB code. Example:",{"type":39,"tag":383,"props":1117,"children":1119},{"className":385,"code":1118,"language":387,"meta":388,"style":388},"uv run scripts\u002Fdownload_coordinate_files.py --ids \"4HHB,6BEA\" --format \"mmcif\" --output_dir \u003COUTPUT_DIR>\n",[1120],{"type":39,"tag":67,"props":1121,"children":1122},{"__ignoreMap":388},[1123],{"type":39,"tag":394,"props":1124,"children":1125},{"class":396,"line":397},[1126,1130,1134,1139,1144,1149,1154,1159,1164,1168,1173,1177,1182,1187,1192,1198],{"type":39,"tag":394,"props":1127,"children":1128},{"style":411},[1129],{"type":45,"value":72},{"type":39,"tag":394,"props":1131,"children":1132},{"style":416},[1133],{"type":45,"value":419},{"type":39,"tag":394,"props":1135,"children":1136},{"style":416},[1137],{"type":45,"value":1138}," scripts\u002Fdownload_coordinate_files.py",{"type":39,"tag":394,"props":1140,"children":1141},{"style":416},[1142],{"type":45,"value":1143}," --ids",{"type":39,"tag":394,"props":1145,"children":1146},{"style":432},[1147],{"type":45,"value":1148}," \"",{"type":39,"tag":394,"props":1150,"children":1151},{"style":416},[1152],{"type":45,"value":1153},"4HHB,6BEA",{"type":39,"tag":394,"props":1155,"children":1156},{"style":432},[1157],{"type":45,"value":1158},"\"",{"type":39,"tag":394,"props":1160,"children":1161},{"style":416},[1162],{"type":45,"value":1163}," --format",{"type":39,"tag":394,"props":1165,"children":1166},{"style":432},[1167],{"type":45,"value":1148},{"type":39,"tag":394,"props":1169,"children":1170},{"style":416},[1171],{"type":45,"value":1172},"mmcif",{"type":39,"tag":394,"props":1174,"children":1175},{"style":432},[1176],{"type":45,"value":1158},{"type":39,"tag":394,"props":1178,"children":1179},{"style":416},[1180],{"type":45,"value":1181}," --output_dir",{"type":39,"tag":394,"props":1183,"children":1184},{"style":432},[1185],{"type":45,"value":1186}," \u003C",{"type":39,"tag":394,"props":1188,"children":1189},{"style":416},[1190],{"type":45,"value":1191},"OUTPUT_DI",{"type":39,"tag":394,"props":1193,"children":1195},{"style":1194},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1196],{"type":45,"value":1197},"R",{"type":39,"tag":394,"props":1199,"children":1200},{"style":432},[1201],{"type":45,"value":1202},">\n",{"type":39,"tag":48,"props":1204,"children":1206},{"id":1205},"metadata-query-workflow",[1207],{"type":45,"value":1208},"Metadata query workflow",{"type":39,"tag":640,"props":1210,"children":1211},{},[1212],{"type":45,"value":1213},"This flow is significantly more efficient than downloading full coordinate files\nwhen you only need a few pieces of metadata about each entry \u002F entity.",{"type":39,"tag":55,"props":1215,"children":1216},{},[1217,1233,1242],{"type":39,"tag":59,"props":1218,"children":1219},{},[1220,1225,1227],{"type":39,"tag":63,"props":1221,"children":1222},{},[1223],{"type":45,"value":1224},"Fetch the schema",{"type":45,"value":1226}," for the relevant object type. E.g. ",{"type":39,"tag":67,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":45,"value":1232},"uv run scripts\u002Ffetch_schema.py --api data_entry --output schema_entry.txt",{"type":39,"tag":59,"props":1234,"children":1235},{},[1236,1240],{"type":39,"tag":63,"props":1237,"children":1238},{},[1239],{"type":45,"value":230},{"type":45,"value":1241}," for relevant fields (one keyword at a time, many lines).",{"type":39,"tag":59,"props":1243,"children":1244},{},[1245,1250,1252],{"type":39,"tag":63,"props":1246,"children":1247},{},[1248],{"type":45,"value":1249},"Compose and run a GraphQL metadata query",{"type":45,"value":1251},": ",{"type":39,"tag":67,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":45,"value":1257},"uv run scripts\u002Ffetch_pdb_metadata.py --query '\u003CGraphQL>' --output results.json",{"type":39,"tag":267,"props":1259,"children":1261},{"id":1260},"for-step-3-example-queries-1",[1262],{"type":45,"value":381},{"type":39,"tag":383,"props":1264,"children":1266},{"className":385,"code":1265,"language":387,"meta":388,"style":388},"# Fetch structure titles and experimental methods\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ entries(entry_ids: [\"1STP\", \"2JEF\", \"1CDG\"]) { rcsb_id struct { title } exptl { method } } }' --output results.json\n",[1267],{"type":39,"tag":67,"props":1268,"children":1269},{"__ignoreMap":388},[1270,1278],{"type":39,"tag":394,"props":1271,"children":1272},{"class":396,"line":397},[1273],{"type":39,"tag":394,"props":1274,"children":1275},{"style":401},[1276],{"type":45,"value":1277},"# Fetch structure titles and experimental methods\n",{"type":39,"tag":394,"props":1279,"children":1280},{"class":396,"line":407},[1281,1285,1289,1294,1298,1302,1307,1311,1315],{"type":39,"tag":394,"props":1282,"children":1283},{"style":411},[1284],{"type":45,"value":72},{"type":39,"tag":394,"props":1286,"children":1287},{"style":416},[1288],{"type":45,"value":419},{"type":39,"tag":394,"props":1290,"children":1291},{"style":416},[1292],{"type":45,"value":1293}," scripts\u002Ffetch_pdb_metadata.py",{"type":39,"tag":394,"props":1295,"children":1296},{"style":416},[1297],{"type":45,"value":429},{"type":39,"tag":394,"props":1299,"children":1300},{"style":432},[1301],{"type":45,"value":435},{"type":39,"tag":394,"props":1303,"children":1304},{"style":416},[1305],{"type":45,"value":1306},"{ entries(entry_ids: [\"1STP\", \"2JEF\", \"1CDG\"]) { rcsb_id struct { title } exptl { method } } }",{"type":39,"tag":394,"props":1308,"children":1309},{"style":432},[1310],{"type":45,"value":445},{"type":39,"tag":394,"props":1312,"children":1313},{"style":416},[1314],{"type":45,"value":501},{"type":39,"tag":394,"props":1316,"children":1317},{"style":416},[1318],{"type":45,"value":506},{"type":39,"tag":383,"props":1320,"children":1322},{"className":385,"code":1321,"language":387,"meta":388,"style":388},"# Fetch polymer entity taxonomy and cluster membership\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ polymer_entities(entity_ids:[\"2CPK_1\",\"3WHM_1\",\"2D5Z_1\"]) { rcsb_id rcsb_entity_source_organism { ncbi_taxonomy_id ncbi_scientific_name } rcsb_cluster_membership { cluster_id identity } } }' --output results.json\n",[1323],{"type":39,"tag":67,"props":1324,"children":1325},{"__ignoreMap":388},[1326,1334],{"type":39,"tag":394,"props":1327,"children":1328},{"class":396,"line":397},[1329],{"type":39,"tag":394,"props":1330,"children":1331},{"style":401},[1332],{"type":45,"value":1333},"# Fetch polymer entity taxonomy and cluster membership\n",{"type":39,"tag":394,"props":1335,"children":1336},{"class":396,"line":407},[1337,1341,1345,1349,1353,1357,1362,1366,1370],{"type":39,"tag":394,"props":1338,"children":1339},{"style":411},[1340],{"type":45,"value":72},{"type":39,"tag":394,"props":1342,"children":1343},{"style":416},[1344],{"type":45,"value":419},{"type":39,"tag":394,"props":1346,"children":1347},{"style":416},[1348],{"type":45,"value":1293},{"type":39,"tag":394,"props":1350,"children":1351},{"style":416},[1352],{"type":45,"value":429},{"type":39,"tag":394,"props":1354,"children":1355},{"style":432},[1356],{"type":45,"value":435},{"type":39,"tag":394,"props":1358,"children":1359},{"style":416},[1360],{"type":45,"value":1361},"{ polymer_entities(entity_ids:[\"2CPK_1\",\"3WHM_1\",\"2D5Z_1\"]) { rcsb_id rcsb_entity_source_organism { ncbi_taxonomy_id ncbi_scientific_name } rcsb_cluster_membership { cluster_id identity } } }",{"type":39,"tag":394,"props":1363,"children":1364},{"style":432},[1365],{"type":45,"value":445},{"type":39,"tag":394,"props":1367,"children":1368},{"style":416},[1369],{"type":45,"value":501},{"type":39,"tag":394,"props":1371,"children":1372},{"style":416},[1373],{"type":45,"value":506},{"type":39,"tag":383,"props":1375,"children":1377},{"className":385,"code":1376,"language":387,"meta":388,"style":388},"# Fetch polymer entity external sequence database accessions\nuv run scripts\u002Ffetch_pdb_metadata.py --query '{ entries(entry_ids:[\"7NHM\", \"5L2G\"]){ polymer_entities { rcsb_id rcsb_polymer_entity_container_identifiers { reference_sequence_identifiers { database_accession database_name } } } } }' --output results.json\n",[1378],{"type":39,"tag":67,"props":1379,"children":1380},{"__ignoreMap":388},[1381,1389],{"type":39,"tag":394,"props":1382,"children":1383},{"class":396,"line":397},[1384],{"type":39,"tag":394,"props":1385,"children":1386},{"style":401},[1387],{"type":45,"value":1388},"# Fetch polymer entity external sequence database accessions\n",{"type":39,"tag":394,"props":1390,"children":1391},{"class":396,"line":407},[1392,1396,1400,1404,1408,1412,1417,1421,1425],{"type":39,"tag":394,"props":1393,"children":1394},{"style":411},[1395],{"type":45,"value":72},{"type":39,"tag":394,"props":1397,"children":1398},{"style":416},[1399],{"type":45,"value":419},{"type":39,"tag":394,"props":1401,"children":1402},{"style":416},[1403],{"type":45,"value":1293},{"type":39,"tag":394,"props":1405,"children":1406},{"style":416},[1407],{"type":45,"value":429},{"type":39,"tag":394,"props":1409,"children":1410},{"style":432},[1411],{"type":45,"value":435},{"type":39,"tag":394,"props":1413,"children":1414},{"style":416},[1415],{"type":45,"value":1416},"{ entries(entry_ids:[\"7NHM\", \"5L2G\"]){ polymer_entities { rcsb_id rcsb_polymer_entity_container_identifiers { reference_sequence_identifiers { database_accession database_name } } } } }",{"type":39,"tag":394,"props":1418,"children":1419},{"style":432},[1420],{"type":45,"value":445},{"type":39,"tag":394,"props":1422,"children":1423},{"style":416},[1424],{"type":45,"value":501},{"type":39,"tag":394,"props":1426,"children":1427},{"style":416},[1428],{"type":45,"value":506},{"type":39,"tag":1430,"props":1431,"children":1432},"style",{},[1433],{"type":45,"value":1434},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1436,"total":1600},[1437,1450,1465,1485,1497,1512,1528,1541,1553,1568,1579,1589],{"slug":1438,"name":1438,"fn":1439,"description":1440,"org":1441,"tags":1442,"stars":22,"repoUrl":23,"updatedAt":1449},"alphafold-database-fetch-and-analyze","retrieve and analyze AlphaFold protein structures","Retrieve and analyze AlphaFold predicted structures for a protein. Use when the user provides a specific UniProt Accession ID and wants structural confidence metrics (pLDDT), domain boundary analysis, or disorder assessment. Do not use if the user only has a protein name, gene name, or amino acid sequence — ask for a UniProt ID first.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1443,1444,1447,1448],{"name":20,"slug":21,"type":15},{"name":1445,"slug":1446,"type":15},"Genomics","genomics",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:51.827211",{"slug":1451,"name":1451,"fn":1452,"description":1453,"org":1454,"tags":1455,"stars":22,"repoUrl":23,"updatedAt":1464},"alphagenome-single-variant-analysis","analyze genetic variant effects with AlphaGenome","Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API. Use when the user asks about non-coding variant effects, pathogenicity, clinical significance, disease associations, functional effects, gene expression changes, splicing disruption, or regulatory effects in promoters and enhancers. Also use for resolving biological terms to tissue\u002Fcell-type ontologies (UBERON\u002FCL) or analyzing variants in chr:pos:ref>alt format.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1456,1457,1460,1461],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},"Genetics","genetics",{"name":13,"slug":14,"type":15},{"name":1462,"slug":1463,"type":15},"RNA-seq","rna-seq","2026-07-12T07:51:39.494803",{"slug":1466,"name":1466,"fn":1467,"description":1468,"org":1469,"tags":1470,"stars":22,"repoUrl":23,"updatedAt":1484},"chembl-database","query ChEMBL database for bioactive molecules","Query the ChEMBL database for bioactive molecules, drug targets, bioactivity data, approved drugs, and chemical structures. Use when the user asks about compounds, targets, IC50\u002FKi values, drug mechanisms, or structure searches.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1471,1474,1477,1480,1483],{"name":1472,"slug":1473,"type":15},"ChEMBL","chembl",{"name":1475,"slug":1476,"type":15},"Chemistry","chemistry",{"name":1478,"slug":1479,"type":15},"Database","database",{"name":1481,"slug":1482,"type":15},"Pharmacology","pharmacology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:35.544306",{"slug":1486,"name":1486,"fn":1487,"description":1488,"org":1489,"tags":1490,"stars":22,"repoUrl":23,"updatedAt":1496},"clinical-trials-database","query clinical trial data","Query ClinicalTrials.gov via APIv2. Use when you want to search for trials by condition, drug, location, status, or phase; retrieve trial details by NCT ID; check eligibility\u002Finclusion criteria; count trials across conditions or time periods; identify a sponsor's trial portfolio; find recruiting trials for patient matching.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1491,1494,1495],{"name":1492,"slug":1493,"type":15},"Clinical Trials","clinical-trials",{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:06.846705",{"slug":1498,"name":1498,"fn":1499,"description":1500,"org":1501,"tags":1502,"stars":22,"repoUrl":23,"updatedAt":1511},"clinvar-database","retrieve clinical significance from ClinVar database","Use when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding \"hard positive\" benchmark controls for human genomic variants.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1503,1506,1507,1510],{"name":1504,"slug":1505,"type":15},"ClinVar","clinvar",{"name":1458,"slug":1459,"type":15},{"name":1508,"slug":1509,"type":15},"Healthcare","healthcare",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:36.86094",{"slug":1513,"name":1513,"fn":1514,"description":1515,"org":1516,"tags":1517,"stars":22,"repoUrl":23,"updatedAt":1527},"credentials","manage and verify API credentials safely","Instructions for handling API keys and credentials safely, verifying their presence, and prompting the user to add them if missing using a safe protocol.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1518,1521,1524],{"name":1519,"slug":1520,"type":15},"Compliance","compliance",{"name":1522,"slug":1523,"type":15},"Operations","operations",{"name":1525,"slug":1526,"type":15},"Security","security","2026-07-12T07:52:17.355491",{"slug":1529,"name":1529,"fn":1530,"description":1531,"org":1532,"tags":1533,"stars":22,"repoUrl":23,"updatedAt":1540},"dbsnp-database","search genetic variants in dbSNP database","Use when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database. Resolves between rsIDs, genomic coordinates in VCF format, and HGVS strings. For an rsID, returns variant type, gene associations, clinical significance, allele frequencies, and genomic coordinates (GRCh38).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1534,1535,1536,1539],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},{"name":1537,"slug":1538,"type":15},"NCBI","ncbi",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:33.054229",{"slug":1542,"name":1542,"fn":1543,"description":1544,"org":1545,"tags":1546,"stars":22,"repoUrl":23,"updatedAt":1552},"embl-ebi-ols","search biomedical ontologies in EMBL-EBI OLS","Query and search the EMBL-EBI Ontology Lookup Service (OLS) for biomedical ontology terms, definitions, and hierarchies across 250+ ontologies (e.g., GO, DOID, HP). Use when the user asks to search for terms, retrieve details, navigate hierarchies (parents, children, ancestors), look up properties and individuals, get autocomplete suggestions, or access ontology metadata and statistics.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1547,1548,1551],{"name":20,"slug":21,"type":15},{"name":1549,"slug":1550,"type":15},"Ontology","ontology",{"name":13,"slug":14,"type":15},"2026-07-12T07:51:59.368324",{"slug":1554,"name":1554,"fn":1555,"description":1556,"org":1557,"tags":1558,"stars":22,"repoUrl":23,"updatedAt":1567},"encode-ccres-database","query ENCODE regulatory and experimental data","Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human cell types.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1559,1560,1563,1564],{"name":20,"slug":21,"type":15},{"name":1561,"slug":1562,"type":15},"GraphQL","graphql",{"name":13,"slug":14,"type":15},{"name":1565,"slug":1566,"type":15},"REST API","rest-api","2026-07-12T07:52:10.597139",{"slug":1569,"name":1569,"fn":1570,"description":1571,"org":1572,"tags":1573,"stars":22,"repoUrl":23,"updatedAt":1578},"ensembl-database","query genomic and protein data from Ensembl","Query the Ensembl database to resolve gene, transcript, and protein IDs, fetch genomic or protein sequences, retrieve gene structures (exons), and get variant consequence and effect predictions (VEP). Use this skill as a primary ID translator, genomic sequence database and variant effect prediction tool.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1574,1575,1576,1577],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:41.645835",{"slug":1580,"name":1580,"fn":1581,"description":1582,"org":1583,"tags":1584,"stars":22,"repoUrl":23,"updatedAt":1588},"foldseek-structural-search","perform 3D protein structural searches","Performs 3D structural searches of proteins against various databases (PDB, AlphaFold, CATH, MGnify, etc.) using the Foldseek API. Use ONLY when the user provides a physical 3D coordinate file (.cif, .mmcif, or .pdb) and wants to find structurally similar proteins. Do NOT use if the user only provides a protein sequence, gene name, or UniProt ID.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1585,1586,1587],{"name":20,"slug":21,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:52:09.354992",{"slug":1590,"name":1590,"fn":1591,"description":1592,"org":1593,"tags":1594,"stars":22,"repoUrl":23,"updatedAt":1599},"gnomad-database","query genetic variant data from gnomAD","Query the Genome Aggregation Database (gnomAD). Use when determining the rarity or allele frequency of specific genetic variants, retrieving gene constraint metrics (pLI, LOEUF) to assess loss-of-function intolerance, finding variants in a genomic region or gene, or querying structural variants. Don't use for analyzing individual patient genomes, tracking somatic mutations in cancer (use COSMIC), or requesting raw sequencing reads (use ENA).\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1595,1596,1597,1598],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-12T07:51:38.213009",38,{"items":1602,"total":1600},[1603,1610,1617,1625,1631,1638,1644],{"slug":1438,"name":1438,"fn":1439,"description":1440,"org":1604,"tags":1605,"stars":22,"repoUrl":23,"updatedAt":1449},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1606,1607,1608,1609],{"name":20,"slug":21,"type":15},{"name":1445,"slug":1446,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":1451,"name":1451,"fn":1452,"description":1453,"org":1611,"tags":1612,"stars":22,"repoUrl":23,"updatedAt":1464},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1613,1614,1615,1616],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},{"name":13,"slug":14,"type":15},{"name":1462,"slug":1463,"type":15},{"slug":1466,"name":1466,"fn":1467,"description":1468,"org":1618,"tags":1619,"stars":22,"repoUrl":23,"updatedAt":1484},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1620,1621,1622,1623,1624],{"name":1472,"slug":1473,"type":15},{"name":1475,"slug":1476,"type":15},{"name":1478,"slug":1479,"type":15},{"name":1481,"slug":1482,"type":15},{"name":13,"slug":14,"type":15},{"slug":1486,"name":1486,"fn":1487,"description":1488,"org":1626,"tags":1627,"stars":22,"repoUrl":23,"updatedAt":1496},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1628,1629,1630],{"name":1492,"slug":1493,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":1498,"name":1498,"fn":1499,"description":1500,"org":1632,"tags":1633,"stars":22,"repoUrl":23,"updatedAt":1511},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1634,1635,1636,1637],{"name":1504,"slug":1505,"type":15},{"name":1458,"slug":1459,"type":15},{"name":1508,"slug":1509,"type":15},{"name":13,"slug":14,"type":15},{"slug":1513,"name":1513,"fn":1514,"description":1515,"org":1639,"tags":1640,"stars":22,"repoUrl":23,"updatedAt":1527},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1641,1642,1643],{"name":1519,"slug":1520,"type":15},{"name":1522,"slug":1523,"type":15},{"name":1525,"slug":1526,"type":15},{"slug":1529,"name":1529,"fn":1530,"description":1531,"org":1645,"tags":1646,"stars":22,"repoUrl":23,"updatedAt":1540},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1647,1648,1649,1650],{"name":20,"slug":21,"type":15},{"name":1458,"slug":1459,"type":15},{"name":1537,"slug":1538,"type":15},{"name":13,"slug":14,"type":15}]