emdb


Nameemdb JSON
Version 0.1.7 PyPI version JSON
download
home_pageNone
SummaryA Python client for accessing the Electron Microscopy Data Bank (EMDB)
upload_time2025-07-18 15:27:37
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache 2
keywords emdb electron microscopy bioinformatics client
VCS
bugtrack_url
requirements matplotlib pandas pydantic sphinx
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EMDB Python Client

A Python client for accessing and interacting with the [Electron Microscopy Data Bank (EMDB)](https://www.ebi.ac.uk/emdb/).  
This package provides an easy-to-use interface to query EMDB entries, access metadata, and download associated files.

## ๐Ÿš€ Features
- Retrieve EMDB entries by ID
- Query metadata such as resolution, sample description, and related PDBs
- Download associated files (maps, images, metadata)
- Utility models for plotting and file handling
- Access to validation analysis and annotation data

## ๐Ÿ“š Documentation
Full API documentation is available at:  
๐Ÿ‘‰ [https://emdb.readthedocs.io/en/latest/](https://emdb.readthedocs.io/en/latest/)

## ๐Ÿ”ง Installation
You can install the EMDB client via pip:

```bash
pip install emdb
```

## โœจ Quick Start
```python
from emdb.client import EMDB
from emdb.exceptions import EMDBNotFoundError

client = EMDB()

try:
    # Retrieve an entry by ID
    entry = client.get_entry("EMD-8117")
    print(entry.resolution)
    
    # Access cross-reference annotations
    annotations = entry.get_annotations()
    for annotation in annotations:
        print(annotation)
    
    # Access validation data and plot FSC
    validation = entry.get_validation()
    validation.plots.fsc.plot()
    
    # Download all files
    entry.download_all_files(output_dir="/tmp/emd1234/")
    
    # Perform a query to return EMDB entries
    results = client.search("HIV")
    for entry in results:
        print(entry.id, entry.method, entry.resolution)
    
    # Perform a query to return a DataFrame
    table = client.csv_search("HIV")
    print(table)
except EMDBNotFoundError:
    print("Entry not found.")
```

## ๐Ÿงช Tests
COMING SOON

## ๐Ÿ›  Requirements
- Python 3.8+
See [requirements.txt](requirements.txt) for full dependencies.

## ๐Ÿค Contributing
Contributions are welcome!
Feel free to open issues or submit pull requests.

## ๐Ÿ“„ License
This project is licensed under the Apache License 2.0.

## ๐Ÿ“ง Contact
For questions or feedback, please open an issue on GitHub or contact the maintainers.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "emdb",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "EMDB, Electron Microscopy, Bioinformatics, Client",
    "author": null,
    "author_email": "Neli Fonseca <neli@ebi.ac.uk>",
    "download_url": "https://files.pythonhosted.org/packages/d4/c6/cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114/emdb-0.1.7.tar.gz",
    "platform": null,
    "description": "# EMDB Python Client\n\nA Python client for accessing and interacting with the [Electron Microscopy Data Bank (EMDB)](https://www.ebi.ac.uk/emdb/).  \nThis package provides an easy-to-use interface to query EMDB entries, access metadata, and download associated files.\n\n## \ud83d\ude80 Features\n- Retrieve EMDB entries by ID\n- Query metadata such as resolution, sample description, and related PDBs\n- Download associated files (maps, images, metadata)\n- Utility models for plotting and file handling\n- Access to validation analysis and annotation data\n\n## \ud83d\udcda Documentation\nFull API documentation is available at:  \n\ud83d\udc49 [https://emdb.readthedocs.io/en/latest/](https://emdb.readthedocs.io/en/latest/)\n\n## \ud83d\udd27 Installation\nYou can install the EMDB client via pip:\n\n```bash\npip install emdb\n```\n\n## \u2728 Quick Start\n```python\nfrom emdb.client import EMDB\nfrom emdb.exceptions import EMDBNotFoundError\n\nclient = EMDB()\n\ntry:\n    # Retrieve an entry by ID\n    entry = client.get_entry(\"EMD-8117\")\n    print(entry.resolution)\n    \n    # Access cross-reference annotations\n    annotations = entry.get_annotations()\n    for annotation in annotations:\n        print(annotation)\n    \n    # Access validation data and plot FSC\n    validation = entry.get_validation()\n    validation.plots.fsc.plot()\n    \n    # Download all files\n    entry.download_all_files(output_dir=\"/tmp/emd1234/\")\n    \n    # Perform a query to return EMDB entries\n    results = client.search(\"HIV\")\n    for entry in results:\n        print(entry.id, entry.method, entry.resolution)\n    \n    # Perform a query to return a DataFrame\n    table = client.csv_search(\"HIV\")\n    print(table)\nexcept EMDBNotFoundError:\n    print(\"Entry not found.\")\n```\n\n## \ud83e\uddea Tests\nCOMING SOON\n\n## \ud83d\udee0 Requirements\n- Python 3.8+\nSee [requirements.txt](requirements.txt) for full dependencies.\n\n## \ud83e\udd1d Contributing\nContributions are welcome!\nFeel free to open issues or submit pull requests.\n\n## \ud83d\udcc4 License\nThis project is licensed under the Apache License 2.0.\n\n## \ud83d\udce7 Contact\nFor questions or feedback, please open an issue on GitHub or contact the maintainers.\n\n",
    "bugtrack_url": null,
    "license": "Apache 2",
    "summary": "A Python client for accessing the Electron Microscopy Data Bank (EMDB)",
    "version": "0.1.7",
    "project_urls": {
        "Bug Tracker": "https://github.com/emdb-empiar/emdb-api-wrapper/issues",
        "Documentation": "https://emdb.readthedocs.io/en/latest/",
        "Homepage": "https://www.ebi.ac.uk/emdb/",
        "Repository": "https://github.com/emdb-empiar/emdb-api-wrapper"
    },
    "split_keywords": [
        "emdb",
        " electron microscopy",
        " bioinformatics",
        " client"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3e845fb7f6afaae93174ad6c0619b05eb366ffa0a0b8ba1faed7b2c4018a4e51",
                "md5": "7509bc036c1f5dfee95b6eec03b5204e",
                "sha256": "5e5eb791e391c5534420c33957afe9f6b37dd53a9ce1619a191b6755d3ee12ee"
            },
            "downloads": -1,
            "filename": "emdb-0.1.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7509bc036c1f5dfee95b6eec03b5204e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 21978,
            "upload_time": "2025-07-18T15:27:36",
            "upload_time_iso_8601": "2025-07-18T15:27:36.413649Z",
            "url": "https://files.pythonhosted.org/packages/3e/84/5fb7f6afaae93174ad6c0619b05eb366ffa0a0b8ba1faed7b2c4018a4e51/emdb-0.1.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d4c6cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114",
                "md5": "04da30a56411142e940d0a9b9053c49a",
                "sha256": "1849ddec939f9f4fe423e7689c6e1539b6c0179e5557a5bae5d23d7d652a9df0"
            },
            "downloads": -1,
            "filename": "emdb-0.1.7.tar.gz",
            "has_sig": false,
            "md5_digest": "04da30a56411142e940d0a9b9053c49a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 20090,
            "upload_time": "2025-07-18T15:27:37",
            "upload_time_iso_8601": "2025-07-18T15:27:37.360859Z",
            "url": "https://files.pythonhosted.org/packages/d4/c6/cc709b47daa6f4e551cf7f8134884aaff1cba13ba1b6027f0ed4fd3b3114/emdb-0.1.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 15:27:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "emdb-empiar",
    "github_project": "emdb-api-wrapper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.10.3"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.3.1"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.11.7"
                ]
            ]
        },
        {
            "name": "sphinx",
            "specs": [
                [
                    "==",
                    "8.2.3"
                ]
            ]
        }
    ],
    "lcname": "emdb"
}
        
Elapsed time: 1.79698s