UFO中文网

 找回密码
 注册会员
查看: 129|回复: 5
收起左侧

我刚上大一,生物科学专业,想要在研究生阶段转生物信息学 ...

[复制链接]
online_member 发表于 2023-2-17 21:36:01 | 显示全部楼层 |阅读模式
请问偏算法的生物信息学和偏生物的生物信息学有哪些不同呢?研究的方向和需要具备的知识又有哪些不同呢?我刚上大一,本科生物科学,怎样朝着偏重算法的生物信息学方向发展呢?望大佬们指点
online_member 发表于 2023-2-17 21:36:36 | 显示全部楼层
如果你处在大学阶段,不要太在意偏什么,因为大学是通识阶段,什么都要学一点,这样你才能知道你喜欢什么擅长什么。
例如你说的生物信息,其实方向有很多。从研究对象的角度来说,有基因组、转录组、蛋白组、代谢组、蛋白结构、结合位点、动力学等等,从研究目的的角度来说,有靶点发现、结构预测、工具开发等等。
如果你是生物科学专业,本科可以学到不少生物学的知识,这时候如果转生信,你的优势在于生物学知识,用生物信息学方法探索生物学意义可能是顺理成章的。如果是计算机或者数学专业转生信的话,在生物学知识上有所欠缺,更适合去做数据库、工具或者算法。
当然这个也不绝对,只是难度不一样而已。如果你以后想做算法,你需要

  • 学好数学,尤其是线性代数和统计。推荐几门mooc
线性代数_同济大学概率论与数理统计_北京科技大学多元统计分析_厦门大学2. 学好编程,linux必须会用,python和R都要学好,推荐几门课程
Linux系统管理_宁波城市职业技术学院R语言入门与数据分析_哔哩哔哩_bilibili【慕课】Python语言基础与应用-北京大学-陈斌-字幕校对_哔哩哔哩_bilibili3. 一些和算法相关的导论也要学,推荐
【慕课+课堂实录】离散数学-北京大学-陈斌-字幕校对-【慕课更新完结】_哔哩哔哩_bilibili数据结构与算法Python版 自学课程指南4. 机器学习的课程也要学,推荐
机器学习_浙江大学00 预告【动手学深度学习v2】_哔哩哔哩_bilibili还可以搜索 @吴恩达 老师的课程,b站、知乎上也都有带字幕的。
<hr/>另外可以看几篇review,可以参考
openbiox:生物信息学/计算生物学相关从业者建议读哪些书籍和论文?祝你好运!
online_member 发表于 2023-2-17 21:36:46 | 显示全部楼层
学习算法的那点事儿
已有 6170 次阅读 2014-3-25 18:21 |个人分类:生物信息|系统分类:科研笔记|关键词:算法,生物信息| 算法, 生物信息 推荐到群组

最近chinaunix论坛进行了关于算法学习的讨论(http://bbs.chinaunix.net/thread-4130313-1-1.html) ,下文是我的一点感受,放在这里:

1. 平常是如何学习(夯实)算法和数据结构基础知识的?
本人的工作是生物信息,原来不是计算机专业出身,考博士的时候恶补了一下算法知识,用的是严蔚敏的算法书,受益颇深。幸好学到还好,考试成绩还不错。
感觉还是有考试压力下,有动力学习,做题加实践出真知。
楼上有人把算法学习分为三个部分,我觉得分类分得很好,很多也说到我心里。也就这三个方面,谈一下自己的感受。
1).基本数据结构及算法概念
这部分确实需要自己下深功夫,如果没有硬功夫,很难理解透算法的基本概念,这里没有捷径可言。数据结构从简单的线性表开始,到树结构,图结构。算法的学习要与数据结构的学习结合,但要稍后。递归算法和动态规划是两个里程碑的算法概念,哈希和链表是用得最多的结构,只有深入掌握了这些,才算入门。其他的算法技巧在此基础上,才能慢慢展开。
2).算法分析
这个领域又叫算法复杂性研究,是一个计算机科学领域的金字塔的领域,要有较深的数学,包括离散数学和高等数学的基础。理解这个领域的概念非常有助于算法的重要性,理解别人的软件为什么会采用相应的算法和数据结构,如何评价它们等等。但毕竟这个领域是一个学术领域,如果不是为了在这个科学领域做出研究贡献,对于大多数的计算机应用人才,个人认为点到而止比较好。
3).算法设计与应用
这才是大多数计算机应用人才需要的部分,在算法设计时,我们一般考虑的因素
a) 代码编写时间、可读性和程序运行效率的平衡;
b)算法的时间效率和空间效率的平衡;
c)算法的精确性和效率的平衡
。。。。。
这里仅就a)多说几句,有的学过一点算法的人可能对算法有痴迷,开发时总想把程序写得尽可能的快或少占内存,浪费很多时间在算法改良,同时使程序丧失了可读性,本人觉得这是不好的。当然这不是否定在算法学习阶段的精益求精。

2. 熟练掌握算法和数据结构对你工作有什么帮助?谈谈经验?
算法对我的生物信息学工作非常有帮助,体现在这样几个方面:
a)对程序设计的直接帮助。如图论算法应用于网络研究,动态规划用于序列分析,树的递归用于进化树研究等等。
b)理解别人的软件的算法和数据结果,以便更好的应用。如Blast等常用的软件,生物信息的大部分工作在于软件整合,了解这些软件的内部,才能更好的应用,当然这里除了算法还有统计学等知识,也是很有必要的。
c)真正欣赏到计算机科学的美感。当你理解了一种新的数据结构的妙处,当你把程序的速度或内存效率成十上百倍的提高,当你搭建了一个新的数据和计算平台,还有什么能比此时计算机带给你的美妙更能吸引人的呢?

3. 如何看待面试官面试你算法题目?你在面试中碰到过什么样的算法题目,分享一下吧。
我面试过一些生物信息的学生,但大多在算法方面没有太深的基础。其实算法并不是那么难的,难的他们感兴趣的心。题目这里就不说了。

转载本文请联系原作者获取授权,同时请注明本文来自卢宏超科学网博客。
链接地址:http://blog.sciencenet.cn/blog-565112-779129.html

上一篇:安装hadoop2.2.0 到Windows 7笔记
下一篇:儿子名子的故事
发布于 2018-12-12 04:17
online_member 发表于 2023-2-17 21:37:04 | 显示全部楼层
我是个半路出家的生信博士,2014年从国内的分子生物学硕士,出国读博士转型到生物信息学,2018年毕业,我以半个过来人谈谈我的感受。
狭义的生物信息学,主要解决基因组装、拼接、转录组、重测序,宏基因组,蛋白结构预测等,举个例子就是预测新冠病毒的三维结构,或者发现它的DNA序列。
广义的生物信息学,包含很多数量遗传学和群体遗传学,以及当前很火的多组学分析,例如数量性状定位,遗传育种中的基因组选育,群体历史分析,适应性进化分析,群体进化分析等等内容,利用多组学分析解决农业和医学的产业问题等等。举个例子就是新冠病毒在世界传播中是如何变异的,等等。
具体在今后的实战中,
1.生物学里要知道生物学的中心法则和简单的遗传原理,
2.一门脚本语言,perl或者python,或者bash都可以,一门统计语言,主要用来简单的计算和做图,python R都可以。
3.然后需要跑过很多流程,知道一些常见软件的使用,和文件格式转换,就超过80%的从业者了
以下为想从事算法方面的进阶技能
4.线性代数要足够的好
5.统计学中常见统计方法原理要足够清楚
6.熟练推演经典模型
7.能够把现实问题数学化,并且代码话
没啥了,更多关于转行生信、生信科研、求职的内容,欢迎私信交流。
其余内容,请参照我以前的一篇回答
生物信息学本科阶段应该掌握哪些技能知识?
online_member 发表于 2023-2-17 21:37:25 | 显示全部楼层
我多次谈及生信中的分类,包括应用生物信息学和生物信息学。非常难得在大一就对这个行业有这样的认知。
我目前做一些数据挖掘和机器学习的内容,就抛砖引玉吧。
你想要知道你需要学习或者说准备的知识是什么,那么就需要梳理一个学习的逻辑。首先做偏向算法的生物信息学你是否清晰生物信息学目前已有的算法有什么,这些算法应用在什么程序上或者软件上,你是不是知道这些软件是用什么开发的。
基于这些问题。我觉得有三点需要在学习的前期解决掉。
1、常用数据挖掘算法的理解以及python实现
比如十大数据挖掘算法,同时生信中的算法也需要深刻理解。推荐李航的统计学习和周志华的西瓜书。
2、扎实的数学统计学基础,尤其是线性代数,比如有些算法入门就是矩阵求导
关于统计学的部分在我的专栏也一直在更新
3、编程语言的练习,推荐先把python搞定,如果后期搞开发,java和c++也有接触到的可能性。
先用半个月把python这本书练习完
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1335303336069894144">我在回答中也写到:生信初学者应该如何自学python,可以进行参照。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

UFO中文网

GMT+8, 2024-5-9 05:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表