semvec/pypi-packages huggingface dataset:
prot2d 0.5.7
Python package for creating simplified 2D protein visualisations. Specialised on showing differences and similaritys between proteins from the same protein family.
Requires Python: <3.13,>=3.10

# prot2d
<img width="910" alt="image" src="https://github.com/ConstantinCarl/prot2d/assets/156075124/34d415d3-55be-4784-a96d-035e40fc5afe">

Prot2d is a tool for 2D protein visualization aimed at improving the comparability of protein structures through standardized 2D visualizations. Prot2d focuses on creating highly comparable representations for same-family proteins.


# Getting Started

prot2d needs python version: python= ">=3.10,<3.13"


## Download prot2d via pip or poetry
- pip: 
```shell
pip install prot2d
```
- Poetry: 
```shell
poetry add prot2d
```


## Install Foldseek 
Instructions for downloading the Foldseek software can be found in Foldseek's GitHub
- [Foldseek GitHub](https://github.com/steineggerlab/foldseek)

--> prot2d needs the path to the foldseek executable passed as argument to the main function to be used by the program.

## Install dssp
Instructions for downloading dssp can be found here:
- [dssp instructions](http://biskit.pasteur.fr/install/applications/dssp)

!The program runs on the mkdssp version 4.4.0! (some sources dont provide that (brew does!))

*An example download workflow for usage can also be found in the google colab*

# First experiences with Google Colab

For users to get to know prot2d we've prepared a Google Colab notebook. This allows you to execute different prot2d's functionality on example structure and see the results without needing to set up the project locally.

- [Google Colab](https://colab.research.google.com/drive/17u0twE81kYYspNFsdXUHrCyP33hj0dO6?usp=sharing)

Instructions in the Colab help with the first hands-on.


# Documentation

Prot2d's documentation can found here:
- [prot2d documentation!](https://constantincarl.github.io/prot2d/)

**important notes:**
- input PDB files need a header to work (important for predicted structures)
- prot2d's methods can also be used via command line commands (cli)

# Data

This project uses datasets that can be found on Zenodo. Additional example files can be found here aswell. You can access and download the data using the following link or DOI:

- [Zenodo Data](https://doi.org/10.5281/zenodo.10674045)


# Example visualizations

## 1kt1 - domain visualization (family vis)
<img width="1351" alt="image" src="https://github.com/ConstantinCarl/prot2d/assets/156075124/1f8ac748-09d1-464c-9e42-c6fd93bfeddc">

## 1kt1 - full protine visualization
<img width="540" alt="image" src="https://github.com/ConstantinCarl/prot2d/assets/156075124/854a89a7-e91c-4ec5-b81d-d33b4f1b96ec">









# Domain Annotation File Format:

The domain annotation is needed in the following format to be procceced by prot2d (methods for converting chainsaw annotations are included in the package documentation)

![image](https://github.com/ConstantinCarl/prot2d/assets/156075124/54dd63d9-933f-4358-8eae-8aa838008de5)
cadquery-ocp-arm 7.7.2.1
OCP wheel with shared library dependencies bundled.

# ocp-build-system

This repository is used to build wheels for OCP, which is CadQuery's bindings to the OpenCASCADE CAD kernel. There are two GitHub Actions available as part of this repo.

* Build (Create Python wheel using Conda)
* Releases

The Build workflow is triggered manually by a developer, and sets up conda environments for each of the wheels to be built, builds the wheels, and then uploads them as artifacts to the GitHub Action. The Releases workflow is run when a tag is created, and takes the wheels attached to the latest build and uploads them to PyPi. Each time a new version of OCP is released these Actions, along with the setup.py file, need to be modified to build and release the new version.

# Building for Apple Silicon locally

Since there are no free Apple Silicon runners available for GitHub actions, a simple solution is to just run the build locally on an Apple Silicon Macbook. To that end, this repo contains a `local-build.sh` script which builds for whatever architecture the local machine is running on. On an M1 Macbook Pro it should take approx 25 minutes to build for all 4 Python versions.
pytest-import-check 0.0.4
pytest plugin to check whether Python modules can be imported
Requires Python: >=3.9

===================
pytest-import-check
===================

Description
===========
pytest-import-check is a pytest plugin that enables checking whether
Python modules installed by your package are importable.  This is mostly
useful to quickly check packages that do not have tests at all or do not
have all their modules covered by tests.

To enable it, pass ``--import-check`` option to pytest, e.g.::

    pytest --import-check foo

Please note that pytest will still perform the default collection
and run any tests that it can find.  Note that this may result in quite
verbose tracebacks.  If this is undesirable, you can disable
the built-in ``python`` plugin::

    pytest -p no:python --import-check foo


Thanks
======
While writing this plugin, I've looked at the following linter plugins
for inspiration on how to use the API:

- pytest-flakes_ by Florian Schulze, Holger Krekel and Ronny Pfannschmidt
- pytest-mypy_ by Daniel Bader


.. _pytest-flakes: https://pypi.org/project/pytest-flakes/
.. _pytest-mypy: https://pypi.org/project/pytest-mypy/
pubtools-executors 0.0.3
Pubtools-executors
Requires Python: >=3.6

pubtools-executors
====================

Collection of executors classes which can be used to run commands in different environments

ChangeLog
=========
0.0.3
-----
- Fix source code structure
- Drop py2 support

0.0.2
-----
- Retry tagging images

0.0.1
-----
- First pre-production release
memiter 0.2.0
A generator that extends the functionality of a generator. simplifying pagination and data access.
Requires Python: <4.0,>=3.8

# memiter

`memiter` is a Python library that enhances the functionality of generators, making pagination and data access simpler and more intuitive.

It allows users to limit the number of elements generated, set the current page for pagination, and access the data that has been generated as many times as needed.

Additionally, it keeps the original generator, allowing the data to be generated again in a different configuration.

## Features

- **Pagination**: Easily paginate through large datasets by setting limits and pages.
- **Data Access**: Access the generated data multiple times without re-running the generator.
- **Flexibility**: Keep the original generator for re-generation of data with different parameters.

## Installation

Requirements:

- Python 3.8+

To install `memiter`, simply use pip:

```bash
pip install memiter
```

# Quick Start

Here's a quick example to get you started:

```python
from memiter import memiter

# Create a memiter instance from a range generator
my_gen = memiter(range(100)).limit(5).page(2)

# Generate and access the data
print(list(my_gen))
# Output: [5, 6, 7, 8, 9]

# Access the data that has been generated
print(my_gen.data)
# Output: [5, 6, 7, 8, 9]
```

# Usage

## Creating a Memiter Instance

You can create a memiter instance from any iterable:

```python
from memiter import memiter

my_gen = memiter(range(100))
```

Hurray! Your memiter instance is now ready to be used!

By default, the memiter instance will generate all the data from the original generator.

But if you want your can enhance the functionality of your generator by using the following methods:

## Pagination

Limit the number of elements and set the current page:

- limit - Set the number of elements to generate.
- page - Set the current page for pagination.

```python
my_gen.limit(5).page(2)
```

## Iterating Over Data

like any other generator, you can iterate over the data generated by the memiter instance:

```python

for data in my_gen:
    print(data)

```

## Accessing Data

memiter allows you to access the data that has been generated multiple times without re-running the generator.

You can access the data that has been generated using the data attribute:

```python
print(my_gen.data)
```

## License

memiter is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.