国庆去哪玩?办公室里写课件!!!
大四最后有一门《生物信息学科研训练》的课,这是一门超长的课,148学时,这课很水,而且大四了,学生也没心思。但我觉得不行,学生没心思部分原因也是课太水,我们应该给学生上好这最后一门课。我本来提议大家把自己擅长的东西都拿出来讲一讲,一起来上这个课,但基本没人响应。于是我和另外一老师合计,两人把这课给分了,她讲python,我讲R。我们的专业课中没有数据库,主任是个非常有责任心的人,觉得没上这个核心课程对不住学生,于是主任也来讲这门课,讲数据库。这课还会有一些专业英语的训练,所以基本上就是下面这四大块:
专业英语
python
数据库
R
我讲R的部分,大概这样设置,编程训练,批量下载genbank文件,解析genbank文件,转存fasta,解析fasta,序列比对。写完代码之后,介绍make,让学生把这些步骤串起来,写流程。介绍Rmarkdown,让学生写报告。然后是R包开发,把写过的这几个函数,打包成一个R包。再介绍git和github,把R包传到github上去。当然R语言嘛,还要穿插一下可视化。这一块是基础性的训练。
基础性训练之后,还需要介绍并练习一下一些可能学生读研或者工作,马上就能用到的实用性技能。多重序列比对后,衔接构建进化树,教大家如何去解读进化树。教大家Biostrings, GenomicRanges等Bioconductor包,操作序列和基因区间。从BAM文件开始,定量,差异基因分析,GSEA分析等。
上面课程设置里还有一块SQLite的,主要是我看到数据库的设置上没有提到,所以也拿出来介绍一下,基本上sqlite我们可以认为是一种文件格式,我们的程序需要打包数据的时候,可以使用这样一种文件格式,跨平台,支持SQL语句进行操作,然后内部是B-Tree实现的存储,速度快。有诸多的优点,而这些优点就在于它并不是一个真正的数据库。
编程训练这块基本上代码都是我以前写过的,我整理了一下,也打了个R包,做为课程上的演示,我期望学生实现什么样的功能,什么样的输入,返回什么样的输出。我想好好听课的人,最终都可以写出来这样一个R包。
分享一下上课的内容,对大家也是有用的,很多人想学生信,但不知从何入手,我想我这里提到的,做为入门,都可以着手去练一下。不说了,我赶紧写课件去,轮到我上课的时候,可是一周三次课,持续近两个月。
往期精彩