Go语言哲学 go语言书籍推荐知乎

GO(Gene Ontology)Ontology 首先是出现于哲学领域的一个词汇,后来广泛用于计算机领域,发挥了很重要的作用,再后来这个概念被引入生物领域 。
gene Ontology 是生物中Ontology中一个重要应用 。go项目最初是由研究三种模式生物(果蝇、小鼠和酵母)基因组的研究者共同发起 。是生物信息分析中很重要的一个方法
go是在生物领域应用非常广,可以帮助生物学家对基因产物进行准确的定义(功能、位置) , 节省时间 。
因为在最开始的时候 , 生物学家们更多是专注于自己研究的物种/课题 , 而且每个生物学家对功能等的定义是存在差异的 , 导致不同实验室/物种不能实现直接的对接(比如A物种内的x基因的功能使用的是a这个词汇进行注释,而B物种内的x基因的功能却使用的是与a同义的词汇b进行注释,这种情况计算机无法识别) , 就像讲两种语言的人,无法直接进行语言交流 。这种情况导致的问题是 , 出现了一种阻碍,让问题复杂化了 。所以就有了Ontology在生物领域中的应用,实现“书同文” 。
go定义了基因/基因产物的功能(通过术语)且定义了它们各自之间功能是怎样联系的(关系) 。它组成了一个具有大量term的词汇库,并定义各种term之间的关系(is_a part_of R) 。
GO通过三个方面的术语对基因/基因产物的功能进行描述:分子功能(molecular function) -由基因/基因产物行使的分子水平上的功能; 细胞组件(cellular component)-基因/基因产物产生功能时其在细胞结构上的位置;生物学过程(biological process)-在哪个生物学通路/生物过程发挥作用 。
目前 , GO 注释主要有两种方法:
(1)序列相似性比对(BLAST):例如blast2go(将blast结果转化为GO注释)
(2)结构域相似性比对(InterProScan)
blast2go的本地化教程:
在blast2go软件正确安装的情况下,使用blast2go进行go注释,出现无法得到注释结果的问题:
另外还有可能出错的原因是,blast2go无法识别blast高的版本号,当使用高版本的blast的时候,直接将版本号给修改为低版本的就行了,例如(BLASTX 2.2.25+)
GO 的图形是一个有向无环图
go语言是什么Go语言是一种开源的编程语言,被广泛应用于网络编程、云计算、分布式系统等领域 。
go语言的三位作者
Go语言的设计目标是成为一种语法简洁、执行效率高、并发性能强大的编程语言 。它由Google公司研发,于2009年首次发布,并于2012年成为了开源项目 。Go语言具有C语言的表达能力和Python的开发效率,同时还拥有自己独特的语法和特性,如协程、垃圾回收机制等 。因此 , 它被广泛应用于网络编程、云计算、分布式系统等领域 , 并且越来越受到开发者的青睐 。
Go语言的出现,填补了许多编程语言在并发编程方面的空缺 。它提供了一种轻量级线程模型,通过协程(goroutine)的方式,实现了高效的并发编程 。同时,Go语言还支持内置的网络编程和字节序列编解码库,使得网络编程变得更加容易和高效 。在云计算、分布式系统等领域,Go语言也得到了广泛的应用 。例如,Docker和Kubernetes等开源项目就是用Go语言开发的 。此外,Go语言还具有代码可读性高、编译速度快、编译后的可执行文件体积小等优点,使得它成为了开发高性能、高并发应用的理想语言之一 。
Golang 语言深入理解:channel 本文是对 Gopher 2017 中一个非常好Go语言哲学的 Talk?: [Understanding Channel](GopherCon 2017: Kavya Joshi - Understanding Channels) 的学习笔记,希望能够通过对 channel 的关键特性的理解,进一步掌握其用法细节以及 Golang 语言设计哲学的管窥蠡测 。

推荐阅读