《《python分析》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《python分析》PPT课件.ppt(29页珍藏版)》请在三一办公上搜索。
1、Python 简介,Python(英语发音:/pan/),是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C+)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C+重写。,由于Python语言的简洁、易读以及可扩展性,在国外用Python做科
2、学计算的研究机构日益增多,一些知名大学已经采用Python教授程序设计课程。例如卡耐基梅隆大学的编程基础和麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至
3、开发科学计算应用程序。,优点简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。易学:Python极其容易上手,因为Python有极其简单的说明文档4。速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。高层语言:用Python语言编写程序的时候无需
4、考虑诸如如何管理你的程序使用的内存一类的底层细节。可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。,解释性:一个用编译性语言比如C
5、或C+写的程序可以从源文件(即C或C+语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C+编写,然后在Python程序中使用它们。可嵌入性:可以把Python嵌入C/C+程序,从而向程序用户提供脚本功能。丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数
6、据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。规范的代码:Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。,缺点单行语句和命令行输出问题:很多时候不能将程序连写成一行,如import sys;for i in sys.path:print i。而perl和awk就无此限制,可以较为方便的在shel
7、l下完成简单程序,不需要如Python一样,必须将程序写入一个.py文件。独特的语法 这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。运行速度慢:这里是指与C和c+相比。,Python的版本2.X3.X,系统要求:Linux,4-8G内存建议至少4 core以上软件要求:1.bowtie,短序列mapping程序,速度快,支持多线程Python 2.7,脚本语言BiopythonMatplotlib,支持python的强大绘图库Scip
8、y,支持Python的强大科学计算库R(用于 DESeq)流行生物信息学编程语言的选择for biologist:,最常用LINUX命令:1.更换目录:cd2.拷贝:cp3.删除:rm4.创建目录:mkdir5.查看文件:cat6.编辑文件:vim7.重定向:8.管道|9.grep10.sed11.awk比如:#cat 1.txt|grep 123A i 2.txt#cat 1.fa|grep ATCGTGATG B 1-i#sed i s/U/T/g miBA.fa#awk print$1,$2 1.txt,t 表示制表符n 表示换行符,Biopython,Biopython计划是一个使用p
9、ython来开发计算分子生物学工具的国际社团。该网址提供一个在线的基于python的生命科学研究的模块,脚本和网络链接。基本来说,我们喜欢使用python来编程,并且希望对生物信息学来说尽量容易的使用python创建高质量,可重用的模块和脚本。包括高通量测序数据分析,基因表达聚类,染色体作图,BLAST结果解析,进化分析等。,目录准备:$mkdir python$cd python$cp/home/seq.exp.$cat seq.exp,编写你的第一个python程序:$echo print“hello world!”hello.py$python hello.py,常用语句:a=1b=“I
10、 love you!”c=d=a+=1,主要学习内容:列表字典split函数printimportfor 循环If语句sys.argv命令行参数调用文件的读取,16,3、将seq.exp文件中挑选出序列数目大于等于15的,并将挑选出的序列转换成如下的fasta格式!生成:seq.fasta,awk$3=15print$0 seq.exp|awk print$1_$3n$2 seq.fasta,例1:,GEO文件 Fasta文件,import sysn=0for i in open(sys.argv1):n+=1 if n2:line=i.split(t)print read_+str(n-2)
11、+str(line2):-1 print line0,python编程,#python geo.py geo.txt geo.fa,例2:将序列进行无冗余化:字典的应用将/home下的nr_seq.seq拷贝到你的目录下。,redundant,unique,例2:将序列进行无冗余化:字典的应用将/home下的nr_seq.seq拷贝到你的目录下。,nr.py,例3 从fasta文件中(基因组数据中)下载部分序列(已知染色体号和序列位置),列表的例子,a-1:?,$cat/home/Gmax_189.fa|more,Idea:Step 1:读取fasta文件,用biopythonStep 2:找到染色体号以及对应的序列,用列表直接得到,练习,序列的基本分析序列起始碱基,Step 2,fasta文件的基本分析,Idea:,纯序列文件,不考虑冗余问题。读每一行,判断第一个碱基的类型,然后加1.,print“Rate:%.2f”%(a*100.0/t),