生物信息学常用工具介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正则表达式是一些特殊或不很特殊的字符串模式的集合。 字符集包括:普通字符集和元字符集(通配符)
普通字符集:大小写字母、数字、空格、下划线 ^ 行首 $ 行尾 * 一个单字符后紧跟*,匹配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-Z a-z]* 匹配任一非字母型字符:[^A-Z a-z] 包含八个字符的行:^……..$(8个.)
几个常见的例子:
Sed命令
命令格式
sed „/pattern/ action‟ files pattern: 正则表达式 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/g fruit_prices.txt‟ 使用多重sed sed –e „cmd1‟……-e ‟cmdN‟ files: sed –e „s/paech/peach/‟ –e „s/ *[0-9][0-9]\.[0-9][0-9]$/\$/‟ fruit_prices.txt 在管道中使用sed
示例:
如果记不住命令的用法
查看帮助文档: man
用法:man command
为什么要学习编程?
许多宣称自己在做生物信息学的研究者使 用他人提供的工具,且从不编程 那么,研究生物信息学是否需要编程? 太复杂了,学不会?
Linux基础
如何使用Linux Linux的用户界面 Linux基础命令 Linux文件系统 Linux文件属性 Linux文件备份和压缩 进程管理
键入命令
在命令提示符(shell)下,输入命令,然后按下 Enter键。 命令提示符识别大小写 如果找不到你输入的命令,会显示反馈信息: “Command not Found” 如果命令太长,要在第一行行尾键入“\”字符和 按下Enter键,在下一行的“>”后接着输入
生物信息学常用工具介绍
——Unix操作系统与Perl语言编程
杨桢: Yang Zhen 中国科学院上海生命科学研究院 计算生物学研究所 yangzhen@picb.ac.cn
生物信息学研究需要具备的技能
分子生物学的基础知识
有一两种分子生物学软件包的使用经历
— Emboss etc
在命令行计算环境下工作
使用Linux
开机 选择启动 注册 进入图形界面--startx 远程登陆Linux--telnet、ssh 注销--logout、exit 关机--shutdown、halt、reboot、poweroff
Linux文件系统
UNIX文件系统呈树形结构, 树的根结点 为根目录root,用/ 表示 树的叶结点可以 为普通文件、特殊文件、或者目录文件。 其它既非根结点也非叶结点的结点为目录 文件.
— Unix / Linux Shell
一门程序设计语言
— C/C++, Java, Perl, Python, etc
为什么要使用Unix/Linux操作系统?
功能强大,应用广泛 主要应用于高性能计算机 良好的多用户管理 与网络服务联系紧密:apache,php,WWW 服务 丰富的命令和应用程序(打包、免费)
Fra Baidu bibliotek
让cat指令从标准输入设备(如键盘)读取数据,转 而输出至标准输出设备(如显示器) $ cat 执行指令,不加任何参数 123 键入任何文字后,按下回车键 123 系统回应一模一样的文字 利用特殊字符“〉”将名称为file1与 file2 的文件合并 成一个文件file3: $ cat file1 file2 > file3 若文件file3已经存在,则其内容会被覆盖过去;欲 避免这种状况发生,可用“〉〉”代替“〉”,新的 内容就会附加在原有内容之后,而不会覆盖它。
Linux
天才大学生Linus Torvalds开发 用于 PC 的免费Unix 开放源代码,业余爱好者共同开发
它的出现,使得Unix成为一个低廉或免费的OS 系统资源消耗<<Windows or Mac
开发软件的接触平台,有用于计算机生物学和一 般性研究的丰富工具库
Linux图形界面
管理方式:基于Debian的pkg与基于Red Hat的RPM
Windows下运行Linux环境
Cygwin: cygwin是一个在windows平台上运行的 unix模拟环境,主要目的是通过重新编译,将 Linux、BSD,以及其他Unix系统上的软件移植到 Windows上。从而在windows环境下模拟该系统 虚拟机:指通过软件模拟的具有完整硬件系统功 能的、运行在一个完全隔离环境中的完整计算机 系统。 (VMware workstation)
常用Linux命令
查看目前所在位置: pwd
Pwd 的意义为 “打印当前工作目录(print working directory)
更改目录: cd
用法:cd pathname cd . cd ..
Linux文件系统
相关操作命令
文件及子目录名称列表--ls 显示一个文本文件的内容 – cat <文件名> 改变文件、目录名称,搬移整棵目录树 --mv <原文 件或子目录名称> <新名称> 删除文件 – rm <文件名> 复制文件 -- cp <带路径指引的源文件名称> <带路 径指引的目标文件名称> 创建新的子目录 – mkdir [<路径>/]<新目录名称> 删除目录 --rmdir <带路径指引的目录名称>
/ (root)
/bin
/dev
/etc
/lib
/tmp /usr /home
Linux文件名称
包含 大写键、小写键、数字、#、@、_ 不包含空格 不包含以下字符 * ? > < / ; $ \ „ “ 不能以 “+”或者“-”开头 区分大小写 最长文件名 255
基础命令
修改口令 Passwd <用户名> 查询及修改日期时间 date MMDDhhmm[[CC]YY][.ss] ,date后面的部分 是日期字符串,表示要修改的日期时间,MM代表 月份,DD代表日期,hh代表时,mm代表分,CC 代表年份的头两位,YY代表年份的后两位,[ ]表示 括号括住的内容是可以省略的(以下同),如果年 份被省略,则表示为当年,ss代表秒。 观看日历 cal [月] [年]
移动/重命名文件命令mv
mv命令用来把文件从一个位置移动到另外 一个位置,也可以从一个分区移动到另外一 个分区。
mv [源文件列表] [目标文件]
将文件file1改名为file #mv file1 file 将目录team01下的两个文件file1、file2移 到team02下。 #ls team01 team02 #mv team01/file1 file2 /team02
分屏显示文件命令more
more可将文件内容显示于屏幕上,每次只显 示一页。可以往下浏览,但无法向上浏览 , less指令可以上下浏览 。
more [选项] [文件名]
-<行数> 指定每次要显示的行数 +/<字符串> 在文件中查找选项中指定 的字符串,然后显示字符串所在该页的 内容 +<行数> 从指定的行数开始显示 -n 每次只显示n行 -c 不滚屏,在显示下一屏之前先清屏
在文件file1中查找“123”字符串,然后从 改页开始显示文件的内容: #more +/123 file1 显示文件file1的内容,每10行显示一次, 而且在显示之前先清屏。 #more –c –10 file1
显示文件的前几行命令head
在屏幕上显示指定文件的开头若干行。默认值 是10行。 head [选项] 文件名 -c N:显示前N个字节 -n N:显示前N行 #head –5 file
文件显示命令
cat more head tail
显示和合并文件 分屏显示文件 显示文件的前几行 显示文件的最后几行
显示和合并文件命令cat
可以结合多个文件,并将它们的内容输 出到标准输出设备。 cat [选项] [文件列表] -b 列出文件内容时,在所有非空白列之 开头标上编号,从1开始累加 -E 在每一列的最后标上“$”符号 -n 列出文件内容时,在每一列之开头标 上编号,从1开始累加
显示文件的最后几行命令tail
在屏幕上显示指定文件的末尾若干行。默认值 是10行。 tail [选项] 文件名 -c N:显示前N个字节 -n N:显示前N行 +N :从文件开头的第N行开始显示
比较文件内容命令
comm 比较两个已排过序的文件 diff 比较文件的差异
正则表达式 ——sed与awk的基础
示例:
awk命令
命令格式
awk „/pattern/ {actions}‟ files
字段编辑:awk –F: „{ print $1,$3}‟ inputfiles 或:awk –F: „{ printf “%s is %s\n”,$1,$3}‟ inputfiles 执行指定模式的操作: awk „/ *\$[1-9][0-9]*\.[0-9][0-9] */ {print $0; next} /*\$0\.[09][0-9] */ {print $0}‟ fruit_prices.txt 比较操作符:<、>、<=、>=、==、!=、value ~ /pattern/ 、value !~ /pattern/ (相关:&&、||) awk „($2 ~ /^\$[1-9][0-9]*\.[0-9][0-9]$/) && ($3 < 75)‟ { printf “……”}‟ input_f 利用管道符将标准输入作为输入
基于命令行
桌面环境: GNOME KDE ,类似于Windows
有哪些可用的Linux发行版?
Red Hat http://www.redhat.com Fedora Core http://fedora.redhat.com SusSE http://www.novell.com/linux/suse Debian http://www.debian.org Ubuntu http://ubuntulinux.org CentOS http://www.centos.org ……
删除文件或目录rm
从文件系统中删除文件及整个目录 rm [选项][文件列表] -r 删除文件列表中的目录 -i 指定交互模式。在执行删除前提示确认 。 文件列表:希望删除的用空格分隔的文 件列表,可以包括目录名
删除一个文件file1 #rm file1
使用-i选项 #rm -i file1 rm: remove `file1'? Y #
通配符与多文件操作 硬链接 符号链接
复制文件或目录命令cp
cp命令用来复制文件。在缺省的情况下,这 个命令工作的时候不做任何显示;只有在出 现一个错误情况的时候才显示状态信息。
cp [源文件名] …… [目标文件名] cp –r [源目录名] [目标目录名]
将file1,file2复制到team01目录里,再将 team01目录复制到team02目录里。 #cp file1 file2 team01 或 #cp file* team01 #cp –r team01 team02