Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make create_mofa_from_MultiAssayExperiment() accept alternative experiments #412

Open
artur-sannikov opened this issue Aug 3, 2023 · 8 comments
Assignees

Comments

@artur-sannikov
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently, to use create_mofa_from_MultiAssayExperiment() on agglomerated data, we have to directly modify the original MAE assays. In contrast getExperimentCrossAssociation() is capable of accepting alternative experiments (see here). I suggest implementing similar functionality for create_mofa_from_MultiAssayExperiment(), which will provide us with more flexibility with running MOFA at different agglomeration levels.

Describe the solution you'd like
Add altexp1 and altexp2 parameters in a similar fashion to getExperimentCrossAssociation(). @antagomir suggested to open a PR on he MOFA repo to add these parameters because this function belongs to MOFA2 package.

Describe alternatives you've considered
Implement this functionality in mia does not seem to be the most optimal option. The function belongs to MOFA and is more widely used than mia at the moment.

@antagomir
Copy link
Member

If MOFA authors would welcome adding support for MAE this way then that would probably be the ideal solution.

@TuomasBorman
Copy link
Contributor

Is there any limitation on how many experiments can be fed to MOFA? I am wondering that if there is no limitation, then there could be for instance 10 different experiments, which makes this altexp1, altexp2, ..., altexpn not scalable

@artur-sannikov
Copy link
Contributor Author

I don't think there are limitations from technical point of view. In one of MOFA vignettes they used 5 experiments.

@TuomasBorman
Copy link
Contributor

That makes the implementation of this more difficult. Although one option could be altexp parameter that takes a vector as input.

One additional annoying thing is that you cannot specify which experiments and assays you feed to MOFA. So you have to remove additional assays before running MOFA.

That could be also be fixed with vector parameter.

create_mofa_from_MultiAssayExperiment(
    mae,
    exps = c(1, 3)
    assays = c("counts", "clr")
    altexps = c(NA, 1)
    )

@RiboRings
Copy link
Member

Hi! In principle everything was implemented here: bioFAM/MOFA2#144
Just waiting for a response for the past half year

@TuomasBorman
Copy link
Contributor

Wow! You already did that :D

@TuomasBorman
Copy link
Contributor

Hopefully the review proceeds soon

@antagomir
Copy link
Member

I will bump them again. This is a pity as the approved the idea originally, before the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

4 participants