Author Archives: zilhua

Come On 2017

今天是2016年最后一天,回顾这一年,自己很多工作计划都完成了,还是挺开心的。当然,也有些比较遗憾的事情,譬如说scikit-learn的包并没有完成翻译;公众号也停了很长一段时间;后台好多小伙伴的留言也没来得及回复。

说说2017年的计划吧!

2017年公众号主要写的内容包括:

1)数据可视化(大家有什么难画/文章需要的图尽快甩过来),将由我和我一个朋友更新;

2)算法介绍(主要涉及科研或者医学用到的一些算法);

3)评论(主要想讨论或者比较这个行业国内外各个公司的产品),想尝试一下。

以前写的公众号和博客都是长篇幅,太长有时看的我自己都累。所以后面公众号篇幅可能会较短,但是公众号会一直写有质量的原创文章

4)努力解答后台的留言!!!

 

博客主要写的内容:

我还是坚持以前的理念,博客做成一个具有系统性知识体系平台,不想把博客也写成零碎知识的累积。

1)填之前挖过的坑(例如表观组学只写了Chip-Seq,还有很多需要写;宏基因组都没有写~,总之,继续填坑);

2)数据可视化,这个和公众号的不同之处在于前者会写更多的实例,也更系统,是后者的完善。

 

现在做生信的博客、公众号以及QQ群也越来越多,希望新的一年能跟更多的平台合作写点有意思的内容。

 

另外推荐【生信菜鸟团】的博客,里面也写了很多技术的内容。

广告由于博客运行成本确实太高(流量太大),后面博客可能考虑商业合作、赞助等形式维持博客。

公告:本网站即将对数据可视化版本进行大规模修改,改版后,更利于大家学习查看。

2016感谢各位看官,2017感谢大家的继续支持。

 

 



SGE作业调度系统的简介

SGE作业调度系统的简介

一、常见的几种作业调度系统

Condor是一个资源管理和作业调度系统,是来自Wisconsin-Madison大学的研究项目。充分利用工作站的空闲时间是Condor的最显著特征。Condor管理的机群由网络中的工作站组成,工作站可以自愿加入或退出。Condor监测网络中所有工作站的状态,一旦某台计算机被认为空闲,便把它纳入到资源池中。在资源池中的工作站被用来执行作业。

Sun网格引擎(Sun Grid ,SGE)是一种来自于SUN Microsystem的分布式资源管理和调度系统,它用来在基于UNIX的计算环境中优化软件和硬件资源的使用。SGE能用于查找资源池内的闲置资源并利用这些资源;它同样用于通常的一些事务中,例如管理和调度作业到可用资源中。

负载共享设施(Load Sharing Facility,LSF)是由加拿大平台计算公司研制与开发的,由Toronto大学开发的Utopia系统发展而来。在使用范围上,LSF不仅用于科学计算,也用于企业的事务处理。功能上,除了一般的作业管理特性外,它还在负载平衡、系统容错、检查点操作、进程迁移等方面作了很好的努力,并力图使之实用化。

便携式批处理系统(Portable Batch System,PBS)是一个资源管理和调度系统,它接受批处理作业(具有控制属性的shell脚本),保留和保护作业直到它开始运行。因为一个批处理作业是一个无需用户干预的,在计算机系统后台运行的程序,在批处理作业运行过程中,用户无法实时地得到作业运行结果,所以PBS只能在作业执行后,将作业结果返回给提交者。目前,PBS包含开源免费的OpenPBS、商业付费的PBS Pro、Torque三种分支。

二、SGE 常见指令

  1. qsub 提交任务
-cwd #从当前工作路径运行作业
-wd working_dir #定义工作目录
-o  path 定义标准输出文件路径、文件名
-e  path #定义标准错误输出文件路径、文件名
-j y[es]|n[o] #定义作业的标准错误输出是否写入到输出文件中
-now y[es]|n[o] #立即执行作业
-a date_time #作业开始运行时间
-b y[es]|n[o] #指定运行程序是二进制文件还是脚本文件,默认n
-m b|e|a|s|n #定义邮件发送规则。
b:作业开始时发送。e:作业结束时发送。a:作业失败时发送 s:作业挂起时发送。n:不发送
-M user[@host] #定义邮件地址
-l resource=value #表明作业运行所需要的资源。【-l arch=solaris64,h_vmem=750M,permas=1】
-N job_name #重命名作业名
-q queue_name #定义作业运行队列
-S shell_path #指定运行Shell环境
-P project_name #定义项目名称,前提是存在该项目
-p priority #定义优先级,-1023 到 1024 , 默认值0
-r y[es]|n[o] #定义作业失败后是否重新运行 -
v variable #定义环境变量
-dl date_time #定义作业到期时间,在作业到期时间之前,作业的优先级会逐步提高,直到管理员指定的最高级别。

举个栗子:

qsub –cwd  -l  h=compute-1-1, h_vmem=5G,p=4  -q all.q work.sh

其中:

-cwd 在当前工作目录;

-l 资源申请/限制,用逗号隔开

-q 申请队列

关于资源限制域,可以通过如下指令查看:qconf -sc

下面列举一些常见的关键字:

#name shortcut type relop default urgency define
cpu cpu DOUBLE >= 0 0 cpu nums
h_vmem h_vmem MEMORY <= 0 0 The per-job maximum memory limit in bytes.
hostname h HOST == NONE 0 host name
mem_free mf MEMORY <= 1g 0 MEM_NEEDED is the amount of memory (in megabytes M, or gigabytes G) that your job will require
num_proc p INT <= 1 0 process number
qname q RESTRING == NONE 0 quene name
s_data s_data MEMORY <= 0 0 The per-process maximum memory limit in bytes.
tmpdir tmp RESTRING == NONE 0 tmp dir
virtual_free vf MEMORY <= 1g 0 The per-job maximum memory limit, dynamically
  1. qstat 查看任务状态

qstat -u username  查看某个用户的任务

qstat -u \* 查看所有用户的任务

qstat -j jobID 查看某个任务的详细信息

qstat -f 查看用户自己在每个节点的任务情况

qstat -q all.q -u \* 查看某个队列下所有任务

qstat -q all.q@node1 -u \* 查看某个队列的某一节点下所有任务

  1.  qdel 删除任务

qdel [ -f ]  [ -help ] [-u wc_user_list] [ wc_job_range_list ] [ -t task_id_range ]

qdel job_id 删除job

qdel -u usrname 删除用户的所有任务

  1. qhold 挂起任务

qhold job_id

qhold -u \* 挂起所有用户的任务

  1. qalter更改任务属性

qalter [ options ] wc_job_range_list [ -- [ command_args ]]

指令和qsub差不多,不多介绍了。

详细:http://gridscheduler.sourceforge.net/htmlman/htmlman1/qalter.html

参考资料:http://www.xuebuyuan.com/837349.html

http://gridscheduler.sourceforge.net/htmlman/



3D基因组之Hi-C数据分析(三)

Hi-C 数据分析(番外篇一)

HiC主要写三篇相关文章:
(一)HiC的起源与发展
(二)HiC的重要应用
(三)HiC的展望

上一篇已经讲过HiC的起源与发展,这期主要讲Hi-C的实验以及数据分析。

(一)HiC的起源与发展

http://www.zilhua.com/2145.html

(二)Hi-C简介之数据分析概要(外传)

http://www.zilhua.com/2161.html

这期主要讲Hi-C数据分析(protocol)

1. 数据过滤(质量筛选,NGS必做^_^)

2.分析HiC数据,得到自己设定分辨率(例如100kb)的热图(由于这部分需要下载基因组,网速较慢,下期介绍)

3.Hi-C数据可视化以及Find Topologically Associating Domains

(1)需要数据:Hi-C交互矩阵:N * N 的矩阵

由第二步得到的Hi-C数据是这样的格式(中间以tab分割)

#tab chrT_001 chrT_002 chrT_003 chrT_004chrT_001 629     164     88      105

chrT_002 164      612     175     110

chrT_003 88        175     437     105

chrT_004 105      110     105     278

(2)软件包:tadbit

https://github.com/zilhua/tadbit

官方网站:http://3dgenomes.github.io/TADbit/

(3)计算代码:

View Code PYTHON
#!/user/bin/python
# -*- coding:UTF-8 -*-
'''
Created on ${date}
@author: www.zilhua.com
'''
from pytadbit import Chromosome
# initiate a chromosome object that will store all Hi-C data and analysis
#设置环境,初始化
my_chrom = Chromosome(name='chr19', centromere_search=True,
                      species='Homo sapiens', assembly='NCBI36')
###my_chrom
'''
Chromosome chr19:
   0  experiment loaded: 
   0  alignment loaded: 
   species         : Homo sapiens
   assembly version: NCBI36
'''
#加载数据以BingRen的数据为例
# load Hi-C data
my_chrom.add_experiment('k562', cell_type='wild type', exp_type='Hi-C',
	identifier='k562',project='TADbit tutorial',
        hic_data="scripts/sample_data/HIC_k562_chr19_chr19_100000_obs.txt", 
	resolution=100000)
my_chrom.add_experiment('gm06690',cell_type='cancer', exp_type='Hi-C',
	identifier='gm06690',project='TADbit tutorial',
	hic_data="scripts/sample_data/HIC_gm06690_chr19_chr19_100000_obs.txt",
	resolution=100000)
#参数解释:k562 样本名;cell_type:细胞类型
#exp_type:实验类型;hic_data:HiC数据;
#resolution:分辨率
#对两个样本分别可视化
my_chrom.experiments["k562"].view()
my_chrom.experiments["gm06690"].view()

 

View Code PYTHON
#如果这两个样本是对照实验,则可以这样exp = my_chrom.experiments["k562"] + my_chrom.experiments["gm06690"]
my_chrom.add_experiment(exp)
my_chrom.visualize([('k562', 'gm06690'), 'k562+gm06690'])

 

View Code PYTHON
#Find Topologically Associating Domainsmy_chrom.find_tad('k562', n_cpus=4)
my_chrom.find_tad('gm06690', n_cpus=4)
#参数解释:函数find_tad第一个参数k652样本名;
#n_cpus线程数,个人电脑一般是1--4,服务器看配置
#获取计算结果
my_chrom.experiments["k562"].tads
my_chrom.experiments["gm06690"].tads
#将数组转换成txt文本
my_chrom.experiments["k562"].write_tad_borders()
#结果中,第一列就是TAD的编号,
#第二列第三列分别是TAD的起始和终止位置
#第四列打分
#将TAD的边界在热图上显示
my_chrom.visualize('k562', paint_tads=True)

 

View Code PYTHON
#如果需要对比两个样本的TAD情况my_chrom.visualize([('k562', 'gm06690')],
paint_tads=True, focus=(490,620), normalized=True)
#参数解释:paint_tads是否描述TAD边界;
#focus 显示染色体位置;normalized是否标准化

 

View Code PYTHON
#TAD density
my_chrom.tad_density_plot('k562')

 

View Code PYTHON
#保存和重载数据my_chrom.save_chromosome("some_path.tdb", force=True)
from pytadbit import load_chromosome
my_chrom = load_chromosome("some_path.tdb")
print my_chrom.experiments

4.其他内容:下期介绍



3D基因组之Hi-C简介(二)

Hi-C简介(外传)
(一)HiC的起源与发展
(二)HiC的重要应用
(三)HiC的展望

上一篇已经讲过HiC的起源与发展,这期主要讲Hi-C的实验以及数据分析。

(一)HiC的起源与发展

http://www.zilhua.com/2145.html

一、Hi-C实验

第一步:甲醛交联,固定细胞核内染色质构象

第二步:酶切,并用生物素标记

第三步:成环

第四步:打断

第五步:钓取带有生物素标记的酶切片段

二、数据分析

1. 数据过滤,筛选(二代测序通用 ^__^ )

2. 比对;比对的方式主要分两种,一种判断每条reads是否含有酶切位点,有则去掉酶切位点之后的数据在进行bowtie2单端比对;另一种采用单端比对的策略,以25bp为起始长度,每次增加5bp直到该reads比对到基因组具有唯一性。

3. 寻找酶切片段;比对寻找到reads pairs在基因组物理位置之后,通过插入片段大小的限制搜索reads pairs两端每条read所对应的最近的酶切片段。酶切片段的位置代表了DNA交互产生的大致位置。

4. 筛选fragment pairs;

我们只需要Valid Pairs。

5.Binning;将Valid Pairs的交互信息mapping到 基因组的位置,最终转换成为每两个bin的交互强度。

6. 交互矩阵标准化;标准化方法主要分为两类,一类是基于矩阵,进行数学上的标准化,例如迭代等,另一类是基于生物学意义(例如mappingability)上的标准化。

 三、分析代码

分析代码会在写完Hi-C系列所有文章之后在博客(www.zilhua.com)以protocol的形式发表,敬请关注。

 四、Hi-C分析工具包



3D基因组之Hi-C简介(一)

HiC 简介
关于Hi-C,主要写3篇博文
(一)HiC的起源与发展
(二)HiC的重要应用
(三)HiC的展望

1953年,沃森和克里克发现DNA双螺旋结构,这标志着生物界进入基因组的研究时代。此后不久,胰岛素的氨基酸序列得以破解,DNA测序逐渐成为生物学家的重要目标。1975年Frederick Sanger等人发明了Sanger测序法,这一突破的性的工作为基因组学的发展甚至是整个生物学发展起到了推动作用。而后人类基因组计划的开启,人类基因草图的完成等一系列的重大科研项目的进行推进了生命科学的发展。
单分子实时测序,离子半导体测序以及454测序等二代测序的发展,使得测序通量下降成本降低,促进了基因组学的发展。


上图主要阐述了线性基因组学主要研究工作,随着研究深入以及科技发展,科学家已经不满足于在二维寻找基因的信息,尤其是发现染色质有较多有趣的现象时,二维基因组并不能很好解释染色质的这些现象,因而人们开始寻找空间结构也能影响基因表达的信息。

Model of functional nuclear architecture

近年来,随着线性基因组的发展,研究者利用荧光原位杂交、染色质构象捕获(chromosome conformation capture,3C)等技术,更加深刻了解到细胞核中染色质的三维构象以及内容。之后研究者们将3C技术与基因芯片技术融合产生了4C、5C技术。09年Job Dekker等人将3C技术与二代测序技术结合起来发明Hi-C技术研究染色质DNA与DNA的交互,阮等人发明ChIA-PET技术研究蛋白与DNA交互信息。基因组学的研究也从一维转变为三维。

从一维的基因组信息, 到二维的交互网络, 再到三维的染色质结构. (a) 一维基因组和表观遗传学数据, 以及 ChIA-PET 示例数据, 虚线表示两个 DNA 片段之间有连接; (b) RNAPII 参与的染色质交互网络、相应的双对数曲线图(典型的无尺度网络标志), n 表示染色质交互的数目, f 表示有 n 个交互的节点数目. 在放大的图中, 节点的颜色表示节点来自于不同的染色体; (c) 通过 ChIA-PET 数据重建的一个粗略的染色体在细胞核内的分布结构. 不同的颜色表示不同的染色体. 本图来自于 Sandhu 等人。

Hi-C的发展

Job Dekker

awards and honors

2015

Investigator, Howard Hughes Medical Institute

2014

Elected Fellow of the American Association for the Advancement of Science (AAAS)

2011

American Society for Biochemistry and Molecular Biology Young Investigator Award

2007

W.M. Keck Foundation Distinguished Young Scholar in Medical Research Award

Dekker Lab:

http://my5c.umassmed.edu/welcome/welcome.php



HEAT MAP图相关

by:李森

Heatmap称之为热图,是一类在各种文章中很常见的图表类型。
下图就是典型一张heatmap图,一组基因在不同时期不同处理下的上调下调的情况用红色以及绿色表示出来,红绿颜色的加深代表变化程度。

这类图多用在需要表现数据的变化情况(例如基因的上调下调、基因互作程度
等)的地方。
现在能做heatmap的软件已经有很多,除了常用的R,mathlab之外还有如SPSS,heatmap bulider等。
我在作图的时候使用的是R语言的heatmap()命令生成样图
然后用Adobe Illustrator CS6进行修饰
关于R语言,由于其能实现的功能太多,这里只用一个例子解释一下如何制作heatmap,
代码可以套用

准备工作:

R包(windows需要安装两个,R包和Rtools包) http://www.r-project.org/
Adobe Illustrator CS6 互联网资源很多,这里提供一个http://www.playnext.cn/illustrator-cs6.html
Excel等表格处理软件
需要绘制的数据表,例如我使用的是手头上的一组斑马鱼SiRNA表达情况的数据
 

step 1:

使用R绘制Heatmap所需要的格式为下图所示:

Name 这一列就是每一行数据的标签,Repeat则是对应不同类别。
根据这一点,先将数据整理为对应的格式,
我保留了原始数据中的Gene Name(F列)以及相关上下调的normalized数据(N和O列),其它的全部去除
最后整理结果如下,保存为 .csv格式
(之所以保存为 .csv格式是由于.csv格式比较简单,数据与数据之间用【,】隔开,方便处理)

Step1.2

但是这里需要注意的一点是,作为每一行标签的Name不能有重复,否则在R处理的时候会报错
剔除重复值的方法就是选中Name列,用Excel的【条件格式】

将重复的值挑选出来后,重复的单元格颜色会改变

再用【筛选】功能

点击Name右下角的小箭头 -【按颜色筛选】-选择颜色

这样就能将所有重复数据选出来,进行删除或者重命名Name

剔除所有重复的值之后就保存为

Step2 绘制草

首先【文件】-【改变工作目录】-选中result_step1.2.csv所在的工作目录

result<- read.csv("result_step1.2.csv", sep=",")
row.names(result) <- result$Name
result <- result[,2:3] # or result <- result[,-1]
result_matrix <- data.matrix(result)
heatmap(result_matrix, col=rainbow(256,start=0,end=2/6), revC=FALSE, scale="column", margins=c(5,15))

 

最后【文件】-【另存为】-【PDF】
保存为矢量格式

Step3 后期修饰

由R直接生成的图很简陋,不够精致,往往需要后期进行一些修饰
而对矢量图片进行修饰则需要使用Adobe公司的Adobe Illustrator软件

若想熟练使用这个软件,可以先学习其一些工具的基本操作,网络上教程很多,这里不再一一赘述
推荐可先将 http://www.51zxw.net/list.aspx?cid=303 的第一章第二章先了解一下。

在 Illustrator中打开生成的result.pdf之后,会发现这张图有以下几个问题

1.右侧的Gene Name重叠在一块了
2.Repeat1以及Repeat2字体太大,并且是竖版排列
3.比例不协调
问题逐一解决

Step3.1

文字重叠处理

使用左侧的直接选择工具,选中后安退格键,先将上下两部分删除,文字之后再添加

然后用选择工具框选住文字部分(注意,和上面的直接选择工具不同)

这样文字就被框选出来
在Illustrator上方状态中的字符栏更改字体大小到字体不再重叠
我这里从7修改成2.2

文字整体有点位移,用选择工具拖动调整一下,
使其逐行对齐。

Step3.2

添加文字性内容,将Repeat1以及Repeat2添加回来,或者添加其它修饰性文字/线条
使用文字工具
在画板空白处点击后添加文字,并将字体大小改为合适样式

使用选择工具将其拖动到合适位置

Step3.3

更改整体比例,让图片协调

 



NGS 常用分析软件

1. Mapping

  • BFAST: A fast and accurate tool for mapping of short reads to reference sequences.

  • BWA: A fast light-weighted tool that aligns short nucleotide sequences to a sequence database.

  • Bowtie: An ultrafast, memory-efficient short read aligner.

  • ELAND: A very fast alignment algorithms from Illumina company.

  • MAQ: A software that builds mapping assemblies from short reads generated by the next-generation sequencing machines.

  • SHRiMP: A software package for aligning genomic reads against a target genome.

  • SOAP: A tool package that provides full solution to next generation sequencing data analysis (including a alignment tool SOAPaligner/soap2 etc).

  • SOLiD bioscope: A software package that is designed specifically to optimize the accuracy of the ABI SOLiD colorspace data.

  • SWIFT: A software collection for fast index-based sequence comparison.

  • TopHat: A spliced read mapper for RNA-Seq.

2. SNV Detection

  • CASAVA: The internal assembler and variant caller Illumina company utilized.

  • GATK: A multiple-sample, technology-aware SNV and indel caller.

  • JointSNVMix: A probabilistic model for detection of somatic mutations in normal/tumour pair.

  • SAMtools: A set of utilities for post-processing alignments in the SAM format, such as indexing, variant caller and alignment viewer.

  • SNVMix: A tool for SNV calling based on probabilistic binomial mixture model.

  • SOAPsnp: A tool for identifying SNVs by Beijing Genomics Institute (BGI).

  • Strelka: A tool for somatic small-variant calling from sequenced tumor-normal sample pairs.

  • SomaticSniper: A program to identify SNVs that are different between tumor and normal sample.

  • VarScan: A platform-independent, technology-independent software tool for identifying SNVs, indels, and CNVs in massively parallel sequencing of individual and pooled samples.

3. Indel Detection

  • Dindel: A program for calling small indels from short-read sequence data from Illumina platform.

  • Pindel: A tool for identifying indels and structural variants at single-based resolution from next-generation sequence data.

  • SplazerS: A tool for detecting genomic indel variants with exact breakpoints in single- and paired-end sequencing.

4. Structural Variation Detection

  • BreakDancer: A tool for detecting five types of SVs (insertions, deletions, inversions, inter- and intra-chromosomal translocations) from next generation paired-end sequencing reads.

  • CREST: A software that uses the soft-clipped reads to directly map the breakpoints of SVs.
  • GASV: A tool for identifying and comparing structural variants by computing intersections of breakpoint regions.

  • HYDRA: A tool for detecting structural variants in both unique and duplicated genomic regions.

  • PEMer: A software package for detecting SVs from paired-end reads.

  • R453Plus1Toolbox: An R/Bioconductor package for the analysis of Roche 454 sequencing data.

  • SVMerge: A tool for SVs analysis by integrating calls from several existing SV callers.

  • SVDetect: A tool for identifying structural variations from paired-end/mate pair data.

  • VariationHunter: An tool for identifying structural variations from paired-end WGS data.

5. Copy Number Variation Detection

  • CBS: An R package for detecting CNVs using sequencing data.

  • CMDS: A population-based method for recurrent CNVs analysis from multiple samples.

  • CNAseg: A tool for Identifying CNVs in cancer from NGS data.

  • cnvHMM: A tool for CNVs analysis using Hidden Markov algorithm.

  • CNVnator: A tool for CNV discovery and genotyping from depth of read mapping.

  • FREEC: A tool for control-free CNVs detection using deep-sequencing data.

  • RDXplorer: A tool for CNVs detection in whole human genome sequence data using read depth coverage.

  • SegSeq: A tool for detecting CNVs from short sequence reads.

  • VarScan: A platform-independent, technology-independent software tool for identifying SNVs, indels, and CNVs in massively parallel sequencing of individual and pooled samples.

6. Annotation

  • ANNOVAR: An efficient software tool to use update-to-date information to functionally annotate genetic variants detected from diverse genomes.

  • BreakSeq: A pipeline for annotation, classification and analysis of SVs at single nucleotide resolution.

  • Seattle Seq: An server that provides annotation of SNVs.

7. Data Visualization

  • Avadis: A software for visualizing and analyzing RNA-Seq data.

  • CIRCOS: A software package for visualizing genomic events.

  • IGV: A high-performance visualization tool for interactive exploration of next-generation sequencing data.

  • Pairoscope: A software package for generating diagrams indicating the relationship of paired end sequencing reads, is most useful for visualizing translocations.

  • UCSC Genome Browser: A genome browser that provide precise access to sequence and annotation data for any genomic region of specific interest.

8. Fusion Gene Detection

  • Avadis: A software for visualizing and analyzing RNA-Seq data.

  • CIRCOS: A software package for visualizing genomic events.

  • IGV: A high-performance visualization tool for interactive exploration of next-generation sequencing data.

  • Pairoscope: A software package for generating diagrams indicating the relationship of paired end sequencing reads, is most useful for visualizing translocations.

  • UCSC Genome Browser: A genome browser that provide precise access to sequence and annotation data for any genomic region of specific interest.

参考资料:http://bioinfo.mc.vanderbilt.edu/NGS/software.html



第二届国际·华中地区生物信息研讨会

主办方:华中农业大学信息学院

信息来源:http://ibi.hzau.edu.cn/2014www/workshop/index.php

会议PPT下载:链接: http://pan.baidu.com/s/1hq1TTPU 密码: 8krk

会议安排

姓名 单位 报告题目
孙之荣 清华大学 教授 中国生物信息学的发展历程
李弘谦 台湾中央大学 教授 GSCMap – A Gene-Set-based Connectivity Map for characterizing bioactive compounds in terms of biological functional groups
邢 毅 University of California, Los Angeles, USA 教授 Proteotranscriptomic analysis of alternative isoform expression in human cells
张志勇 中国科学技术大学 教授 计算机模拟整合低分辨率结构数据研究蛋白质构象变化
邹秀芬 武汉大学 教授 Mathematical modeling, optimization and Control for networks of complex diseases based on the high-throughput data
胡黔楠 中科院天津工业生物技术研究所 研究员 微生物细胞工厂设计技术体系构建
章成君 中国科学院昆明植物研究所 研究员 Evolution of gene structural complexity: An alternative-splicing based model accounts for intron-containing retrogenes
彭绍亮 国防科技大学 教授 Computational Biology and Big Data Research on TianHe Supercomputer
喻祖国 湘潭大学 教授 Some applications of fractal and statistical methods to phylogenetic analysis and complex networks
邱建丁 南昌大学 教授 Progress in predicting protein structure and function in Jiangxi
蒋兴鹏 华中师范大学 教授 多元微生物组学时间序列数据分析的稀疏模型
谢为博 华中农业大学 副教授 A genomic variation map for large-scale rice germplasm reveals breeding signatures of rice improvement
刘泽先 华中科技大学 博士 蛋白质翻译后修饰的生物信息学研究:从底物位点,酶,到酶-底物调控网络
朱世杰 武汉菲沙基因信息有限公司 博士 Comparative genomics of malaria parasites


送给25岁的自己

来自:http://www.zilhua.com/1924.html

今天是外婆生日
我换上复古西装
载着外婆开着拉风的古董车兜兜兜兜风……”

一下火车,洗了澡,我们几个哥们就去了KTV,一来我就点了周小伦的《外婆》。

从我记事起,基本都住在外婆家,鸡鸣时就起床给我做早饭,完了还要送我上学,那时外婆有70多岁,但完全像一个年轻人,很有精神。家门前是一个很高的山坡,每次外婆走的比我还要快,总是催我快点不要上学迟到了。总觉得外婆不会变老,总觉得外婆永远都那样健朗。大一的时候,外婆突然变而有点耳背,有时喊她要比较大的声音。大二那年寒假,终于拿到了大学的第一份奖金,然后就给外婆买了一个西门子的助听器。拿回去给外婆试戴,她总觉得不舒服,觉得我们的声音都变样了,坚持不使用助听器。没办法,她就像一个孩子,正如豆瓣的一篇博文《外婆越来越不像话了》[http://www.douban.com/note/286430135/]那样,往后的日子更胜。大四的那年寒假,突然觉得外婆变老太多,跟她说话需要很大声音,而且需要说的很慢,那年就觉得自己太渺小,什么都不能做,什么也改变不了,我只是想她能不这么快变老,还没享受到我给她带来的幸福。以前外婆还会跟我说:能看到我外甥结婚就好了。但是现在基本不会问我这方面了,大概只记得我依旧还是一个学生,在外地求学。我从以前半年才回家一次,也变成了12个月回家一次,有时没事就回去一趟,只是想多陪她说说话。

时间啊,真可恶。

外婆幸好有阿公相伴,从她十几岁嫁给我阿公一直到现在,他俩不知道经历了多少风风雨雨。九十多岁的阿公现在也是像一个老小孩,喜欢发一些小脾气,但依旧喜欢跟我讲以前的故事。我是一个标准的留守儿童,很多性格等都需要靠外公教导,不过幸运的是外公是一个知识分子,人很聪明也很开明。小的时候放学回家,外公都要求我做完作业了才能出去玩,而且有时会教我一些四书五经的内容,直今阿公都很把那些书背出来。小时候贪玩,爱玩小霸王上面的隋唐演义,看到我玩游戏是很不高兴的,但是那次我通过游戏里面的故事还有人物等都串起来给他讲了一通(其实就是忽悠,现在想起来,外公抽屉里面有一本《徐茂公演义》,一本《隋唐演义》,哈哈),最后规定玩游戏只要不超过一定时间都是允许的。后来,当我渐渐长大,外公就会经常跟我讲他和外婆的故事,跟我讲了那时候的政治,那时候他怎么在外做生意,外婆怎么维持家,照顾整个家,现在最常跟我说的是假如没有你外婆,我早就走了

时光啊,只希望你慢点。

担心手机很快用完电,在火车上手机大多时候都设置成飞行状态,刚出火车站,调整手机状态,然后老爸的电话就来了。老爸一般和我聊会儿天后就问妈给我打电话的没有等等。妈昨天就给我打电话,在外地,接电话也比较贵,和她也没有聊多久。一不留神,爸妈都快50了,为了我也奔波了这大半辈子,只想早点成为他们的骄傲。

25岁,年长了一岁,也是人生的一个转折点,感谢爱我以及我爱的人。