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-20, 1E-20)
print(tf_cname[0] + '\t' + rci[0] + '\t' + str(score))
Metadata
Release files for PyTFBS 1.0.11
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.11.tar.gz | 11.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pytfbs-1.0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.1 kB
Release files / pytfbs-1.0.11.tar.gz
| Download URL | pytfbs-1.0.11.tar.gz |
|---|---|
| Size | 11.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63145d47ba9c47abe4be318436cfd7d686f46455723608ebe77e9052d8224197
|
|
BLAKE2b-256 checksum How to use checksums |
b8068cb8018b87a6814f35a2ae5ccc4e1241dc592c48554ac4b9679ca415b037
|
| 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.11-py3-none-any.whl
| Download URL | pytfbs-1.0.11-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9389526fbb1c595fa22bce081cdda46d4e00b0425f18ce9ba2102c55279c962f
|
|
BLAKE2b-256 checksum How to use checksums |
d31525928bff500017e68b691b3eb4033eea7eb9db97f1995c01bc19898952b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|