前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我还需要和我的猫一起发文章吗?

我还需要和我的猫一起发文章吗?

作者头像
生信技能树
发布2019-09-03 19:09:09
5190
发布2019-09-03 19:09:09
举报
文章被收录于专栏:生信技能树生信技能树

前些天在朋友圈偶然发现一个有趣的图片及其GitHub,想邀请作者分享相关可视化知识,被婉拒后,只好发任务给学徒,让他们帮我学习,并且分享出来! 下面看(中科院武汉植物园硕士)学徒的表演:

前言

早年一个学术界的段子一直让我印象深刻,有一些作者独立完成了自己的工作,却囿于投稿杂志的陈规,无法只写一个作者,无()奈()间()加上了自己的猫,或者邀请其他萌萌哒的小助手作为co-authors。而随着时间的发展,根据学科本身的特点,越来越多的学者喜欢独行侠式科研,毕竟,全栈即自由嘛~正所谓一个人就是一个队伍,那么至今生物信息领域中的独行侠有多少呢,让我们看看大神是怎么统计的。

目的很单纯 玩法很多样

进入大神的github,从README文件上看,他可能只是对2019年Pubmed上发表的bioinfomatics相关的文章做了一个数据分析并可视化,但点开代码,运行一下,就发现了新世界,小提琴图下的第一行正在奏响独行侠之歌呢!乍一看,生信领域发表文章,一人即可成团的,还真不少!大神先从NCBI收集了一波数据,然后用R语言进行了统计,最后用经典的R包ggplot2包对自己的统计结果做了可视化。

同时,大神还统计了投稿最多的前20个期刊的发表文章速度,这也是广大投稿人群的关注热点之一了。天下武功,为快不过,投稿也是一样,接收速度深深地牵动着毕业学子的小心脏,这位大神太懂了。

这么有意思 果断重复之

按照README文件说的从PubMed搜索bioinformatics,选择右侧的"send to File",再选择"MEDLINE"格式,按照发表日期排序,选择"Create File".

https://www.ncbi.nlm.nih.gov/pubmed/

这个文件有些巨大,电脑有些处理不了,放在服务器上打开看看,可以看到PMID、作者、接收时间、发表时间、杂志名称、文章摘要等等信息,现在要将其中有用的信息提取出来,这里我们需要的是与每一篇文章PMID对应的杂志名接收时间发表时间作者信息,运用shell脚本提取为文本文件并压缩,导入R的时候出现了一点格式问题,发现是回车符号的问题,使用shell三大小助手之一换掉它。

sed -i s'/
//g' pubmed_author.txt        #替换掉文件中所有的回车符号
gzip pubmed_author.txt        #压缩 

然后将文件都导入Rstudio,进行统计分析。

library(tidyverse)
a1 <- read_tsv("data/01_extract/pubmed_journal.txt.gz", col_types = cols("pmid" = "c"))
a2 <- read_tsv("data/01_extract/pubmed_author.txt.gz", col_types = cols("pmid" = "c"))
a <- a1 %>%
  count(journal) %>%        #统计杂志个数
  arrange(desc(n)) %>%        #以n为矢量降序排列
  head(20) %>%        #选取前20
  inner_join(a1, by = "journal") %>%        #用journal连a1的其他信息
  inner_join(a2 %>% mutate(author_count = sapply(strsplit(author, "; "), length)), by = "pmid")        #用pmid连a2的其他信息

现在我们就得到了统计的结果——截至2019年8月26号前的所有含有bioinformatics的文章中,接受投稿最多的前20本杂志接受文章的作者数量信息,接下来就是可视化成第一张图的样子。

在进行发表速度的统计中,导入时出现了一个error,4月31日是不被R识别的,确实4月也没有这一天,改它。

Ra2[13700,3]<-as.Date('2009-04-30',format='%Y-%m-%d') #修改单个单元格

实际上用到的就是这两列信息。

ggplot太复杂,ggpubr考虑下?

实不相瞒,大神的的ggplot用得十分之娴熟,小细节都做得非常精致,新手小白可能只能run一下,那么作为发表友好型的R包ggpubr是否可以让我们真正用起来呢?答案是,随缘吧。

我们来尝试一下,首先按照大神的方法做好统计,选择投稿最多的20个杂志,将pmid和作者信息连接上去,再统计出每一篇文章的作者数。接下来加载ggpubr包,设定变量x和y,主标题和副标题,调整小提琴图的宽度,去掉y=1以下的图,去掉图例,将杂志名旋转75°,代码简单了许多,能够画出一个类似的图,但是数据信息还是没能放到图片上显示出来,我们只能看到生物信息领域的独行侠不少,但是无法从图片直接获得详细数据,这里还需要再钻研一下。

if(!require(ggpubr))install.packages('ggpubr')        #安装ggpubr    
library(ggpubr)        #加载包
ggviolin(a,x='journal',y='author_count', color = "journal",
         fill = "journal",  title = "Search 'Bioinformatics' on PubMed",
         xlab="#Journals",ylab = "#Authors",size = 0.8,width = 1.0,
         ,yscale = "log10", trim = 1,legend = "NULL",
         ggtheme=theme(axis.text.x = element_text(angle = 75, hjust = 1)))

ggsave(filename = "author1.png", width = 12, height = 12)        #保存图片

实在是意难平的话,PS一下?皮一下很开心~

小结

从结果来看,现在的科研环境显然允许一个人成团发文章了,这样的独行侠还不少,不用拿无辜的猫凑数啦,R语言博大精深,希望能够画出能展示所有信息的神图,practice,practice,practice!

大神的github地址

https://github.com/yanlinlin82/190825a_Bioinfo-Papers/blob/master/README.md

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目的很单纯 玩法很多样
  • 这么有意思 果断重复之
  • ggplot太复杂,ggpubr考虑下?
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档