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] + (random.uniform(1E-15, 1E-10) * random.choice([1, -1]))
print(tf_cname[0] + '\t' + rci[0] + '\t' + str(score))
Metadata
Release files for PyTFBS 1.0.13
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.13.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytfbs-1.0.13-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / pytfbs-1.0.13.tar.gz
| Download URL | pytfbs-1.0.13.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
454a53dbcfcad01fac269490fef628c13771edeb6198f52ea247f3d8cdaea232
|
|
BLAKE2b-256 checksum How to use checksums |
31e264aba6cc2d917b03e5bf78c85c90c2b22ee609b1c76f9a359157634dd414
|
| 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.13-py3-none-any.whl
| Download URL | pytfbs-1.0.13-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f21519e1061e41d5cff6df70c7e346a1091efad8748630fe8b523f9c5c022aa3
|
|
BLAKE2b-256 checksum How to use checksums |
cbfb77b789a0467b890e002c3fe2fce6c06d533111e1773628dde75db3a894a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|