Comments (7)
What is your desired output exactly? Or your intended use-case for the merged motif? A variable-length gap isn't well encoded by a single PWM, so you'll need to make some sort of tradeoff here.
from universalmotif.
Thanks for checking out the package!
As @snystrom has mentioned, a PWM isn't the best format here. As far as the universalmotif package is concerned, motifs are assumed to be of fixed length. I do implement a certain kind of variable gapped motif in the universalmotif package (see add_gap()
), but its use is currently limited only to scanning for occurrences of the motifs in sequences. Those gaps are totally ignored by compare_motifs()
, view_motifs()
, merge_motifs()
, etc.
If you absolutely need to merge the two segments, you could always try doing it manually. For example, you could first identify which positions are of interest (i.e., high information content positions) with colSums(convert_type(my_motif, "ICM"))
, then create individual segments based on which positions you want using subset(my_motif, 3:8)
before trying with merge_motifs()
(for example).
Other than that I cannot think of a possible solution using available universalmotif functionality sadly, so I will close this issue. Feel free to reopen if you have additional questions.
from universalmotif.
Thank you very much for your quick replies.
Recently I am working on snATAC data, I collected lost of motifs from different database. Some genes have hundreds of similar motifs. I think it would be useful to merge them into a single motif to do the motif scan.
The motifs I listed in the picture were motifs of the same gene collected from different database.
from universalmotif.
Interesting. I agree, merging them into a consensus motif before scanning is a good idea. However in my opinion you shouldn't try and merge the variable gap motifs with the rest, since they are too different from everything else.
from universalmotif.
I try two stragedy to do the merge.
A: 1. caculate the similarity score of each motif and get the Topological overlap Matrix (TOM). (homer compareMotifs.pl)
2. cluster the motifs based on TOM (seurat )
3. merge the motifs of each gene by clusters (stackMotif/universalMotif, mergeMotifs)
B: merge the motifs of each gene by universalMotifs::merge_similar. (easy but may need to adjust the paremeter of each gene)
**My concern is how likely the consensus motif is the right one? **
Both method show some degree of reasonable consensus motif.
I collected ~6000 of motifs from ~700 genes. How can I estimate the consensus motifs batchly(not by eye)?
from universalmotif.
Oh wow, neat to see the two approaches give such similar results.
Unfortunately I don't think there's an easy answer for your question. What I've done myself recently is to optimize for clustering which result in consensus motifs with the strongest enrichment in the target sequences versus the background. In other words, if the significance of enrichment of the merged motif is weaker than the original motifs then I would not use the merged motif and change the clustering parameters.
from universalmotif.
enrichment scoring is a good idea to test the consensus motif. I will try some of TFs.
Wish the clustering optimiztion goes well and available to be used soon.
from universalmotif.
Related Issues (18)
- shuffle_sequence truncated HOT 2
- read_meme() yields out that "alphabet type cannot be detected" although "ALPHABET= ACGT" is provided HOT 1
- importing pwd by read_cisbp HOT 3
- Cannot get scan_sequences to report p-values HOT 11
- Improve support for metadata-based manipulations HOT 22
- new view_motifs() function plots in alphabetical order instead of list input order HOT 2
- error in install HOT 15
- update_motif on motifs with 1 extrainfo column gives misnamed results
- Error with read_meme HOT 5
- Option to deprotect `motif` column in universalmotif_df HOT 3
- validObject_universalmotif(motifs) fails when strand is "*" HOT 2
- R session aborted / fatal error when running read_homer from a list of motifs HOT 5
- Can't run meme with custom alphabet HOT 7
- Error in convert_motifs for TFBStools-PFMatrixList HOT 10
- `create_motif` makes incorrect motif for amino acid sequences HOT 1
- read_meme fails when alphabet is DNA/RNA/AA-LIKE or custom
- altname is dropped during summarise_motif
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from universalmotif.