tmkit


Nametmkit JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/2003100127/tmkit
SummaryTMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.
upload_time2024-01-19 22:44:23
maintainer
docs_urlNone
authorJianfeng Sun
requires_python>=3.10,<3.11
licenseGNU GPL v3.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1>
    <img src="https://github.com/2003100127/tmkit/blob/main/tmkit/util/tmkit_sign.png?raw=true" width="300" height="100">
    <br>
</h1>

![](https://img.shields.io/pypi/v/tmkit?logo=PyPI)
![Test](https://github.com/2003100127/tmkit/actions/workflows/test.yml/badge.svg)
![](https://img.shields.io/badge/last_released-Jul14._2023-green.svg)
![](https://img.shields.io/badge/tmkit-executable-519dd9.svg)
![Coverage Report](assets/images/coverage.svg)
[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/2003100127/tmkit/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Anaconda](https://github.com/2003100127/tmkit/actions/workflows/conda.yml/badge.svg)](https://github.com/2003100127/tmkit/actions/workflows/conda.yml)
[![run with docker](https://img.shields.io/badge/run%20with-Docker-0db7ed?logo=docker)](https://www.docker.com/2003100127/tmkit)
[![Downloads](https://pepy.tech/badge/tmkitx)](https://pepy.tech/project/tmkitx)

<!-- ![Build](https://github.com/2003100127/tmkit/actions/workflows/build.yml/badge.svg) -->

###### tags: `bioinformatics`, `protein-protein interfaces`

## Overview

```angular2html
 _____ __  __ _  ___ _
|_   _|  \/  | |/ (_) |_
  | | | |\/| | ' /| | __|
  | | | |  | | . \| | |_
  |_| |_|  |_|_|\_\_|\__|
```

TMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.

## Documentation

Website: https://tmkit-guide.herokuapp.com/doc/overview

Source: https://github.com/2003100127/tmkit-guide

We also provided a jupyter notebook (`examples.ipynb`) to demonstrate the usage of TMKit.

## Installation

### Using pip (recommended)

```sh
# create a conda environment
conda create --name tmkit python=3.10

# activate the conda environment
conda activate tmkit

# a stable version 0.0.5 (recommended)
pip install tmkit==0.0.5
```

### Using conda

If you want to install TMKit with some optional packages, including hh-suite, pymol, and hmmer, you can select the conda option. You should have [miniconda](https://docs.conda.io/en/latest/miniconda.html) installed first. Please run the following commands to create a new conda environment and install TMKit.

```sh
# create a conda environment
conda create --name tmkit python=3.10

# activate the conda environment
conda activate tmkit

conda install -c 2003100127 -c conda-forge -c bioconda tmkit
```

### Using docker

You can also use docker to run TMKit. You should have [docker](https://docs.docker.com/get-docker/) installed first. Then run the following commands to pull the docker image.

```sh
docker pull 2003100127/tmkit:latest
```

## For developers

If you want to contribute to TMKit, be sure to review the [contribution guidelines](CONTRIBUTING.md). Please fork the repository and create a new branch for development. We provided a [docker image](https://hub.docker.com/r/2003100127/tmkit-dev/tags) and a `Makefile` to help you get started quickly. After cloned the repo and connected to the docker container, you can run the following commands to get started.

```sh
# install poetry
make poetry-download

# create a virtual environment
make create-venv

# install dependencies
make install

# install pre-commit hooks
make pre-commit-install

# happy coding :)
# ...

# after coding, run the following commands to check your code before making a pull request
make test
```

The development environment is managed by [Poetry](https://python-poetry.org/). [`pre-commit`](https://github.com/pre-commit/pre-commit) is used to manage the git hooks, which include code formatting, linting, security check, etc, and is configured in the `.pre-commit-config.yaml` file. Using `pre-commit` is highly recommended to ensure the code quality.

### Makefile usage

[`Makefile`](https://github.com/2003100127/tmkit/blob/main/Makefile) contains a lot of functions for faster development.

<details>
<summary>1. Download and remove Poetry</summary>
<p>

To download and install Poetry run:

```bash
make poetry-download
```

To uninstall

```bash
make poetry-remove
```

</p>
</details>

<details>
<summary>2. Install all dependencies and pre-commit hooks</summary>
<p>

Install requirements:

```bash
make install
```

Pre-commit hooks coulb be installed after `git init` via

```bash
make pre-commit-install
```

</p>
</details>

<details>
<summary>3. Codestyle</summary>
<p>

Automatic formatting uses `pyupgrade`, `isort` and `black`.

```bash
make codestyle

# or use synonym
make formatting
```

Codestyle checks only, without rewriting files:

```bash
make check-codestyle
```

> Note: `check-codestyle` uses `isort`, `black` and `darglint` library

Update all dev libraries to the latest version using one comand

```bash
make update-dev-deps
```

</p>
</details>

<details>
<summary>4. Code security</summary>
<p>

```bash
make check-safety
```

This command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.

```bash
make check-safety
```

</p>
</details>

<details>
<summary>5. Type checks</summary>
<p>

Run `mypy` static type checker

```bash
make mypy
```

</p>
</details>

<details>
<summary>6. Tests with coverage badges</summary>
<p>

Run `pytest`

```bash
make test
```

</p>
</details>

<details>
<summary>7. All linters</summary>
<p>

Of course there is a command to ~~rule~~ run all linters in one:

```bash
make lint
```

the same as:

```bash
make test && make check-codestyle && make mypy && make check-safety
```

</p>
</details>

<details>
<summary>8. Docker</summary>
<p>

```bash
make docker-build
```

which is equivalent to:

```bash
make docker-build VERSION=latest
```

Remove docker image with

```bash
make docker-remove
```

More information [about docker](https://github.com/2003100127/tmkit/tree/master/docker).

</p>
</details>

<details>
<summary>9. Cleanup</summary>
<p>
Delete pycache files

```bash
make pycache-remove
```

Remove package build

```bash
make build-remove
```

Delete .DS_STORE files

```bash
make dsstore-remove
```

Remove .mypycache

```bash
make mypycache-remove
```

Or to remove all above run:

```bash
make cleanup
```

</p>
</details>

## Citation

Please cite our work if you use TMKit in your research.

## Contact

Please report any questions on [issue](https://github.com/2003100127/tmkit/issues) pages.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/2003100127/tmkit",
    "name": "tmkit",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<3.11",
    "maintainer_email": "",
    "keywords": "",
    "author": "Jianfeng Sun",
    "author_email": "jianfeng.sun@ndorms.ox.ac.uk",
    "download_url": "https://files.pythonhosted.org/packages/f0/31/e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4/tmkit-0.0.5.tar.gz",
    "platform": null,
    "description": "<h1>\n    <img src=\"https://github.com/2003100127/tmkit/blob/main/tmkit/util/tmkit_sign.png?raw=true\" width=\"300\" height=\"100\">\n    <br>\n</h1>\n\n![](https://img.shields.io/pypi/v/tmkit?logo=PyPI)\n![Test](https://github.com/2003100127/tmkit/actions/workflows/test.yml/badge.svg)\n![](https://img.shields.io/badge/last_released-Jul14._2023-green.svg)\n![](https://img.shields.io/badge/tmkit-executable-519dd9.svg)\n![Coverage Report](assets/images/coverage.svg)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/2003100127/tmkit/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)\n[![Anaconda](https://github.com/2003100127/tmkit/actions/workflows/conda.yml/badge.svg)](https://github.com/2003100127/tmkit/actions/workflows/conda.yml)\n[![run with docker](https://img.shields.io/badge/run%20with-Docker-0db7ed?logo=docker)](https://www.docker.com/2003100127/tmkit)\n[![Downloads](https://pepy.tech/badge/tmkitx)](https://pepy.tech/project/tmkitx)\n\n<!-- ![Build](https://github.com/2003100127/tmkit/actions/workflows/build.yml/badge.svg) -->\n\n###### tags: `bioinformatics`, `protein-protein interfaces`\n\n## Overview\n\n```angular2html\n _____ __  __ _  ___ _\n|_   _|  \\/  | |/ (_) |_\n  | | | |\\/| | ' /| | __|\n  | | | |  | | . \\| | |_\n  |_| |_|  |_|_|\\_\\_|\\__|\n```\n\nTMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.\n\n## Documentation\n\nWebsite: https://tmkit-guide.herokuapp.com/doc/overview\n\nSource: https://github.com/2003100127/tmkit-guide\n\nWe also provided a jupyter notebook (`examples.ipynb`) to demonstrate the usage of TMKit.\n\n## Installation\n\n### Using pip (recommended)\n\n```sh\n# create a conda environment\nconda create --name tmkit python=3.10\n\n# activate the conda environment\nconda activate tmkit\n\n# a stable version 0.0.5 (recommended)\npip install tmkit==0.0.5\n```\n\n### Using conda\n\nIf you want to install TMKit with some optional packages, including hh-suite, pymol, and hmmer, you can select the conda option. You should have [miniconda](https://docs.conda.io/en/latest/miniconda.html) installed first. Please run the following commands to create a new conda environment and install TMKit.\n\n```sh\n# create a conda environment\nconda create --name tmkit python=3.10\n\n# activate the conda environment\nconda activate tmkit\n\nconda install -c 2003100127 -c conda-forge -c bioconda tmkit\n```\n\n### Using docker\n\nYou can also use docker to run TMKit. You should have [docker](https://docs.docker.com/get-docker/) installed first. Then run the following commands to pull the docker image.\n\n```sh\ndocker pull 2003100127/tmkit:latest\n```\n\n## For developers\n\nIf you want to contribute to TMKit, be sure to review the [contribution guidelines](CONTRIBUTING.md). Please fork the repository and create a new branch for development. We provided a [docker image](https://hub.docker.com/r/2003100127/tmkit-dev/tags) and a `Makefile` to help you get started quickly. After cloned the repo and connected to the docker container, you can run the following commands to get started.\n\n```sh\n# install poetry\nmake poetry-download\n\n# create a virtual environment\nmake create-venv\n\n# install dependencies\nmake install\n\n# install pre-commit hooks\nmake pre-commit-install\n\n# happy coding :)\n# ...\n\n# after coding, run the following commands to check your code before making a pull request\nmake test\n```\n\nThe development environment is managed by [Poetry](https://python-poetry.org/). [`pre-commit`](https://github.com/pre-commit/pre-commit) is used to manage the git hooks, which include code formatting, linting, security check, etc, and is configured in the `.pre-commit-config.yaml` file. Using `pre-commit` is highly recommended to ensure the code quality.\n\n### Makefile usage\n\n[`Makefile`](https://github.com/2003100127/tmkit/blob/main/Makefile) contains a lot of functions for faster development.\n\n<details>\n<summary>1. Download and remove Poetry</summary>\n<p>\n\nTo download and install Poetry run:\n\n```bash\nmake poetry-download\n```\n\nTo uninstall\n\n```bash\nmake poetry-remove\n```\n\n</p>\n</details>\n\n<details>\n<summary>2. Install all dependencies and pre-commit hooks</summary>\n<p>\n\nInstall requirements:\n\n```bash\nmake install\n```\n\nPre-commit hooks coulb be installed after `git init` via\n\n```bash\nmake pre-commit-install\n```\n\n</p>\n</details>\n\n<details>\n<summary>3. Codestyle</summary>\n<p>\n\nAutomatic formatting uses `pyupgrade`, `isort` and `black`.\n\n```bash\nmake codestyle\n\n# or use synonym\nmake formatting\n```\n\nCodestyle checks only, without rewriting files:\n\n```bash\nmake check-codestyle\n```\n\n> Note: `check-codestyle` uses `isort`, `black` and `darglint` library\n\nUpdate all dev libraries to the latest version using one comand\n\n```bash\nmake update-dev-deps\n```\n\n</p>\n</details>\n\n<details>\n<summary>4. Code security</summary>\n<p>\n\n```bash\nmake check-safety\n```\n\nThis command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.\n\n```bash\nmake check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>5. Type checks</summary>\n<p>\n\nRun `mypy` static type checker\n\n```bash\nmake mypy\n```\n\n</p>\n</details>\n\n<details>\n<summary>6. Tests with coverage badges</summary>\n<p>\n\nRun `pytest`\n\n```bash\nmake test\n```\n\n</p>\n</details>\n\n<details>\n<summary>7. All linters</summary>\n<p>\n\nOf course there is a command to ~~rule~~ run all linters in one:\n\n```bash\nmake lint\n```\n\nthe same as:\n\n```bash\nmake test && make check-codestyle && make mypy && make check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>8. Docker</summary>\n<p>\n\n```bash\nmake docker-build\n```\n\nwhich is equivalent to:\n\n```bash\nmake docker-build VERSION=latest\n```\n\nRemove docker image with\n\n```bash\nmake docker-remove\n```\n\nMore information [about docker](https://github.com/2003100127/tmkit/tree/master/docker).\n\n</p>\n</details>\n\n<details>\n<summary>9. Cleanup</summary>\n<p>\nDelete pycache files\n\n```bash\nmake pycache-remove\n```\n\nRemove package build\n\n```bash\nmake build-remove\n```\n\nDelete .DS_STORE files\n\n```bash\nmake dsstore-remove\n```\n\nRemove .mypycache\n\n```bash\nmake mypycache-remove\n```\n\nOr to remove all above run:\n\n```bash\nmake cleanup\n```\n\n</p>\n</details>\n\n## Citation\n\nPlease cite our work if you use TMKit in your research.\n\n## Contact\n\nPlease report any questions on [issue](https://github.com/2003100127/tmkit/issues) pages.\n",
    "bugtrack_url": null,
    "license": "GNU GPL v3.0",
    "summary": "TMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.",
    "version": "0.0.5",
    "project_urls": {
        "Homepage": "https://github.com/2003100127/tmkit",
        "Repository": "https://github.com/2003100127/tmkit"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f031e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4",
                "md5": "1541a31ea0ce269fc6cc8024f75b4d40",
                "sha256": "18c20a8873f0a04349a3b0db70338432f7a06a66587fb5fa26a258a75cd82975"
            },
            "downloads": -1,
            "filename": "tmkit-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "1541a31ea0ce269fc6cc8024f75b4d40",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<3.11",
            "size": 120336,
            "upload_time": "2024-01-19T22:44:23",
            "upload_time_iso_8601": "2024-01-19T22:44:23.172710Z",
            "url": "https://files.pythonhosted.org/packages/f0/31/e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4/tmkit-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-19 22:44:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "2003100127",
    "github_project": "tmkit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "tmkit"
}
        
Elapsed time: 1.48228s