<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>生信菜鸟团 &#187; 生物信息学</title>
	<atom:link href="http://www.bio-info-trainee.com/tag/%e7%94%9f%e7%89%a9%e4%bf%a1%e6%81%af%e5%ad%a6/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bio-info-trainee.com</link>
	<description>欢迎去论坛biotrainee.com留言参与讨论，或者关注同名微信公众号biotrainee</description>
	<lastBuildDate>Sat, 28 Jun 2025 14:30:13 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.33</generator>
	<item>
		<title>生信分析人员如何系统入门python？</title>
		<link>http://www.bio-info-trainee.com/2216.html</link>
		<comments>http://www.bio-info-trainee.com/2216.html#comments</comments>
		<pubDate>Thu, 29 Dec 2016 09:11:10 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[杂谈-随笔]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[生物信息学]]></category>
		<category><![CDATA[系统入门]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2216</guid>
		<description><![CDATA[呵呵，说了我不用！ 你们看： http://www.biotrainee.com &#8230; <a href="http://www.bio-info-trainee.com/2216.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>呵呵，说了我不用！</p>
<p>你们看：<a href="http://www.biotrainee.com/thread-379-1-1.html" target="_blank"> http://www.biotrainee.com/thread-379-1-1.html </a>这个吧，下面是我摘抄的</p>
<p><span id="more-2216"></span></p>
<p>（1）首先是动物园的书，《learning perl》真是入门的典范。再看《Learning Python》，几千页，那么厚，我到现在也没法认真看下去。<br />
（2）另外perl语句比较简洁，几个符号就可以讲清楚的，Python可能需要几行，比如按行读取，perl只要while(&lt;&gt;)就可以，而最初学Python的时候，光这个问题就困扰了很久。再比如perl正则匹配的$1, Python是match.group(1)。perl的简洁伴随的缺点是可读性较差，自己的代码写完了都不想再看，更不要说别人写的。<br />
（3）perl的正则表达式是真的非常厉害，我已经不记得是怎么厉害的了，就只记得Python的re module刚开始接触不太好用，不过现在已经感觉不出区别了。<br />
（4）通常一个Python脚本需要很多modules，不熟悉之前会觉得很痛苦，perl就比较少用到，我总共也没用几次，一方面说明我的perl确实学得不好，另一方面可能也真是不太好用，看到就觉得麻烦。但Python的modules一旦熟悉了会大大提高工作效率。</p>
<p>重点说一下Python的优点。Python作为编程语言真正的优势比如面向对象编程（OOP），可移植/扩展/嵌入，强大的爬虫功能，APP开发，web开发等都不在讨论范围之内，只从最实用的角度做一下说明：<br />
（1）简单，适合作为入门语言。很多时候觉得读Python的代码像是在读简单的英文，或者觉得pseudocode稍微一改就可以在Python里run了。Python还规范了很好的写作格式，该缩进的必须缩进，这样更增强了可读性。同时提高了代码重复利用的可能（很多时候perl代码写完就不想读了，三个月不用再回来已经看不太懂了，Python的就可以留着慢慢用。。。）<br />
（2）Python社区活跃。有问题可以很容易搜索到解决方案。我perl的老师现在也转教Python了，问他为什么，他说perl的community不活跃，用Python是一种趋势<br />
（3）作为开源语言，Python有很多非常好用的包，可以最大程度让我们避免把时间浪费在重复造轮子上。刚接触Python的时候我就觉得这简直是perl和R的整合，之前提过Python的scipy，numpy，pandas，matlibplot等等packages使其同样拥有了很强大的统计画图功能，我曾一度弃用R，用Python做所有的数据处理，数据分析和画图。不过现在又将这些工作交回了R，实验室本身是做统计的，用R显得入流一点：-）<br />
（4）Python的jupyter notebook！！！这个是要强力推荐的！！！以前叫ipython notebook。用过R的都知道R Studio。jupyter notebook就是Python的Studio。以前写perl或者Python是不是这样的流程：写好了，存成.pl或.py格式，在shell里python xxx.py或者perl xxx.pl。运行完发现不好，有bug，打开文件找找bug在哪，再运行，还不行，唉，反反复复，好累。有了jupyter notebook你就可以边写边跑边改程序。有任何不确定的地方，都可以在notebook里直接测试，有任何bug都可以在notebook里直接改。简直方便到爆。现在用Anaconda安装jupyter还附赠很多包，方便又实惠。<br />
（5）学好Python可以转行！！！跳出生物坑，奔向美好的互联网坑。前面提到的爬虫，APP开发，web编程都是很实用的技能。许多互联网公司也会专门招Python程序员，比如Google，比如Youtube，比如Dropbox。。。</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2216.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>生信分析人员如何系统入门R？</title>
		<link>http://www.bio-info-trainee.com/2214.html</link>
		<comments>http://www.bio-info-trainee.com/2214.html#comments</comments>
		<pubDate>Thu, 29 Dec 2016 09:07:57 +0000</pubDate>
		<dc:creator><![CDATA[ulwvfje]]></dc:creator>
				<category><![CDATA[杂谈-随笔]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[生物信息学]]></category>
		<category><![CDATA[系统入门]]></category>

		<guid isPermaLink="false">http://www.bio-info-trainee.com/?p=2214</guid>
		<description><![CDATA[R语言的重要性我也就不再赘述了，它不仅在生物信息数据处理中发挥着重要作用，也是其 &#8230; <a href="http://www.bio-info-trainee.com/2214.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div>R语言的重要性我也就不再赘述了，它不仅在生物信息数据处理中发挥着重要作用，也是其它主流数据处理人士的首选工具。现在非常多的半路出家自学生物信息学的小伙伴必须学而且有可能学的就是R，所以写一个R的系统性入门指导是非常有必要的。这本来应该是我下面的生信分析人员如何系统入门编程语言的姊妹篇的，但是因为时隔太久，我的感悟可能发生了变化，所以这个R跟前面的两个看起来总结指引模式不太一样的。</div>
<div>
<h1><a title="Permalink to 生信分析人员如何系统入门perl？" href="http://www.bio-info-trainee.com/1667.html">生信分析人员如何系统入门perl？</a></h1>
<h1><a title="Permalink to 生信分析人员如何系统入门linux？" href="http://www.bio-info-trainee.com/1661.html">生信分析人员如何系统入门linux？</a></h1>
<p>我作为老一辈的生信工程师，所以喜欢perl一点，排斥python，其实呢，我也稍微看过一些python的语法，个人认为R和python几乎是一模一样的。R的特点就是内置了大量的函数，基本上你认识的英文单词都可以是一个函数，即使不是，你也可以自定义为函数。搞清楚了函数和变量，就可以看懂大部分的R代码了。<!--StartFragment --></p>
<p>下面是生信菜鸟团QQ群管理员赵云对这3种编程语言的心得体会！</p>
<div style="padding-left: 30px;">python跟perl都是高级语言， 两个开发的目的不同， perl更面向过程一些，优势是严谨，快。 python主流面向对象编程， 这个跟R类似， 数据结构等方面有些不同，但可以互相调用。 实际上以上三者之间可以互相调用部分功能。python的语法并不是很严谨，个人感觉，越偏向自然语言的编程语言越通俗但不严谨，以上，是跟C比较的。</p>
<div style="padding-left: 30px;"><!--StartFragment --></p>
<div style="padding-left: 30px;">R本身起源于S语言，是主要针对统计的， 也是面向对象的， 本质上，，是把一个比excel功能强大的软件归零化成了命令行吧.excel高级应用也是要编程的， 所以R的初级应用可以当成是没有用户交互界面的excel，细心一点， 把示例代码都打对，当功能强大但不好使版的excel吧， 这样至少心理上不会畏难跟抵触.</p>
<div style="padding-left: 30px;"><!--StartFragment --></p>
<div style="padding-left: 30px;">内部集成的越多，用户需要做的越少， 你用C画个图累死你， 用python得写几行， R一行就行了！</div>
<div style="padding-left: 30px;"><span style="color: #ff0000;"><strong>PS:菜鸟发言，如有误导，概不负责！</strong></span></div>
</div>
</div>
</div>
</div>
</div>
<p><span id="more-2214"></span></p>
<div> 接下来是我写的了：</div>
<p><b><span style="color: #ff0000;">必须要做的：</span></b></p>
<div>你首先肯定得安装R语言软件，然后推荐也安装一些R studio，在R studio里面写代码会比较方便。</div>
<div>下载R语言的软件：</div>
<div>•<a href="https://cran.r-project.org/bin/windows/base/">https://cran.r-project.org/bin/windows/base/</a></div>
<div>•下载Rstudio这个R编辑器:</div>
<div>•<a href="https://www.rstudio.com/products/rstudio/download/">https://www.rstudio.com/products/rstudio/download/</a></div>
<div>然后我就要强调help函数了，你必须要把help函数用一百次以上，不然你不可能入门的！你必须要自学R语言基础，或者看书，或者看视频，或者有人手把手教你，<b><span style="color: #ff0000;">书的话，我推荐：</span></b></div>
<div>
<div><b><span style="color: #ff0000;">《R in Action》</span></b></div>
<div><b><span style="color: #ff0000;">《The Art of_R Programming》</span></b></div>
</div>
<div><b><span style="color: #ff0000;"> </span></b></div>
<div>R的特性就是有着大量的包，所以你必须学会安装包：</div>
<div>
<div>安装包 install.packages(" xxxxxx  ")</div>
<div>加载包 library( xxxxx )</div>
<div>查看包的帮助文档help("xxxxx") 或?xxxxx</div>
<div>获取当前工作区间getwd()</div>
<div>更改工作区间 setwd( "xxxxxx")</div>
<div>清除当前对象rm()</div>
</div>
<div>安装包你一定会遇到错误，请参考： <a href="http://www.biotrainee.com/thread-144-1-1.html" target="_blank">R包终极解决方案！</a> ，还有<a title="Permalink to R的包（package）" href="http://www.bio-info-trainee.com/579.html">R的包（package）</a></div>
<div></div>
<p>上面的书籍都会提供一些简单的测试代码，你跟着傻瓜式的敲代码就好，但是实践的过程中，请务必注意一些英文单词file 文件路径 Description简述 Usage用法 Arguments参数 Details详细  value 数值 Examples例子 header 表标题 logical_value 逻辑值 delimiter 分隔符 object 对象 col列 row 行 vector向量 dimensions维度 data数据 。</p>
<div><b><span style="color: #ff0000;"> </span></b></div>
<div><b><span style="color: #ff0000;">首先你要明白的是变量：</span></b></div>
<div>
<div>向量和因子，我懒得说了。(向量特简单，没什么好说的，因子太复杂了，我说不清楚，你们慢慢理解。)</div>
<div>数据框–就像我们的表格,第一行就是每一列的名字,我们称之为字段,或者变量名.那么对应每列下面的数据就叫做记录或者观测.用data.frame( 字段1,字段2,…. )创建</div>
<div>列表–与数据框类似,区别就是每一列向量类型和长度可以不一致.用list( 字段1, 字段2,….. )创建</div>
<div>数组–其形式就像我们玩的模方,每一个面都是一个矩阵数据,用array(数据,各维度的最大值,各维度的名称)</div>
</div>
<div></div>
<p><b><span style="color: #ff0000;">然后要了解对这些变量的基础操作函数：</span></b></p>
<div>变量怎么来，对它们处理什么？</div>
<div>
<div>我们处理生物信息学数据一般很少会手动创建这些对象，都是从文本里面读取，比如kegg数据库文件，差异分析结果，RNA-seq的表达量矩阵，但是读入之后，我们的重点就是知道它们变成了什么，该如何去一步步的转换它们。</div>
<div>数据的特性函数也必须要知道，无非就是一些英文单词而已，你经常的玩一下，就慢慢的熟练了。str,class,names,row.names,col.names,length,unique,view,min,max,summay,table</div>
</div>
<div></div>
<p><b><span style="color: #ff0000;">可视化你的变量：</span></b></p>
<div>
<div>了解了R里面的基础变量和对象，也学会了对它们进行简单的转换，接下来就可以尝一尝R的甜头了，对任何数据都可以可视化，简简单单的就可以画一大堆的图。</div>
<div>plot,boxplot,barplot,pie,hist,pair,它们每个绘图函数都有自己要求的输入数据，特定的可视化结果，请务必在还没熟练使用之前help一下它们，自己主动查看它们好玩的地方，好好自学。</div>
<div>dev.new()新建画板</div>
<div>plot()绘制点线图,条形图,散点图.</div>
<div>barplot( ) 绘制条形图</div>
<div>dotchart( ) 绘制点图</div>
<div>pie( )绘制饼图.</div>
<div>pair( )绘制散点图阵</div>
<div>boxplot( )绘制箱线图</div>
<div>hist( )绘制直方图</div>
<div>scatterplot3D( )绘制3D散点图.</div>
<div>低级绘图函数:</div>
<div>par()　可以添加很多参数来修改图形</div>
<div>title( )　添加标题</div>
<div>axis( )　调整刻度</div>
<div>rug( )　添加轴密度</div>
<div>grid( )　添加网格线</div>
<div>abline( )　添加直线</div>
<div>lines( )　添加曲线</div>
<div>text( )　添加标签</div>
<div>legend(）　添加图例</div>
<div>它们还有一系列的绘图参数，坐标轴，图例，颜色，性状，大小，空白，布局，非常繁琐，想掌握，花费的时间会非常多，但是很多人直接跳到ggplot的绘图世界了，不想搞那么多底层绘图代码。</div>
<div>但是我看过一个底层R绘图集大成者，就是Combining gene mutation with gene expression data improves outcome prediction in myelodysplastic syndromes文章的作者的github里面有。</div>
<div></div>
<div>但是对大部分人来说，生信的绘图，都是有套路的，其实都被别人包装成函数了，做好数据，一个函数就出了所有复杂的图。比如热图，cluster等等</div>
</div>
<div></div>
<p><b><span style="color: #ff0000;">数据对象的一些高级操作</span></b></p>
<div>
<div>前面我们对向量，数据框，数组，列表都了解了，也知道如何查看数据的特性，但是要进行高级转换，就需要一些时间来学习apply系列函数，aggregate,split等函数的用法，这是一个分水岭，用好了你就算是R入门了。也可以用一些包，比如reshape2，dplyr</div>
<div>当然，R里面的字符串对象是另外完全不一样的操作模式，建议大家自行搜索学习。</div>
</div>
<div></div>
<p><b><span style="color: #ff0000;">R的bioconductor世界</span></b></p>
<div>这个是生物信息学特有的，也是为什么我要求搞生物信息学数据处理的人必须学习R，就是为了应用大量的bioconductor包。在这里面所有的对象都不在是基础的向量，数据框，数组，列表了，而是S3，S4对象，这个高级知识点我就不推荐了，你学会了前面的东西，就有了自己的学习经验了，后面的分分钟就搞定了。(其实你永远也搞不定的)</div>
<div><b><span style="color: #ff0000;">每学一个bioconductor的包，都是自己R水平的提升，</span></b>大家可以参考我的博客：<a href="http://www.bio-info-trainee.com/tag/bioconductor">http://www.bio-info-trainee.com/tag/bioconductor</a> 我就是这样学习过来的。我还创建了bioconductor中国这个社区，可惜效果不好，有志者可以继续联系我，我们看看有没有可能做起来。</div>
<div></div>
<div>当然R肯定不只是应用在生物信息学啦，其实它在非常多的地方都有应用，尤其是金融和地理，在如何一个方向学习R，就不仅仅是R本身的语法了，你需要学习的东西太多了，我简单列出几个我接触过的方向吧：</div>
<div></div>
<div>
<div>统计，科学计算，数据挖掘，文本挖掘，基础绘图，ggplot绘图，高级编程，都有着丰富的书籍和视频资料，<b><span style="color: #ff0000;">尤其推荐炼数成金的R七种武器系列。(全套视频很容易找到)</span></b></div>
<div>《A Handbook of Statistical Analyses_Using_R》</div>
<div>《Modern Applied Statistics With S》</div>
<div>《Introduction to Scientific Programming and Simulation Using R》</div>
<div>《Mastering Scientific Computing with R》</div>
<div>《Practical Data Science with R》</div>
<div>《Data Mining explain using R》</div>
<div>《ggplot2 Elegant Graphics for Data Analysis》</div>
<div>《R Graphics Cookbook》</div>
<div>《R Cookbook》</div>
<div>《R in a Nutshell》</div>
<div>《R Programming for Bioinformatics》</div>
<div>《software for data analysis programming with R》</div>
<div>看完这些，你就是R大神了，当然，前提是你看懂了也会灵活应用。</div>
<div></div>
<div># 网络资源#</div>
<div>- [R语言官方站](<a href="http://www.r-project.org/)">http://www.r-project.org/)</a></div>
<div>- [R-blogger](<a href="http://www.r-bloggers.com/)">http://www.r-bloggers.com/)</a></div>
<div>- [R语言资源汇总](<a href="https://github.com/qinwf/awesome-R)">https://github.com/qinwf/awesome-R)</a></div>
<div>- [R语言搜索引擎](<a href="http://www.rseek.org/)">http://www.rseek.org/)</a></div>
<div>- [R函数在线帮助](<a href="http://www.rdocumentation.org/)">http://www.rdocumentation.org/)</a></div>
<div>- [关于R的问答网站](<a href="http://stackoverflow.com/questions/tagged/r)">http://stackoverflow.com/questions/tagged/r)</a></div>
<div>- [一个入门级的R在线教程](<a href="http://tryr.codeschool.com/)">http://tryr.codeschool.com/)</a></div>
<div>- [交互式的R在线教程](<a href="https://www.datacamp.com%29/">https://www.datacamp.com)</a></div>
<div>- [统计之都](<a href="http://cos.name/)">http://cos.name/)</a></div>
<div>- [我的博客](<a href="http://xccds1977.blogspot.com%29/">http://xccds1977.blogspot.com)</a></div>
<div>- [美国计算机世界杂志提供的Ｒ语言初学者入门资料](<a href="http://www.computerworld.com/s/article/9239625/Beginner_s_guide_to_R_Introduction)">http://www.computerworld.com/s/article/9239625/Beginner_s_guide_to_R_Introduction)</a></div>
<div>- 各种cheatsheet</div>
<div><a href="http://cran.r-project.org/doc/contrib/Short-refcard.pdf">http://cran.r-project.org/doc/contrib/Short-refcard.pdf</a></div>
<div><a href="http://www.rstudio.com/resources/cheatsheets/">http://www.rstudio.com/resources/cheatsheets/</a></div>
<div></div>
</div>
<div>最后借鉴一个生物信息学习方法：</div>
<div>
<div>知识和耐心，是成为强者的唯一方法。</div>
<div>- 通过阅读来学习。</div>
<div>包括了阅读经典的教材、代码、论文、学习公开课。</div>
<div>- 通过牛人来学习。</div>
<div>包括同行的聚会、讨论、大牛的博客、微博、twitter、RSS。</div>
<div>- 通过练习来学习。</div>
<div>包括代码练习题、参加kaggle比赛、解决实际工作中的难题。</div>
<div>- 通过分享来学习。</div>
<div>包括自己写笔记、写博客、写书、翻译书，和同伴分享交流、培训新人。</div>
</div>
<div></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bio-info-trainee.com/2214.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
