{ "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.7-final" }, "orig_nbformat": 2, "kernelspec": { "name": "Python 3.7.7 64-bit ('venv')", "display_name": "Python 3.7.7 64-bit ('venv')", "metadata": { "interpreter": { "hash": "17bc9938523e8684804b5c9e437e56e3c7dc2f5e3e9877e0ef5d12cb8896b755" } } } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# Accessible residues for a PDB structure\n", "\n", "If you have a structure and want to know the residues which are accessible, use the annotations API call for a PDB entry for a particular resource. This data is provided by `3Dcomplex`. So use the origin in query parameter as `3Dcomplex`. Then filter the residues on label `ASA_alone` and `raw score > 0`.\n", "\n" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "![funpdbe origin](../images/web4_funpdbe_origin.png)" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 1) Get the `3Dcomplex` annotations for PDB entry `3pxe`" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "import requests\n", "\n", "pdb_id = \"3pxe\"\n", "request_url = f\"https://wwwint.ebi.ac.uk/pdbe/graph-api/pdb/funpdbe_annotation/3Dcomplex/{pdb_id}\"\n", "\n", "annotations_data = requests.get(request_url).json()" ] }, { "source": [ "## 2) Filter the data for `ASA_alone` label" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 50, "metadata": { "tags": [] }, "outputs": [], "source": [ "filtered_annotations_data = list(filter(lambda x: x[\"label\"] == \"ASA_alone\", annotations_data[pdb_id][0][\"annotations\"]))" ] }, { "source": [ "## 3) Filter `site_residues` on `raw_score > 0`" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 51, "metadata": { "tags": [] }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": "Residue 2 (author residue 1647) in chain A of entity 1 annotated as accessible residue\nResidue 3 (author residue 1648) in chain A of entity 1 annotated as accessible residue\nResidue 4 (author residue 1649) in chain A of entity 1 annotated as accessible residue\nResidue 5 (author residue 1650) in chain A of entity 1 annotated as accessible residue\nResidue 6 (author residue 1651) in chain A of entity 1 annotated as accessible residue\nResidue 9 (author residue 1654) in chain A of entity 1 annotated as accessible residue\nResidue 10 (author residue 1655) in chain A of entity 1 annotated as accessible residue\nResidue 11 (author residue 1656) in chain A of entity 1 annotated as accessible residue\nResidue 12 (author residue 1657) in chain A of entity 1 annotated as accessible residue\nResidue 13 (author residue 1658) in chain A of entity 1 annotated as accessible residue\nResidue 14 (author residue 1659) in chain A of entity 1 annotated as accessible residue\nResidue 15 (author residue 1660) in chain A of entity 1 annotated as accessible residue\nResidue 16 (author residue 1661) in chain A of entity 1 annotated as accessible residue\nResidue 17 (author residue 1662) in chain A of entity 1 annotated as accessible residue\nResidue 18 (author residue 1663) in chain A of entity 1 annotated as accessible residue\nResidue 19 (author residue 1664) in chain A of entity 1 annotated as accessible residue\nResidue 21 (author residue 1666) in chain A of entity 1 annotated as accessible residue\nResidue 22 (author residue 1667) in chain A of entity 1 annotated as accessible residue\nResidue 23 (author residue 1668) in chain A of entity 1 annotated as accessible residue\nResidue 24 (author residue 1669) in chain A of entity 1 annotated as accessible residue\nResidue 25 (author residue 1670) in chain A of entity 1 annotated as accessible residue\nResidue 26 (author residue 1671) in chain A of entity 1 annotated as accessible residue\nResidue 27 (author residue 1672) in chain A of entity 1 annotated as accessible residue\nResidue 28 (author residue 1673) in chain A of entity 1 annotated as accessible residue\nResidue 29 (author residue 1674) in chain A of entity 1 annotated as accessible residue\nResidue 30 (author residue 1675) in chain A of entity 1 annotated as accessible residue\nResidue 31 (author residue 1676) in chain A of entity 1 annotated as accessible residue\nResidue 32 (author residue 1677) in chain A of entity 1 annotated as accessible residue\nResidue 33 (author residue 1678) in chain A of entity 1 annotated as accessible residue\nResidue 34 (author residue 1679) in chain A of entity 1 annotated as accessible residue\nResidue 35 (author residue 1680) in chain A of entity 1 annotated as accessible residue\nResidue 36 (author residue 1681) in chain A of entity 1 annotated as accessible residue\nResidue 37 (author residue 1682) in chain A of entity 1 annotated as accessible residue\nResidue 38 (author residue 1683) in chain A of entity 1 annotated as accessible residue\nResidue 39 (author residue 1684) in chain A of entity 1 annotated as accessible residue\nResidue 40 (author residue 1685) in chain A of entity 1 annotated as accessible residue\nResidue 41 (author residue 1686) in chain A of entity 1 annotated as accessible residue\nResidue 44 (author residue 1689) in chain A of entity 1 annotated as accessible residue\nResidue 45 (author residue 1690) in chain A of entity 1 annotated as accessible residue\nResidue 46 (author residue 1691) in chain A of entity 1 annotated as accessible residue\nResidue 47 (author residue 1692) in chain A of entity 1 annotated as accessible residue\nResidue 48 (author residue 1693) in chain A of entity 1 annotated as accessible residue\nResidue 49 (author residue 1694) in chain A of entity 1 annotated as accessible residue\nResidue 50 (author residue 1695) in chain A of entity 1 annotated as accessible residue\nResidue 51 (author residue 1696) in chain A of entity 1 annotated as accessible residue\nResidue 52 (author residue 1697) in chain A of entity 1 annotated as accessible residue\nResidue 53 (author residue 1698) in chain A of entity 1 annotated as accessible residue\nResidue 54 (author residue 1699) in chain A of entity 1 annotated as accessible residue\nResidue 55 (author residue 1700) in chain A of entity 1 annotated as accessible residue\nResidue 56 (author residue 1701) in chain A of entity 1 annotated as accessible residue\nResidue 57 (author residue 1702) in chain A of entity 1 annotated as accessible residue\nResidue 59 (author residue 1704) in chain A of entity 1 annotated as accessible residue\nResidue 60 (author residue 1705) in chain A of entity 1 annotated as accessible residue\nResidue 62 (author residue 1707) in chain A of entity 1 annotated as accessible residue\nResidue 64 (author residue 1709) in chain A of entity 1 annotated as accessible residue\nResidue 65 (author residue 1710) in chain A of entity 1 annotated as accessible residue\nResidue 66 (author residue 1711) in chain A of entity 1 annotated as accessible residue\nResidue 67 (author residue 1712) in chain A of entity 1 annotated as accessible residue\nResidue 71 (author residue 1716) in chain A of entity 1 annotated as accessible residue\nResidue 72 (author residue 1717) in chain A of entity 1 annotated as accessible residue\nResidue 73 (author residue 1718) in chain A of entity 1 annotated as accessible residue\nResidue 75 (author residue 1720) in chain A of entity 1 annotated as accessible residue\nResidue 76 (author residue 1721) in chain A of entity 1 annotated as accessible residue\nResidue 77 (author residue 1722) in chain A of entity 1 annotated as accessible residue\nResidue 78 (author residue 1723) in chain A of entity 1 annotated as accessible residue\nResidue 79 (author residue 1724) in chain A of entity 1 annotated as accessible residue\nResidue 80 (author residue 1725) in chain A of entity 1 annotated as accessible residue\nResidue 81 (author residue 1726) in chain A of entity 1 annotated as accessible residue\nResidue 82 (author residue 1727) in chain A of entity 1 annotated as accessible residue\nResidue 83 (author residue 1728) in chain A of entity 1 annotated as accessible residue\nResidue 84 (author residue 1729) in chain A of entity 1 annotated as accessible residue\nResidue 85 (author residue 1730) in chain A of entity 1 annotated as accessible residue\nResidue 86 (author residue 1731) in chain A of entity 1 annotated as accessible residue\nResidue 87 (author residue 1732) in chain A of entity 1 annotated as accessible residue\nResidue 88 (author residue 1733) in chain A of entity 1 annotated as accessible residue\nResidue 89 (author residue 1734) in chain A of entity 1 annotated as accessible residue\nResidue 90 (author residue 1735) in chain A of entity 1 annotated as accessible residue\nResidue 91 (author residue 1736) in chain A of entity 1 annotated as accessible residue\nResidue 92 (author residue 1737) in chain A of entity 1 annotated as accessible residue\nResidue 94 (author residue 1739) in chain A of entity 1 annotated as accessible residue\nResidue 95 (author residue 1740) in chain A of entity 1 annotated as accessible residue\nResidue 96 (author residue 1741) in chain A of entity 1 annotated as accessible residue\nResidue 97 (author residue 1742) in chain A of entity 1 annotated as accessible residue\nResidue 98 (author residue 1743) in chain A of entity 1 annotated as accessible residue\nResidue 99 (author residue 1744) in chain A of entity 1 annotated as accessible residue\nResidue 100 (author residue 1745) in chain A of entity 1 annotated as accessible residue\nResidue 101 (author residue 1746) in chain A of entity 1 annotated as accessible residue\nResidue 102 (author residue 1747) in chain A of entity 1 annotated as accessible residue\nResidue 104 (author residue 1749) in chain A of entity 1 annotated as accessible residue\nResidue 105 (author residue 1750) in chain A of entity 1 annotated as accessible residue\nResidue 106 (author residue 1751) in chain A of entity 1 annotated as accessible residue\nResidue 107 (author residue 1752) in chain A of entity 1 annotated as accessible residue\nResidue 108 (author residue 1753) in chain A of entity 1 annotated as accessible residue\nResidue 109 (author residue 1754) in chain A of entity 1 annotated as accessible residue\nResidue 110 (author residue 1755) in chain A of entity 1 annotated as accessible residue\nResidue 111 (author residue 1756) in chain A of entity 1 annotated as accessible residue\nResidue 112 (author residue 1757) in chain A of entity 1 annotated as accessible residue\nResidue 113 (author residue 1758) in chain A of entity 1 annotated as accessible residue\nResidue 114 (author residue 1759) in chain A of entity 1 annotated as accessible residue\nResidue 115 (author residue 1760) in chain A of entity 1 annotated as accessible residue\nResidue 117 (author residue 1762) in chain A of entity 1 annotated as accessible residue\nResidue 118 (author residue 1763) in chain A of entity 1 annotated as accessible residue\nResidue 119 (author residue 1764) in chain A of entity 1 annotated as accessible residue\nResidue 120 (author residue 1765) in chain A of entity 1 annotated as accessible residue\nResidue 121 (author residue 1766) in chain A of entity 1 annotated as accessible residue\nResidue 122 (author residue 1767) in chain A of entity 1 annotated as accessible residue\nResidue 123 (author residue 1768) in chain A of entity 1 annotated as accessible residue\nResidue 124 (author residue 1769) in chain A of entity 1 annotated as accessible residue\nResidue 125 (author residue 1770) in chain A of entity 1 annotated as accessible residue\nResidue 126 (author residue 1771) in chain A of entity 1 annotated as accessible residue\nResidue 127 (author residue 1772) in chain A of entity 1 annotated as accessible residue\nResidue 128 (author residue 1773) in chain A of entity 1 annotated as accessible residue\nResidue 129 (author residue 1774) in chain A of entity 1 annotated as accessible residue\nResidue 130 (author residue 1775) in chain A of entity 1 annotated as accessible residue\nResidue 131 (author residue 1776) in chain A of entity 1 annotated as accessible residue\nResidue 132 (author residue 1777) in chain A of entity 1 annotated as accessible residue\nResidue 133 (author residue 1778) in chain A of entity 1 annotated as accessible residue\nResidue 134 (author residue 1779) in chain A of entity 1 annotated as accessible residue\nResidue 135 (author residue 1780) in chain A of entity 1 annotated as accessible residue\nResidue 136 (author residue 1781) in chain A of entity 1 annotated as accessible residue\nResidue 137 (author residue 1782) in chain A of entity 1 annotated as accessible residue\nResidue 139 (author residue 1784) in chain A of entity 1 annotated as accessible residue\nResidue 140 (author residue 1785) in chain A of entity 1 annotated as accessible residue\nResidue 141 (author residue 1786) in chain A of entity 1 annotated as accessible residue\nResidue 143 (author residue 1788) in chain A of entity 1 annotated as accessible residue\nResidue 144 (author residue 1789) in chain A of entity 1 annotated as accessible residue\nResidue 145 (author residue 1790) in chain A of entity 1 annotated as accessible residue\nResidue 146 (author residue 1791) in chain A of entity 1 annotated as accessible residue\nResidue 147 (author residue 1792) in chain A of entity 1 annotated as accessible residue\nResidue 148 (author residue 1793) in chain A of entity 1 annotated as accessible residue\nResidue 149 (author residue 1794) in chain A of entity 1 annotated as accessible residue\nResidue 150 (author residue 1795) in chain A of entity 1 annotated as accessible residue\nResidue 151 (author residue 1796) in chain A of entity 1 annotated as accessible residue\nResidue 152 (author residue 1797) in chain A of entity 1 annotated as accessible residue\nResidue 153 (author residue 1798) in chain A of entity 1 annotated as accessible residue\nResidue 154 (author residue 1799) in chain A of entity 1 annotated as accessible residue\nResidue 155 (author residue 1800) in chain A of entity 1 annotated as accessible residue\nResidue 156 (author residue 1801) in chain A of entity 1 annotated as accessible residue\nResidue 159 (author residue 1804) in chain A of entity 1 annotated as accessible residue\nResidue 160 (author residue 1805) in chain A of entity 1 annotated as accessible residue\nResidue 161 (author residue 1806) in chain A of entity 1 annotated as accessible residue\nResidue 162 (author residue 1807) in chain A of entity 1 annotated as accessible residue\nResidue 166 (author residue 1811) in chain A of entity 1 annotated as accessible residue\nResidue 167 (author residue 1812) in chain A of entity 1 annotated as accessible residue\nResidue 168 (author residue 1813) in chain A of entity 1 annotated as accessible residue\nResidue 169 (author residue 1814) in chain A of entity 1 annotated as accessible residue\nResidue 170 (author residue 1815) in chain A of entity 1 annotated as accessible residue\nResidue 171 (author residue 1816) in chain A of entity 1 annotated as accessible residue\nResidue 172 (author residue 1817) in chain A of entity 1 annotated as accessible residue\nResidue 173 (author residue 1818) in chain A of entity 1 annotated as accessible residue\nResidue 174 (author residue 1819) in chain A of entity 1 annotated as accessible residue\nResidue 175 (author residue 1820) in chain A of entity 1 annotated as accessible residue\nResidue 176 (author residue 1821) in chain A of entity 1 annotated as accessible residue\nResidue 177 (author residue 1822) in chain A of entity 1 annotated as accessible residue\nResidue 178 (author residue 1823) in chain A of entity 1 annotated as accessible residue\nResidue 179 (author residue 1824) in chain A of entity 1 annotated as accessible residue\nResidue 180 (author residue 1825) in chain A of entity 1 annotated as accessible residue\nResidue 181 (author residue 1826) in chain A of entity 1 annotated as accessible residue\nResidue 182 (author residue 1827) in chain A of entity 1 annotated as accessible residue\nResidue 183 (author residue 1828) in chain A of entity 1 annotated as accessible residue\nResidue 184 (author residue 1829) in chain A of entity 1 annotated as accessible residue\nResidue 185 (author residue 1830) in chain A of entity 1 annotated as accessible residue\nResidue 186 (author residue 1831) in chain A of entity 1 annotated as accessible residue\nResidue 187 (author residue 1832) in chain A of entity 1 annotated as accessible residue\nResidue 189 (author residue 1834) in chain A of entity 1 annotated as accessible residue\nResidue 190 (author residue 1835) in chain A of entity 1 annotated as accessible residue\nResidue 191 (author residue 1836) in chain A of entity 1 annotated as accessible residue\nResidue 192 (author residue 1837) in chain A of entity 1 annotated as accessible residue\nResidue 194 (author residue 1839) in chain A of entity 1 annotated as accessible residue\nResidue 195 (author residue 1840) in chain A of entity 1 annotated as accessible residue\nResidue 199 (author residue 1844) in chain A of entity 1 annotated as accessible residue\nResidue 200 (author residue 1845) in chain A of entity 1 annotated as accessible residue\nResidue 201 (author residue 1846) in chain A of entity 1 annotated as accessible residue\nResidue 202 (author residue 1847) in chain A of entity 1 annotated as accessible residue\nResidue 203 (author residue 1848) in chain A of entity 1 annotated as accessible residue\nResidue 204 (author residue 1849) in chain A of entity 1 annotated as accessible residue\nResidue 205 (author residue 1850) in chain A of entity 1 annotated as accessible residue\nResidue 206 (author residue 1851) in chain A of entity 1 annotated as accessible residue\nResidue 207 (author residue 1852) in chain A of entity 1 annotated as accessible residue\nResidue 208 (author residue 1853) in chain A of entity 1 annotated as accessible residue\nResidue 209 (author residue 1854) in chain A of entity 1 annotated as accessible residue\nResidue 210 (author residue 1855) in chain A of entity 1 annotated as accessible residue\nResidue 211 (author residue 1856) in chain A of entity 1 annotated as accessible residue\nResidue 212 (author residue 1857) in chain A of entity 1 annotated as accessible residue\nResidue 213 (author residue 1858) in chain A of entity 1 annotated as accessible residue\nResidue 214 (author residue 1859) in chain A of entity 1 annotated as accessible residue\nResidue 3 (author residue 3) in chain E of entity 2 annotated as accessible residue\nResidue 4 (author residue 4) in chain E of entity 2 annotated as accessible residue\nResidue 6 (author residue 6) in chain E of entity 2 annotated as accessible residue\nResidue 7 (author residue 7) in chain E of entity 2 annotated as accessible residue\nResidue 8 (author residue 8) in chain E of entity 2 annotated as accessible residue\nResidue 9 (author residue 9) in chain E of entity 2 annotated as accessible residue\n" } ], "source": [ "for site in filtered_annotations_data:\n", " filtered_site_residues = list(filter(lambda x: x[\"raw_score\"] > 0, site[\"site_residues\"]))\n", " for residue in filtered_site_residues:\n", " print(\"Residue {} (author residue {}) in chain {} of entity {} annotated as accessible residue\".format(residue.get(\"residue_number\"), residue.get(\"author_residue_number\"), residue.get(\"chain_id\"), residue.get(\"entity_id\")))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] }