Linux系统是进行生物信息学分析的基石,许多生物信息学软件都是基于Linux系统开发的。所以学习Linux对于生物信息学分析尤为重要。
学习链接:https://research.biomart.cn/experiment/course_detail.htm?id=25&from=wechat_20190713
笔记承接上一篇
Linux---文本处理
Linux系统中的文件包括文本文件和非文本文件,因此文本处理尤为重要
文本处理之表格化操作和Linux三驾马车
文本处理之表格化操作
cut 、tr、sort、uniq、paste
cut的使用方法
cut:按照制定条件,从文件中的每一行提取字段
-b:指定选择的字节进行分隔
-c:以字符为单位进行分隔
-d:指定分隔符,选取字段时,需要选定指定的分隔符
-f:与-d一起使用,指定显示的区域
cut 默认使用Tab作为分隔符,因此在以制表符为间隔的时候,可以忽略-d选项
cut -f 2,3 Arabidopsis_thaliana.TAIR10.44.gff3|head
#查看拟南芥基因组注释文件gff3文件的第二列和第三列内容
araport11 gene
araport11 mRNA
araport11 five_prime_UTR
araport11 exon
araport11 CDS
araport11 exon
araport11 CDS
创建一个以空格为间隔符的文件
cat > test.txt
I love Linux
^C
#查看test文件文件的第二列
cut -d ' ' -f 2 test.txt
love
#查看一下/etc/passwd文件,并且以:为分隔,查看其第一列
cat /etc/passwd|cut -d':' -f 1 |head
root
daemon
bin
sys
sync
games
man
lp
mail
news
所以,由此可以看出cut在进行表格化操作时,需要使用者很明确的知道分隔符是哪一类。
因此,cut命令在处理多个空格时,尤其是既有空格又有制表符进行分隔时的文件处理时,就有一些捉襟见肘了。因此,cut只擅长处理以一个字符间隔的文本文件。
tr的使用方法
tr对于标准输入的字符进行替换、压缩和删除
主要的参数有
-c 替换
-d 删除
#对环境变量$PATH中的 :替换成换行符
echo $PATH|tr ':' '\n' |wc
/home/ubuntu/bin
/home/ubuntu/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
tr命令对文本操作大多数还是用来进行替换
sort的使用方法
sort将文本文件内容进行排序
主要参数有:
-n 将文本按照数值大小进行排序
-k 按第number列内容对文件进行排序
-r 反向排序
-t 指定分隔符
-u 去重复
#对拟南芥基因组注释文件按照第三列进行排序|单独提取出第三列|查看
sort -k 3 Arabidopsis_thaliana.TAIR10.44.gff3|cut -f 3 |less
gene
mRNA
five_prime_UTR
exon
CDS
exon
CDS
exon
CDS
exon
CDS
exon
uniq的使用方法
uniq 报告或者忽略文件中的重复行
主要参数
-c 每行第1列显示改行的重复次数
-d 仅显示有重复的行
-u 显示没有连续出现的行
在此需要注意,在linux中,sort 与 uniq 经常联用,否则uniq只能删掉临近的重复项。
paste使用方法
paste 可以合并多个文件(按行合并)
构建两个测试文件a.txt、b.txt
less a.txt
1
2
3
4
5
6
less b.txt
A
B
C
D
E
F
paste a.txt b.txt > c.txt
less c.txt
1 A
2 B
3 C
4 D
5 E
6 F









网友评论