Skip to content

rivbeau/final_project_COMP561

Repository files navigation

Shape-Aware Machine Learning for Transcription Factor Binding Site Recognition

Our full written report can be found in report.pdf in the root of the repository.

To reproduce the results, download:

-phg19 Chromosomes files

-genomic sites of GM12878 cell

-experimental bound TF sites

-position weight matrix of all TF mentioned in the previous file

-DNA shape features files

Chromosome data should be in a subfolder named ChromFa.

MODELS subfolder include our 3 different models used (SVM, MLP, LR). DATA_EXTRACTION subfolder include our data extraction process from the various input files such as Chromosomes, DNA shape features files, genomic sites and PWM of TF.

Our current implementation uses a fix 13 features but that can easily be changed by changing these:

shape_features.py : line 15 remove and include as you wish BW_PATHS = {"MGW": "hg19.MGW.wig.bw", "ProT": "hg19.ProT.wig.bw", "Roll": "hg19.Roll.wig.bw", "HelT": "hg19.HelT.wig.bw",...} LR_final_version.py : line 302 remove and include as you wish

window_len = X_shape.shape[1] // (N) # N = number of features used

#for (i, i<N, i++) then idx_shape = np.arrange(i * window_len, i+1 * window_len) etc idx_MGW = np.arange(0 * window_len, 1 * window_len) idx_ProT = np.arange(1 * window_len, 2 * window_len) idx_Roll = np.arange(2 * window_len, 3 * window_len) idx_HelT = np.arange(3 * window_len, 4 * window_len) idx_PWM = np.arange(4 * window_len, 4 * window_len + pwm_gauss.shape[1]) shape_importance = { #similar changes for this "MGW_total" : float(np.abs(coefs[idx_MGW]).sum()), "ProT_total": float(np.abs(coefs[idx_ProT]).sum()), "Roll_total": float(np.abs(coefs[idx_Roll]).sum()), "HelT_total": float(np.abs(coefs[idx_HelT]).sum()), "PWM_total" : float(np.abs(coefs[idx_PWM]).sum()), ... }

About

computational biology class final project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages