Reassortment is an important strategy for influenza A viruses to introduce a HA subtype that is new to human populations, which creates the possibilities of pandemic.
A diagram showed above (Figure 2 of
doi:10.1038/srep25549) is widely
used to illustrate the reassortment events. While such diagrams are
mostly manually draw and edit without software tool to automatically
generate. Here, I implemented the
hybrid_plot function for producing
publication quality figure of reassortment events.
library(tibble) library(ggplot2) n <- 8 virus_info <- tibble( id = 1:7, x = c(rep(1990, 4), rep(2000, 2), 2009), y = c(1,2,3,5, 1.5, 3, 4), segment_color = list( rep('purple', n), rep('red', n), rep('darkgreen', n), rep('lightgreen', n), c('darkgreen', 'darkgreen', 'red', 'darkgreen', 'red', 'purple', 'red', 'purple'), c('darkgreen', 'darkgreen', 'red', 'darkgreen', 'darkgreen', 'purple', 'red', 'purple'), c('darkgreen', 'lightgreen', 'lightgreen', 'darkgreen', 'darkgreen', 'purple', 'red', 'purple')) ) flow_info <- tibble(from = c(1,2,3,3,4,5,6), to = c(5,5,5,6,7,6,7)) hybrid_plot(virus_info, flow_info)
My friend who doing his PhD study at Johns Hopkins just send me the link about a SR paper of plagiarism. I have very similar experence of a paper published on BMC Systems Biology, which plagiarized my work and the editor just decided to publish an erratum.
Deng etc. published an R package, ppiPre, that copied source code of my package, GOSemSim, and pretended that they developed these algorithms by themselves in their paper.
Here is the screenshot of the source code (left: ppiPre, right: GOSemSim).
You can find out more on my blog post.
As a developer of several open source software, I am glad that someone find my source code useful and happy if someone use my source code to make something better. But I am not happy if someone copies my source code by removing author information and changing function names to pretend the code was developed by himself. The situation is even worse in academic. Taking someone else’s works and passing it off as one’s own is definitely plagiarism and not allow in academic.
After the release of
meme package, I received several feedbacks from users.
The most usefule one is the comment on my blog post:
Greetings Mr. Yu,
I am very happy that this package exists. Thank you for making it! I would like to request a feature, to ensure the package is able to compete with professional meme-creation tools like memegenerator and paint.net. Since memes often use the font Impact, in white and with black outline, I believe the package would be more powerful if it also did that automatically.
Sercan Kahveci, MSc
Content creator at Questionable Research Memes on Facebook https://www.facebook.com/QResearchMemes/
The words, ‘compete with professional meme-creation tools’, stimulated me to develop text plotting with background outline effect.
Now this feature is available in meme v>=0.0.7, which can be downloaded from CRAN.
I developed a tiny toy package,
meme, which is now on CRAN. As it’s name indicated, it was designed to create memes, which are captioned photos that are intended to be funny, riduculous.
The package is quite simple. You can use
meme() function to add meme captions, and this is all the package supposed to do:
library(meme) u <- "http://www.happyfamilyneeds.com/wp-content/uploads/2017/08/angry8.jpg" meme(u, "code", "all the things!")
I am very glad to find that someone figure out how to use ggjoy with ggtree.
I really love ggjoy and believe it can be a good tool to visualize gene set enrichment (GSEA) result. DOSE/clusterProfiler support several visualization methods.
I just discovered an interesting
geofacet, that supports arranging facet panels that mimics geographic topoloty.
After playing with it, I realized that it is not only for visualizing
geo-related data, but also can be fun for presenting data to mimics pixel art.
With ggtree (Yu et al. 2017), it is very easy to create phylomoji. Emoji is internally supported by ggtree.
library(ggtree) tree_text <- "(((((cow, (whale, dolphin)), (pig2, boar)), camel), fish), seedling);" x <- read.tree(text=tree_text) ggtree(x, linetype="dashed", color='firebrick') + xlim(NA, 7) + ylim(NA, 8.5) + geom_tiplab(aes(color=label), parse='emoji', size=14, vjust=0.25) + labs(title="phylomoji", caption="powered by ggtree + emojifont")
I have splitted
ggtree to 2 packages,
ggtree is mainly focus on visualization and annotation, while
treeio focus on parsing and exporting tree files. Here is a welcome message from
treeio that you can convert
ggtree output to tree object which can be exported as newick or nexus file if you want.
ggplot2, output of
ggtree is actually a
ggplot object. The
ggtree object can be rendered as graph by
as.treedata to convert
ggtree object to
For GSEA analysis, we are familar with the above figure which shows the running enrichment score. But for most of the software, it lack of visualization method to summarize the whole enrichment result.