semvec/pypi-packages huggingface dataset:
prostruc 0.0.2
Prostruc: A Comprehensive Command-line Tool for Protein Structure Prediction and Validation
License: MIT
Requires Python: >=3.6

>  # Prostruc: Protein Structure Prediction Tool

Prostruc is a command-line tool designed for comprehensive protein structure prediction, leveraging sequence alignment, template-based modeling, deep learning, and validation techniques. With a simple input of either an amino acid sequence or a FASTA file, ProStruc generates high-quality protein structures using cutting-edge algorithms. ProStruc automates the process of blast searches, template selection, structural modeling, and validation, including RMSD, TM-score, and QMEAN.

## Key Features
Accepts input as a FASTA file or a raw amino acid sequence.
Performs sequence alignment and template-based modeling via ProMod3 and BLAST.
Incorporates deep learning-based predictions (ESMFold).
Validates results using structural comparison metrics (RMSD, TM-score) and QMEAN.
Supports Docker integration for handling modeling and validation engines.
Outputs the top-performing models for further analysis and evaluation.
Usage: You can run ProStruc from the terminal with a variety of options to customize the input and output, depending on your use case.

## Basic Commands
### Using a fasta file
```bash
   prostruc --fasta_file  <path_to_fasta>  --job_name <job_name>  --email <email>
   ```
### Using a sequence
```bash    
   prostruc --sequence <amino_acid_sequence>  --job_name <job_name>  --email <email>
   ````

## Required Arguments
- --fasta_file: Path to the target protein sequence in FASTA format.
- --sequence: Input target amino acid sequence directly as a string.
- --job_name: A custom name for the prediction job.
- --email: A valid email address to receive model results.

## Package Requirements

To ensure that Prostruc functions correctly, the following requirements must be met:

- **Python 3.6+**:  
  Prostruc requires Python version 3.6 or above. Ensure that you have the appropriate Python version installed. You can check your Python version with the following command:
  ```bash
  python --version

- **Docker**:
  Docker is necessary for managing the computational workloads, including modeling and validation processes. Make sure Docker is installed and actively running in the background.
  Verify Docker installation and status using:
  ```bash
  docker --version 

- **Internet**:
  An active internet connection is required for Prostruc to perform BLAST searches, retrieve templates, and complete various prediction     tasks.
## Example
```bash
    prostruc --sequence "AAAAA" --job_name "new_protien" --email "user@example.com"
```
ph4-acmd2 1.0.0
Cmd2 extension for async programs
License: MIT

Async Cmd2
==========

Async extension to a famous
`Cmd2 <https://github.com/python-cmd2/cmd2>`__ library.

Cmd2 permanently occupies the main thread which is a problem if you plan
to receive callbacks on the main thread (e.g., by Bluetooth stack Bleak)

Pip installation
----------------

BoolTest is available via ``pip``:

::

   pip3 install ph4-acmd2

Local installation
------------------

From the local dir:

::

   pip3 install --upgrade --find-links=. .

Usage
-----

.. code:: python

   import asyncio
   import ph4acmd2

   class CmdLineApp(ph4acmd2.Cmd):
       async def main(self):
           await self.acmdloop()
           print("Cmdloop finished now")

   if __name__ == '__main__':
       app = CmdLineApp()
       loop = asyncio.get_event_loop()
       loop.set_debug(True)
       loop.run_until_complete(app.main())

Limitations
-----------

We use
`asyncio.lool.add_reader <https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.add_reader>`__
to read from the stdin and process the commands thus it is not currently
possible to ue readline features such as auto-complete or ctrl-r,
UP-arrow for previous commands, etc…

Readline occupies main thread in a blocking way, so it is not compatible
with runloop model running on the main thread and executing coroutines.

In order to use readline it needs to add async support. A potential
workaround could be to access terminal in async way e.g., submit short
coroutine monitoring the terminal state to simulate readline library.
However, it is not tested.

Development
-----------

Install pre-commit hooks defined by ``.pre-commit-config.yaml``

.. code:: shell

   pip3 install -U pre-commit pytest mypy
   mypy --install-types
   pre-commit install

Auto fix

.. code:: shell

   pre-commit run --all-files

Plugin version update

.. code:: shell

   pre-commit autoupdate