Metadata-Version: 2.4
Name: PyOVERCAST
Version: 1.0.2
Summary: A Python package for mining key transcription factors from transcriptome data.
Author-email: Tinghua Huang <thua45@126.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/thua45/PyOVERCAST
Project-URL: Documentation, https://github.com/thua45/PyOVERCAST#readme
Project-URL: Repository, https://github.com/thua45/PyOVERCAST
Project-URL: Issues, https://github.com/thua45/PyOVERCAST/issues
Keywords: PyOVERCAST,Transcription Factor,Binding Site,Transcriptome Data
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26; sys_platform == "darwin"
Requires-Dist: numpy>=2.0; sys_platform == "win32"
Requires-Dist: numpy>=2.0; sys_platform == "linux"
Requires-Dist: pandas>=3.0; sys_platform == "darwin"
Requires-Dist: pandas>=3.0; sys_platform == "win32"
Requires-Dist: pandas>=3.0; sys_platform == "linux"
Requires-Dist: statsmodels>=0.14; sys_platform == "darwin"
Requires-Dist: statsmodels>=0.14; sys_platform == "win32"
Requires-Dist: statsmodels>=0.14; sys_platform == "linux"
Requires-Dist: scipy>=1.16; sys_platform == "darwin"
Requires-Dist: scipy>=1.16; sys_platform == "win32"
Requires-Dist: scipy>=1.16; sys_platform == "linux"
Requires-Dist: seaborn>=0.13; sys_platform == "darwin"
Requires-Dist: seaborn>=0.13; sys_platform == "win32"
Requires-Dist: seaborn>=0.13; sys_platform == "linux"
Requires-Dist: matplotlib>=3.11; sys_platform == "darwin"
Requires-Dist: matplotlib>=3.11; sys_platform == "win32"
Requires-Dist: matplotlib>=3.11; sys_platform == "linux"
Provides-Extra: dev
Requires-Dist: matplotlib; extra == "dev"
Provides-Extra: test
Requires-Dist: matplotlib; extra == "test"
Dynamic: license-file

# PyOVERCAST

A Python package for mining key transcription factors from transcriptome data.

## Installation

```bash
pip install numpy pandas statsmodels scipy seaborn matplotlib PyOVERCAST
```

## Usage

```python
from PyOVERCAST import clinks, predict

if __name__ == '__main__':
	# download TF-target set, only need to run once!!!
	clinks.download_data()

	# list available TF-target set
	sets_names = clinks.get_sets(species='Homo sapiens')
	print(sets_names)

	# list avaiable TFs
	tfs_codes = clinks.get_tfs(set_name='human_hocomoco_CLink_wtcoor_1w_0.8')
	print(tfs_codes)

	# get targets
	targets = clinks.get_targets(set_name='human_hocomoco_CLink_wtcoor_1w_0.8', tf='NFKB1_HUMAN.H11MO.1.B')
	print(targets)
	
	# predict one DEG-list
	result = predict.olcr(set_names=['human_hocomoco_CLink_wtcoor_1w_0.8', 'human_jaspar_CLink_wtcoor_1w_0.8'], list_file='./PyOVERCAST_data/input_deg-list.txt', win=30, thread_n=16)

	# or predict one DEG-list with bootstrap
	result = predict.olcr_bootstrap(set_names=['human_hocomoco_CLink_wtcoor_1w_0.8', 'human_jaspar_CLink_wtcoor_1w_0.8'], list_file='./OVERCAST_data/input_deg-list.txt', win=30, bs_n=1000, thread_n=32)

	# save result to text file
	result.to_csv('output.txt', sep='\t', index=False, encoding='utf-8')
	
	# plot OLC matrix
	predict.plot_olc(set_names=['human_hocomoco_CLink_wtcoor_1w_0.8', 'human_jaspar_CLink_wtcoor_1w_0.8'], list_file='./PyOVERCAST_data/input_deg-list.txt', tf='MA0844.2_XBP1', win=30)

	# plot fitted 3D U-surface
	predict.plot_fit3D(set_names=['human_hocomoco_CLink_wtcoor_1w_0.8', 'human_jaspar_CLink_wtcoor_1w_0.8'], list_file='./PyOVERCAST_data/input_deg-list.txt', tf='MA0844.2_XBP1', win=30)
```
