生信 | 生信人搭建数据库的学习流程

写在前面

  • 目前各种组学培训开展的如火如荼,却鲜有生物信息学数据库搭建的相关教程和学习流程。原因有以下几个:
1.学习数据库的搭建付出多,回报少。有这功夫应该可以把大部分组学知识学会;
2.搭建数据库的综合性较强,一般培训机构能力有限,不足以开展相关培训,或受众面较窄,人家不愿意开,毕竟人家想赚钱。就像python培训一抓一大把,但C++培训却很少有,基本一个道理;
3.完全可以外包给专业做数据库的公司,不过很贵,其实外包给计算机专业的大学生是最划算的,一般1万以下就能搞定一个简单的数据库
4.完全可以找合作,导师没必要让自己实验室的学生从零开始学
5.学生不愿意学......
  • 因此,导致目前在生信领域搭建数据库的教程几乎没有(印象中有一个:shengxinbaodian),学习路线也没有,我当初学习的时候反正是一头雾水。经历了自学的阶段之后,我总结的一份在B站上的学习路线,供大家参考,如有错误还望指正。
  • 总体分为前端后端数据库
    2022年12月29日更新:生物信息学可视化功能如何实现,附在文末了

一、前端

    1. 1-3天了解前端三件套HTML+CSS+JS的基本语法,HTML+CSS真的没必要深入去学,啥时候用到啥时候查用法就行,但要明白基本语法。JS真的有必要多花点时间,下面再单独介绍。
      HTML+CSS+JS视频推荐《老杜最新HTML+CSS+JavaScript基础到精通视频教程全套完整版》。他讲课诙谐幽默,简单易通,很好。
    1. 用1-2周的时间学习前端JavaScript库(或者叫做框架),因为原生js对我们生信人来说太复杂了,这里只推荐三个别人封装好的js库:Vue或React或jQurey,学习之前先每个了解一下,找到自己最感兴趣的,然后三选一(选了一个千万不要再学其他的了,一点用没有,他们之间没有任何关系!)。虽然我当初学的是jQuery,但目前我推荐学习Vue,并且不推荐学习jQuery,感觉自己浪费了很多时间。
      jQurey视频推荐《「李南江」jQuery+Ajax从放弃到知根知底 - JQ基础+案例实战》。简单粗暴,我超喜欢他的上课风格。
      Vue视频推荐《黑马程序员vue前端基础教程-4个小时带你快速入门vue》。没有废话,就是干货,很精炼。
      React视频推荐:React可能比Vue难一点,而且一般应用于大型项目,实在想学就去B站自己挑一门课吧,这里就不推荐了。
    1. 学完上面这些,当你真正去搭建前端的时候没必要从头开始,因为有很多东西别人已经做好了,你直接用模板即可,应该需要1-2天左右。下面举几个例子:
      如果你学习了jQurey,那么《Semantic UI官网》《视频教程》《Bootstrap官网》《视频教程》就可以上手了,但没必要全学会,知道是个什么东西,需要哪些组件现用现查即可。
      如果你学习了Vue,那么《Element UI官网》《视频教程》就可以上手了,但没必要全学会,知道是个什么东西,需要哪些组件现用现查即可。
      如果你学习了React,那么《Ant UI官网》《视频教程》就可以上手了,但没必要全学会,知道是个什么东西,需要哪些组件现用现查即可。
      再次强调,以上这些内容,现用现查,毕竟你的时间很宝贵

二、数据库

  • 先别急着学习后端,推荐先用1周时间把数据库的知识学完或者了解后现用现查都可以,因为后端大概率是要操纵数据库的(虽然目前有很多后端框架封装好了数据库,但还是很必要去学习,一方面加深理解,另一方面也可以有策略提高运行速度),这里只推荐两种数据库:MySQL数据库PostgreSql数据库
    MySQL数据库视频教程《MySQL基础入门-mysql教程-数据库实战》。我推荐一个我认为最好的,那必须是老杜的课程。
    PostgreSql数据库视频教程《【小马技术】PostgreSql 关系型数据库入门》。像这位博主所说的,随着mysql被orcal收购,感觉命运不会太好,自行把握把。我目前还是要选得话还是MySQL。

三、后端

  • 这就要看你喜欢那门语言了,有以下一些选择
    Python:Django或Flask都是不错的后端框架,用于生物信息学的搭建完全足够,另外需要着重关注的一点是,目前随着机器学习或者深度学习的火热,python又被”炒“起来了,如果你想做这方面,尽量用python,这样就可以完美融合数据库的算法模型了。
    Django视频推荐:《【2021最新】手把手教你用 Python 做网站页面开发》
    Flask视频推荐:《黑马程序员-6节课入门Flask框架web开发》
    R:Shiny想必大家都听过,因为其方便快捷,可视化丰富被大家所喜爱,但有个问题你必须考虑的就是他是单线程的,如果生信的数据量比较庞大,响应速度确实会有所影响。目前应该还没有相关课程,生信技能树那个可以看,不过自己去官网学应该更快。
    Shiny官网教程:《Hello Shiny!》。一步一步跟着做,很快的
    生信技能树教程:《「生信技能树」shiny网页工具》。属于直播回放,虽然不系统,课程时长也长,但依旧有很多值得借鉴的点,对于了解Shiny足够了,但要深入去学,还需要自己去官网,因此我建议先2倍速刷一遍视频(别跟着敲,浪费时间),然后再去官网学。
    Perl, Java, PHP等:也有很多生信人选择Perl的,但不太推荐学Java和PHP,除了搭建数据库,基本上不会用到其他功能了,”性价比低“,不做推荐,自己去B站上找课学吧。

四、附:生物信息学可视化

  • 除了最基本的前后端,数据库之外,生物信息学中往往需要引入各种各样的插件来实现具体的功能和可视化,如最常见的BLAST和基因组浏览功能JBroswer,要更好的实现类似的功能,需要我们去了解如何将功能模块嵌入到我们自己的网站中,一般流程就是直接引入JS,CSS,然后根据功能要求进行配置。
    另外就是数据的可视化,这里有两种区别,即动态和静态的。
  • 1.静态
    思路就是在后端接受到请求后,利用后端的原生代码进行绘画,然后将绘图结果传给前端。如请求基因A在人各个组织器官中的表达量,要求以柱形图的形式展现,后端接收后,利用自带的绘图代码(如python中的matplotlib,或R中ggplot之类的)继续绘画产生PNG或PDF文件,然后将该文件发给前端,前端进行解析与渲染,呈现给用户。
    然而,这样做的弊端是1.前端无法交互;2.清晰度差;3.传输浪费流量,加载慢;4.浪费自己的绘图算力。所以,目前主流的是下面的动态做法。
  • 2.动态
    思路是在后端接受到请求后,直接从数据库中检索数据,然后将数据发给前端,然后前端利用js进行绘画。因此这里就需要寻找合适的js来实现可视化,下面给大家推荐一些Echarts, Plotly, D3。引入的一般流程是:引入对应的JS,然后配置参数,设置好数据接口即可。

值得注意的是:通常数据接口要和Axios同步使用,直接传输JSON数据,好处就是打开页面不加载figure,点击特定按钮或者出发特定事件后再动态调用后端数据进行绘图,加快页面加载速度。

五、网站的部署

  • 不用特别在意,网站搭建出来,这些都是小事,自己探索一下吧。不过,你感觉你想的域名太火热,可以先把域名申请了,免得到时候网站开发出来,发现域名被占用了就难受了。

写在后面

  • 以上基本上就是搭建生物信息学数据库的整个流程了,大概1个多月的时间就可以搞定,然后就可以着手搭建了,如果你搭建成功表发表了自己的数据库,欢迎在下方留言。我欢迎大家去看一下我本科和别人合作搭建的数据库BrassicaEDB
  • 哦,对了,有三句话忘记说了!

学的时候一定要跟着敲代码!!!

学的时候一定要跟着敲代码!!!

学的时候一定要跟着敲代码!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容