Problem with rGADEM & MotIV - one matrix consensus after GADEM() and one plot enrichment motif
3
0
Entering edit mode
@wjarassier-7732
Last seen 7.9 years ago
France

Hi,

I'm working on ChIP-seq and ChIP-chip TF datasets. My problem is caused by rGADEM and MotIV. I don't understand why sometimes, after GADEM(), my program return one matrix consensus and sometimes, it returns much matrix consensus...

My workflow use in first rGADEM to return fasta sequences and PWM. And in second, it uses MotIV to find TFBS on JASPAR database.

In the case where GADEM() return one matrix consensus, MotIV superposes enrichments motifs on the same plot and of course, i need calculate interdistance between 2 (and more) enrichments motifs.

I use the same script in the help. There are two things which changing : the input data and I modified database jaspar TFBS (in date 2010) in MotIV package to do corresponding to database plant jaspar TFBS (in date 2014).

If you are any responses....

rgadem motiv chipseq jaspar • 1.3k views
0
Entering edit mode
@charles-joly-beauparlant-4777
Last seen 4.0 years ago

Hello,

"I'm working on ChIP-seq and ChIP-chip TF datasets. My problem is caused by rGADEM and MotIV. I don't understand why sometimes, after GADEM(), my program return one matrix consensus and sometimes, it returns much matrix consensus..."

If I understand your question correctly, you are wondering why the number of matrices changes from GADEM analysis to another.

The GADEM analysis can return multiple PWM, if they all reach the significance threshold. Sometime, only one PWM will reach this threshold. No matter what is the case, the readGademPWMFile should work with the gadem object returned by the GADEM function.

"In the case where GADEM() return one matrix consensus, MotIV superposes enrichments motifs on the same plot and of course, i need calculate interdistance between 2 (and more) enrichments motifs."

I am not certain I understand correctly what you mean, could you provide some code example of a working scenario and a case where it does not give you the expected results?

Charles Joly Beauparlant

0
Entering edit mode
@wjarassier-7732
Last seen 7.9 years ago
France

Hello,

Ok for rGADEM, it's just normal with my data...

For the moment, I did one matrix with rGADEM and I found enrichment motifs with MotIV. So, I have a list to de novo motifs in my data. But now, I will want the representation of these motifs. And as the same help guide, I will want a distribution of each motif compared to sequences and a distance between two motifs. But, I don't find how create these representations.

When I create a filter with two motif :

> f.twomotif=f.motif1|f.motif2
> motif1.filter=filter(analysis.jaspar,f.twomotif,exact=FALSE,verbose=TRUE)

motiv object contains 1 motifs.
motivFilter selected 1 motifs.

>motif1.filter.combine=combineMotifs(motif1.filter,c(f.motif1,f.motif2),exact=FALSE,name=c("Motif1","Motif2"),verbose=TRUE)

motiv object contains 1 motifs.

1 motifs combined : m1
1 motifs combined : m1
Message d'avis :
In combineMotiv(motiv, y, name, verbose, exact) :
Some motifs have been combined many times.

but when I plot : I have only one graphic...and not 2...

I will want the same result in the help guide.

For the code, it's the same compared to help guide. Just the variable name change...

Thank you a lot for your help !

0
Entering edit mode
emercier • 0
@emercier-8040
Last seen 7.8 years ago

Bonjour,

your motiv object only contains 1 motif (as stated by "motiv object contains 1 motifs.")

The combine function will first try to combine all the motifs passing the first filter (f.motif1). That is: m1 itself. The function will then try to merge all the motifs passing the second filter (f.motif2): m1.

Now the reason why there is only 1 final motif had the end is because of how MotIV handles this. To avoid losing the original motifs when combining, MotIV assign a "group" to the motifs rather than actually merging them. So after the first filter, the motif m1 would be assigned the group "Motif1". This will then be overwriting when the function will apply filter2 and set the group name to "Motif2".

You can access this field by typing something like:

motif1.filter.combine@bestMatch[[1]]@similarity

Hope it helps,

Eloi