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

R Implementation #3

Open
CodeInTheSkies opened this issue Feb 18, 2020 · 6 comments
Open

R Implementation #3

CodeInTheSkies opened this issue Feb 18, 2020 · 6 comments

Comments

@CodeInTheSkies
Copy link

Hi,

I saw the other "issue", which is now closed, but I wanted to ask again, do you plan on releasing an R implementation? Or is there R code available for the methods described in the paper?

For the larger user community to benefit from the suggestions in your paper for getting good tSNE plots, it would be very useful if you can make a user-friendly R package, that can be loaded and used, possibly integrated, with a package like Seurat. Ease of use in R is important in my opinion for the community to use your pipeline for tSNE.

Your efforts in this direction would be appreciated by the user community.

Thanks.

@dkobak
Copy link
Contributor

dkobak commented Feb 20, 2020

Hi, thanks for your comment. I guess my initial feeling was that there is not much here to provide an "implementation" for. We are not developing any new method here, we simply explain how to use t-SNE in a better way.

That said, I have recently started thinking that it would actually be useful to integrate some of our suggestions into packages like scanpy and seurat. I know that scanpy includes many functions that they call "recipes", so e.g. kobak_tsne_recipe() could be a function that implements all our tSNE recommendations (sets learning rate, perplexity, uses PCA initialization, and for large datasets uses downsampling based initialization and optionally exaggeration). For example, they have multiple such "recipe" functions for feature selection.

Does something similar exist in seurat?

@elensyri
Copy link

elensyri commented Apr 7, 2020

Hi
Great paper congrats.
Would also be keen for a R code based algorithm as python probably is not as widely used in our community. Not sure how easy that is but please keep us updated if that is available.

Thanks.

@dkobak
Copy link
Contributor

dkobak commented Apr 7, 2020

Hi @elensyri, thanks for the feedback. Can you clarify what exactly you would like to have the R code for? Given that FIt-SNE comes with the R wrapper, i.e. you can run tSNE in R with any perplexity combination, learning rate, initialisation, etc. using FIt-SNE? Would you want to have something like a function tsne_with_good_parameter_choices() that would run FIt-SNE setting all the parameters as we recommend in the paper?

@elensyri
Copy link

elensyri commented Apr 7, 2020

Hi @elensyri, thanks for the feedback. Can you clarify what exactly you would like to have the R code for? Given that FIt-SNE comes with the R wrapper, i.e. you can run tSNE in R with any perplexity combination, learning rate, initialisation, etc. using FIt-SNE? Would you want to have something like a function tsne_with_good_parameter_choices() that would run FIt-SNE setting all the parameters as we recommend in the paper?

Hi yeah that would be really helpful actually. I guess if I understood the paper correctly what you are suggesting is a workflow where data starts PCA initialisation (preserve global structure) followed by FIt-sne with certain parameters etc (correct me if I am wrong). Is PCA initialiasation included in the run with FIt-sne? I guess that would really help the scientists like me who are not bioinformatics in background but can use R for data analysis purposes with workflows and codes from this forum. Many thanks.

@dkobak
Copy link
Contributor

dkobak commented Apr 7, 2020

@elensyri Yes, you understood correctly.

PCA initialization is default in the new release of FIt-SNE that was released around one week ago. Also the learning rate is now by default set to what we recommend. Still, some other stuff can be coded into such a function of course.

I will put it on my to-do list. I guess ideally we should integrate into Seurat. I will check if it's possible.

@elensyri
Copy link

elensyri commented Apr 7, 2020

@dkobak I am sorry if my question was a bit naive not used FIt-sne as yet so was not aware PCA initialisation was already integrated into this. Will definitely check it out and see how it runs with ur setting recommendations. Please keep us updated when you integrate the codes to Seurat or any updates as well will be keen to see how it works with my data. Many thanks.

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

No branches or pull requests

3 participants