您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 生物信息学常用工具介绍
生物信息学常用工具介绍——Unix操作系统与Perl语言编程杨桢:YangZhen中国科学院上海生命科学研究院计算生物学研究所yangzhen@picb.ac.cn生物信息学研究需要具备的技能分子生物学的基础知识有一两种分子生物学软件包的使用经历—Embossetc在命令行计算环境下工作—Unix/LinuxShell一门程序设计语言—C/C++,Java,Perl,Python,etc为什么要使用Unix/Linux操作系统?功能强大,应用广泛主要应用于高性能计算机良好的多用户管理与网络服务联系紧密:apache,php,服务丰富的命令和应用程序(打包、免费)Linux天才大学生LinusTorvalds开发用于PC的免费Unix开放源代码,业余爱好者共同开发它的出现,使得Unix成为一个低廉或免费的OS系统资源消耗WindowsorMac开发软件的接触平台,有用于计算机生物学和一般性研究的丰富工具库Linux图形界面基于命令行桌面环境:GNOMEKDE,类似于Windows有哪些可用的Linux发行版?RedHatFedoraCoreSusSEDebianUbuntuCentOS……管理方式:基于Debian的pkg与基于RedHat的RPMWindows下运行Linux环境Cygwin:cygwin是一个在windows平台上运行的unix模拟环境,主要目的是通过重新编译,将Linux、BSD,以及其他Unix系统上的软件移植到Windows上。从而在windows环境下模拟该系统虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。(VMwareworkstation)Linux基础如何使用LinuxLinux的用户界面Linux基础命令Linux文件系统Linux文件属性Linux文件备份和压缩进程管理键入命令在命令提示符(shell)下,输入命令,然后按下Enter键。命令提示符识别大小写如果找不到你输入的命令,会显示反馈信息:“CommandnotFound”如果命令太长,要在第一行行尾键入“\”字符和按下Enter键,在下一行的“”后接着输入使用Linux开机选择启动注册进入图形界面--startx远程登陆Linux--telnet、ssh注销--logout、exit关机--shutdown、halt、reboot、poweroffLinux文件系统/(root)/bin/dev/etc/lib/tmp/usr/homeUNIX文件系统呈树形结构,树的根结点为根目录root,用/表示树的叶结点可以为普通文件、特殊文件、或者目录文件。其它既非根结点也非叶结点的结点为目录文件.Linux文件名称包含大写键、小写键、数字、#、@、_不包含空格不包含以下字符*?/;$\‘“不能以“+”或者“-”开头区分大小写最长文件名255基础命令修改口令Passwd用户名查询及修改日期时间dateMMDDhhmm[[CC]YY][.ss],date后面的部分是日期字符串,表示要修改的日期时间,MM代表月份,DD代表日期,hh代表时,mm代表分,CC代表年份的头两位,YY代表年份的后两位,[]表示括号括住的内容是可以省略的(以下同),如果年份被省略,则表示为当年,ss代表秒。观看日历cal[月][年]常用Linux命令查看目前所在位置:pwd更改目录:cdPwd的意义为“打印当前工作目录(printworkingdirectory)用法:cdpathnamecd.cd..Linux文件系统相关操作命令文件及子目录名称列表--ls显示一个文本文件的内容–cat文件名改变文件、目录名称,搬移整棵目录树--mv原文件或子目录名称新名称删除文件–rm文件名复制文件--cp带路径指引的源文件名称带路径指引的目标文件名称创建新的子目录–mkdir[路径/]新目录名称删除目录--rmdir带路径指引的目录名称通配符与多文件操作硬链接符号链接复制文件或目录命令cpcp命令用来复制文件。在缺省的情况下,这个命令工作的时候不做任何显示;只有在出现一个错误情况的时候才显示状态信息。cp[源文件名]……[目标文件名]cp–r[源目录名][目标目录名]将file1,file2复制到team01目录里,再将team01目录复制到team02目录里。#cpfile1file2team01或#cpfile*team01#cp–rteam01team02移动/重命名文件命令mvmv命令用来把文件从一个位置移动到另外一个位置,也可以从一个分区移动到另外一个分区。mv[源文件列表][目标文件]将文件file1改名为file#mvfile1file将目录team01下的两个文件file1、file2移到team02下。#lsteam01team02#mvteam01/file1file2/team02删除文件或目录rm从文件系统中删除文件及整个目录rm[选项][文件列表]-r删除文件列表中的目录-i指定交互模式。在执行删除前提示确认。文件列表:希望删除的用空格分隔的文件列表,可以包括目录名删除一个文件file1#rmfile1使用-i选项#rm-ifile1rm:remove`file1'?Y#文件显示命令cat显示和合并文件more分屏显示文件head显示文件的前几行tail显示文件的最后几行显示和合并文件命令cat可以结合多个文件,并将它们的内容输出到标准输出设备。cat[选项][文件列表]-b列出文件内容时,在所有非空白列之开头标上编号,从1开始累加-E在每一列的最后标上“$”符号-n列出文件内容时,在每一列之开头标上编号,从1开始累加让cat指令从标准输入设备(如键盘)读取数据,转而输出至标准输出设备(如显示器)$cat执行指令,不加任何参数123键入任何文字后,按下回车键123系统回应一模一样的文字利用特殊字符“〉”将名称为file1与file2的文件合并成一个文件file3:$catfile1file2file3若文件file3已经存在,则其内容会被覆盖过去;欲避免这种状况发生,可用“〉〉”代替“〉”,新的内容就会附加在原有内容之后,而不会覆盖它。分屏显示文件命令moremore可将文件内容显示于屏幕上,每次只显示一页。可以往下浏览,但无法向上浏览,less指令可以上下浏览。more[选项][文件名]-行数指定每次要显示的行数+/字符串在文件中查找选项中指定的字符串,然后显示字符串所在该页的内容+行数从指定的行数开始显示-n每次只显示n行-c不滚屏,在显示下一屏之前先清屏在文件file1中查找“123”字符串,然后从改页开始显示文件的内容:#more+/123file1显示文件file1的内容,每10行显示一次,而且在显示之前先清屏。#more–c–10file1显示文件的前几行命令head在屏幕上显示指定文件的开头若干行。默认值是10行。head[选项]文件名-cN:显示前N个字节-nN:显示前N行#head–5file显示文件的最后几行命令tail在屏幕上显示指定文件的末尾若干行。默认值是10行。tail[选项]文件名-cN:显示前N个字节-nN:显示前N行+N:从文件开头的第N行开始显示比较文件内容命令comm比较两个已排过序的文件diff比较文件的差异正则表达式——sed与awk的基础正则表达式是一些特殊或不很特殊的字符串模式的集合。字符集包括:普通字符集和元字符集(通配符)普通字符集:大小写字母、数字、空格、下划线^行首$行尾*一个单字符后紧跟*,匹配0个或多个此单字符[]匹配[]内字符,可以是一个单字符,也可以是字符序列。可以使用”-“来表示[]内范围,如[1-5]等价于[1,2,3,4,5]。\屏蔽一个元字符的特殊含义,如\$表示字符$,而不表示匹配行尾。.匹配任意单字符几个常见的例子:显示可执行的文件:ls–l|grep…x...x..x不包括文件夹:ls-l|grep\-..x..x..x只显示文件夹:ls–l|grep^d匹配所有的空行:^$匹配所有的单词:[A-Za-z]*匹配任一非字母型字符:[^A-Za-z]包含八个字符的行:^……..$(8个.)Sed命令命令格式sed‘/pattern/action’filespattern:正则表达式action:操作,包括p、d、s示例:打印行:sed–n‘/0\.[0-9][0-9]$/p’fruit_prices.txt删除行:sed‘/^[Mm]ango/d’fruit_prices.txt执行替换/pattern1/s/pattern2/pattern3/g:sed‘s/paech/peach/gfruit_prices.txt’使用多重sedsed–e‘cmd1’……-e’cmdN’files:sed–e‘s/paech/peach/’–e‘s/*[0-9][0-9]\.[0-9][0-9]$/\$/’fruit_prices.txt在管道中使用sedawk命令命令格式awk‘/pattern/{actions}’files示例:字段编辑:awk–F:‘{print$1,$3}’inputfiles或:awk–F:‘{printf“%sis%s\n”,$1,$3}’inputfiles执行指定模式的操作:awk‘/*\$[1-9][0-9]*\.[0-9][0-9]*/{print$0;next}/*\$0\.[0-9][0-9]*/{print$0}’fruit_prices.txt比较操作符:、、=、=、==、!=、value~/pattern/、value!~/pattern/(相关:&&、||)awk‘($2~/^\$[1-9][0-9]*\.[0-9][0-9]$/)&&($375)’{printf“……”}’input_f利用管道符将标准输入作为输入如果记不住命令的用法查看帮助文档:man用法:mancommand为什么要学习编程?许多宣称自己在做生物信息学的研究者使用他人提供的工具,且从不编程那么,研究生物信息学是否需要编程?太复杂了,学不会?什么是PerlPracticalExtractionandReportLanguage—实用提取报表语言为什么选择Perl1.脚本语言,与PHP,Python同类2.不需要编译器,直接运行3.强大的文本处理能力4.简单易学容易掌握5.强大的正则表达式功能6.胶水语言缺点:代码执行速度时间偏慢,约为C语言的五倍如何获得PerlWindows环境:ActivePerl安装:直接双击安装程序图标Linux:默认安装如何运行perlWindows命令行基本目录1.cd,进入目录cd..进入上一层目录2..C:D:E:…改变盘符,进入其他硬盘分区3.dir察看目录中的文件内容4.cls清除屏幕进入Perl的安装目录一个简单的例子一个生物信息学的例子一串序列中查找是否存在非DNA字符输出结果在没有正则表达式的语言中这个任务将非常繁琐#!/usr/bin/perl#检测非DNA字符my$dna=CCACACCACACCFACCACCGCCTTCCACT
本文标题:生物信息学常用工具介绍
链接地址:https://www.777doc.com/doc-3807093 .html