Giter Site home page Giter Site logo

ucarlab / bifet Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 2.0 2.02 MB

A robust statistical test for TF footprint data analyses

R 100.00%
transcription-factor-binding footprinting chromatin-accessibiity statistical-tests atac-seq dnase-seq r bioconductor

bifet's Introduction

BiFET

Bias-free Footprint Enrichment Test (BiFET) is a statistical method to identify transcription factors (TFs) whose footprints are over-represented in target regions compared to background regions after correcting for differences in read counts and GC contents between target and background regions, where regions represent ATAC-seq or DNAse-seq peaks.

Author

Ahrim Youn

Installation:

To install this package, start R and enter:

if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager")

BiocManager::install("BiFET")

Alternatively, the most updated version of this package may be installed via the commands in R:

library(devtools)

install_github('UcarLab/BiFET')

Publication:

For more details about BiFET, please read our publication in Nucleic Acids Research: https://www.ncbi.nlm.nih.gov/pubmed/30428075

Tutorial:

For instructions on how to use BiFET, please see the package vignette: https://bioconductor.org/packages/release/bioc/vignettes/BiFET/inst/doc/BiFET.html

Disclaimer of Warranties and Liabilities

The Jackson Laboratory provides the software β€œas is” without warranty of any kind, implied or expressed. You assume full responsibility and risk of loss resulting from your downloading and use of the content of the software. We expressly disclaim any warranty of merchantability, title, security, accuracy and non-infringement. In no event shall The Jackson Laboratory be liable for any claim, damages or other liability arising from the software or the use of the software. You may only use our content in academic research but not for commercial purposes. The software is provided as an information resource only, and should not be used or relied on for any diagnostic or treatment purposes.

bifet's People

Contributors

link-ny avatar nlawlor avatar youna2 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bifet's Issues

Error when input peak file contains GC content zero

Hi rdbcasillas,

I revisited your input peak file and noticed that your GC content values seemed strange.

# range of GC content values in peaks
range(in1$GC)
[1] 0.000000 0.213918
# how many peaks have a GC content of 0
length(which(in1$GC == 0))
[1] 55433

I'm not sure what species your peak data originated from, but it seems strange that your max GC content is ~21% (seems low; I think the average GC content in human genomes is usually between 40-60%) and that there are 50k peaks with a GC content of exactly zero. Perhaps there were some issues in calculating GC content in your input peak file?

Either way, this is an issue the developers and I will address so that users do not encounter the same error.

For now, a quick fix can be to remove the peaks in your dataset with a GC content equal to zero:

# load input files
in1 <- readRDS("Downloads/BiFet files/input1.rds")
in2 <- readRDS("Downloads/BiFet files/input2.rds")
# identify and remove peaks in peak dataset with GC content equal to zero
id_high <- which(in1$GC > 0)
in1_sel <- in1[id_high]
res <- calculate_enrich_p(in1_sel, in2)

Please give this a try and let me know if you still get the same error!

Originally posted by @nlawlor in #1 (comment)

Error in optim(init, fn = loglik_per_TF, gr = deriv_per_TF, lower = 10^(-16), : L-BFGS-B needs finite values of 'fn'

Hello,

Thanks for creating BiFET.

After creating the two GRanges objects as specified in the tutorial (only difference being that I used HINT instead of PIQ), I came across this error when running the following command.

> result <- calculate_enrich_p(input1_GR, input2_GR)
[1] "PWM 1 out of 1 PWMs"
Error in optim(init, fn = loglik_per_TF, gr = deriv_per_TF, lower = 10^(-16),  : 
  L-BFGS-B needs finite values of 'fn'

I have verified that my inputs look exactly like the inputs GRmotif and GRpeaks provided with the package. The two inputs can be downloaded from this dropbox link.

Any help is greatly appreciated. Thanks!

Error in optim(init, fn = loglik_per_TF, gr = deriv_per_TF, lower = 10^(-16), : L-BFGS-B needs finite values of 'fn' (not related to GC content)

Hi,

Thanks for making the tool,

Unfortunately I get the same error even when GC content is not equal zero.
Please download R object with input files using the link : https://drive.google.com/open?id=19HZIcR5CGBwDod-Ht0jSnHBsYynGPhJB

I should say that the file containing instances of motifs (GRmotif) is NOT a result of footprint calling but of motif scanning with FIMO. But if I understand correctly BiFET should be able to process these results as well.

Thank you in advance and regards
TIm

Originally posted by @nevelsk90 in #1 (comment)

alpha_k value

Hi,

Would you mind telling me how I could interpret alpha_k value of the output?

Thank you so much for your help.

Best,
Shoko

fasten the analysis

Hi,

Thank you for developing/maintaining a great package!

Do you think it makes sense to filter the PIQ output by the peak regions to fasten the analysis, or it would make no sense?

Thank you so much for your help.

Best,
Shoko

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.