PyTFBS
A Python package for predicting transcription factor binding sites.
Installation
pip install torch numpy pandas scipy PyTFBS
Usage
from PyTFBS import motif, predict, clink
import random
random.seed(42)
# download PyTFBS data, only need to run once!!!
motif.download_data()
# list available models
motif.list_models(species='Homo sapiens', accuracy=0.9, sensitivity=0.8, specificity=0.9, precision=0.8, f1=0.8)
# get avaiable motifs
motifs = motif.get_motifs(species='Homo sapiens', accuracy=0.9, sensitivity=0.8, specificity=0.9, precision=0.8, f1=0.8)
print(motifs)
# get models based on motif name
models = motif.get_models('RFX2_HUMAN.H11MO.0.A')
print(models)
# predict one model
predict.script('CEBPB_HUMAN.H11MO.0.A', 'CEBPB_HUMAN.H11MO.0.A', 'input_seq_file.fasta', 'out_file.txt')
# speed up using mutil-threading (for Windows OS only)
predict.win_bin('CEBPB_HUMAN.H11MO.0.A', 'CEBPB_HUMAN.H11MO.0.A', 'input_seq_file.fasta', 64, 'out_file.txt')
# run prediction with user motif data
# the my_motif_dir should be organized as [[motif], [trace], [par]]
predict.script('CEBPB_HUMAN.H11MO.0.A', 'CEBPB_HUMAN.H11MO.0.A', 'input_seq_file.fasta', data_dir='my_motif_dir')
predict.win_bin('CEBPB_HUMAN.H11MO.0.A', 'CEBPB_HUMAN.H11MO.0.A', 'input_seq_file.fasta', 64, data_dir='my_motif_dir')
# create the CLink TF-target set
# rexp_files = get_rexp_files()
# print(rexp_files)
df_rexps = clink.read_rexp_file()
tf_cnames = clink.read_tf_cname()
tf_code = 'CREB1_HUMAN.H11MO.0.A_RC'
tf_tars = clink.read_PyTFBS_output(tf_code + '_output.txt')
for tf_cname in tf_cnames[tf_code]:
if tf_cname[1] not in df_rexps.index:
continue
else:
tf_exp = df_rexps.loc[tf_cname[1]].values.tolist()
df_rexps_tars = df_rexps[df_rexps.index.isin(tf_tars)]
tar_exps = {idx: row.tolist() for idx, row in df_rexps_tars.iterrows()}
rcis = clink.rci(tar_exps, tf_exp)
for rci in rcis:
score = rci[1] * (1 + (random.uniform(1E-5, 1.0) / 1E10))
print(tf_cname[0] + '\t' + rci[0] + '\t' + str(score))
Metadata
Release files for PyTFBS 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pytfbs-1.0.7.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytfbs-1.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / pytfbs-1.0.7.tar.gz
| Download URL | pytfbs-1.0.7.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3cae8afe06504c9095f30205185f159becb094ee58859760adad36a8390f924e
|
|
BLAKE2b-256 checksum How to use checksums |
d247c9c1e527221ccb1ff2c3319c2eee8bda17c378db6fc9adef944cce313da6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|
Release files / pytfbs-1.0.7-py3-none-any.whl
| Download URL | pytfbs-1.0.7-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca802d32a4d4dff82a2f6a24c506aaad968d021687438dd2443465eb44b8e7c4
|
|
BLAKE2b-256 checksum How to use checksums |
d4ad7074b687df915a3565ffb8e6fc89e278484006edd1251321b52c94ff273f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|