Metadata-Version: 2.1
Name: pybioinformatic
Version: 1.2.6
Summary: Bioinformatic python package.
Home-page: https://github.com/wenlinXu-njfu/Leo
License: MIT
Author: Wenlin Xu
Author-email: wenlinxu.njfu@outlook.com
Requires-Python: >=3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: ViennaRNA (>=2.6.4)
Requires-Dist: click (>=8.1.7)
Requires-Dist: matplotlib (>=3.7.5)
Requires-Dist: natsort (>=8.4.0)
Requires-Dist: openpyxl (>=3.1.2)
Requires-Dist: pandas (>=2.0.3)
Requires-Dist: pymysql (>=1.1.1)
Requires-Dist: ray (>=2.10.0)
Requires-Dist: scipy (>=1.10.1)
Requires-Dist: seaborn (>=0.13.2)
Requires-Dist: sshtunnel (>=0.4.0)
Requires-Dist: statsmodels (>=0.14.1)
Requires-Dist: swifter (>=1.4.0)
Requires-Dist: tqdm (>=4.66.2)
Requires-Dist: typing_extensions (>=4.5.0)
Requires-Dist: xlrd (>=2.0.1)
Requires-Dist: xlsxwriter (>=3.2.0)
Requires-Dist: xlwt (>=1.3.0)
Description-Content-Type: text/markdown

# This is a bioinformatic python package.

## 1. Install
```shell
pip install pybioinformatic --upgrade
```

## 2. Issue
### ImportError: libffi.so.7: cannot open shared object file: No such file or directory
```shell
# First use the following command to verify that the file exists in that path.
ls /usr/lib/x86_64-linux-gnu/libffi.so.7

# If libffi.so.6 is present on your system but libffi.so.7 is missing, you can try creating a soft link to an existing libffi.so.6 file.
ln -s /usr/lib/x86_64-linux-gnu/libffi.so.6 /usr/lib/x86_64-linux-gnu/libffi.so.7

# You can also install libffi7 with sudo grant.
sudo apt-get install libffi7
```

## 3. Usage example
### RNA secondary structure prediction.
```python
from pybioinformatic import Nucleotide

# Generate random nucleic acid sequence.
random_nucl = Nucleotide.random_nucl(name='demo', length=[100, 150], bias=1.0)

# Secondary structure prediction
ss, mfe = random_nucl.predict_secondary_structure('test/structure.ps')
print(ss, mfe, sep='\n')
```
```text
>demo length=135
CAAAAAAAAACCATAAGCCGCCATGTCTCACATCGCAACCGGCTCAAGTAGAGTGCCCCTAATAATATGATCTTCGCTACAGAAGTTCCCCCCCCGCTGCCGGCTAGATGCGAACTCCACGCCTGGATGGCTCAG
...............((((((((.((......(((((.(.((((...((((.................((.((((......)))).))........)))).)))).).))))).......)).))).)))))...
-27.299999237060547
```
![image](test/structure.png)
****
**For more API reference, please refer to the follow user manual or source code.**
- [GenoType API](https://github.com/wenlinXu-njfu/Leo/blob/main/GenoType.md)

