碎碎念:今天马拉松入门课程已经结课了,而我才补课到12天,呜呼!原本觉得自己R学的很好想直接跳到转录组,没有linux的基础根本听不懂,还得一步一步慢慢来。直播课连上3小时已经很难坚持了,补课的时候没有互动更加难熬,唯一的好处是听不懂的地方可以反复拖回来看,只能用这个勉强安慰一下自己了(;′⌒`)
今天是进一步学习Linux命令的一天呢!
查看文本文件的内容,输出到屏幕
会把全部文件都打印出来
打开大文件有被刷屏的风险
-A 打印所有内容,包括特殊字符,如制表符,可以使用看空格是空格还是tab键
例如 $ 换行符,见于行末或文件末
-n 显示行号
-b 显示行号,但跳过空行
是一个粗糙的向文件内写内容的工具
cat >file,可以建立一个file并向内写内容,ctrl+C退出
zcat 查看压缩文件,也可以用来区分是不是压缩文件(用于压缩文件后缀名被修改的情况,用cat打开是乱码但是zcat不是乱码)
tac 逆向查看
看文件的前/末10行
head -n 100 或head -100 +文件名 看前100行
cat Data/example.fq | head -n 3
|:管道符,类似R中的%>%,前面输出数据作为后面的输出
more Data/sample.fq
特点是左下角有more 的标识,回车按行翻或者空格翻页,按q结束
和cat相似,但是更自由
less +文件名
不会左下角有less标识,操作逻辑和more相同
-N 显示行号
-S 单行显示一行,按方向键调节查看
/keyword 查询一个关键词,把关键词高亮
n向下查看/N向上查看
特点是不打印出来,只能看到自己操作过
less Data/example.fq | head -n 3
此时就会打印到屏幕上
wc readme.txt
6行,29个字符串(以空格分隔,左括号后面没有空格时,整个括号内为一个字符串)209个字符
-l 看多少行
给多个文件的时候,会对每个文件计数,并告诉我们total
cat打开| wc 时,使用管道符就不显示文件名
文本切割,类似R中的str_split
-d 指定分隔符,默认tab键,即\t
-f 输出哪几列(必须的函数),顺序不能变,多行用-连接
less -SN Data/example.gtf | cut -f 7,1,3-5 | head
排序
-n 按照数值从小到大进行排序
-V 字符串中含有数值时,按照数值从小到大排序(大写)
-r 逆向排序
-k 指定按哪一列排序
-t 指定分隔符
less -SN Data/example.gtf | sort -k 3 | less -SN
单独-k时把一列按照字符串从左向右大小顺序比较,不是按照数值来排序
less -SN Data/example.gtf | sort -k 4 -n | less -SN
按第3列逆向,第4列顺向
less -SN Data/example.gtf |sort -k3,3r -k4,4n | less -SN
去重,但只能去掉相邻的重复行,因此需要先sort,再uniq
-c 统计次数
合并,类似R中的cbind
cat file1 file2 或 cat file1 file2 >file3 ,可以起到类似rbind的效果
paste file1 file2,此时默认tab键为行的分隔符
-d 指定分隔符
-s 按行合并,相当于各个文件的t()之后再合并
另一个常见用法
seq 20 | paste - -
两个横线就是变两列,4个横线就是变4列,必须有空格
字符替换
tr '<pre>' '<des>'
tr 'a' 'A'
tr 'a-z' 'A-Z'
-d 删除指定字符,因为tr的第二个位置不能为空
-s 缩减连续重复字符
Linux自带的编辑器,功能强大
相当于rstudio或者vs code,用的最多的是最原本的文本编辑器功能
用法:vim Filename
注意全部输入法都是英文的
可以用方向键或hjkl移动光标
^行首,¥行尾
30j,向下30行
ctrl+f/b 上下翻页
gg快速到第一行第一个字符
G 快速到文件底部 或者用英文状态下的和
x剪切
100x,在这一行剪切100
p贴回来,P也可以
dd 剪切所在行
10dd 剪贴10行
yy复制,会保留在这里
10yy复制10行
u复原前一个动作,already at oldest change,代表到了最原始的
ctrl+r重做上一个动作
按i进入编辑模式,左下角有INSERT提示
或者按o进入且新开一行开始输入
按esc退出
编辑模式和末行模式不互通,需要esc退出之后才可以转换
按: 进入末行模式
:w 保存
:wq 保存并退出::
:q 退出
:q! 不报错直接退出
/+关键词 检索关键词,但是只在关键词首位高亮,用n和N在关键词间跳转
替换:
1、%s/原始内容/替换目标内容/g 全局替换
2、s/原始内容/替换目标内容/g 替换光标所在行,/也可以用任何3个一样的东西就可以
3、s/原始内容/替换目标内容/ 替换光标所在行的第一次
set nu 显示行号
set nonu 取消行号
set list 显示不可见字符 (分辨制表符和空格)
set nolist 取消显示不可见字符:
set nowrap 可以在一行显示一整行
不同平台关于回车键的设置都是不一样的,存在格式问题需要转换,方式:vim编辑器下,:set ff=unix
windows下的格式转换为unix格式,dos2nuix <file>
unix2dos unix到winds
mac2unix,unix2mac,也是转换
vim编辑了文件之后会生成一个<filename>.swp文件缓冲,当多处编辑或出现问题会有提示出现.swp文件,处理完成后手动删除.swp文件
退出vim编辑器,输入vimtutor可以进入教程,学习完毕大约需要20-35分钟
vimtutor zh_CN
fasta
fastq
gff/gtf
sam bam bed vcf
fa, fas, fna, faa
一种基于文本用于表示核酸序列或多肽序列的格式,缩写为fa
特征:两部分,id行和序列行
-id行,以“>”号开头,有时候会包含注释信息,如 chr1、chr2
-序列行,一个字母表示一个碱基/氨基酸,ATCGN或20种氨基酸,N代表有一个碱基但是不清楚是什么,如果没有N会有移码突变,这部分内容直到下一个“>”结束
缩写为fq
保存生物序列(通常为核酸序列)及测序质量得分信息,通常由4行组成:
第一行:@开题,之后为序列的标识符及描述信息
第二行:序列信息,如ATCG,和fa不同,不能写不完就折到下一行
第三行:以+开头,之后可以再次加上序列的标识及描述信息(保留行),新的数据一般只有+,老数据可能有其他字符
第四行:碱基质量值,与第二行的序列相对应,长度必须相同,否则是损坏的文件
基因组注释文件
只有CDS在frame这一列是有数值的
无论正链还是负链,都是起始位置<终止位置,因为是从5'到3'
3层嵌套格式,gene-mRNA-UTR,exon、CDS、lnRNA等都是从属于mRNA的
gtf 和gff相似,唯一的差别在attribus,用空格分隔属性内容,且必须有gene_id和transcript_id,一般用gtf格式
gtf可以做gene水平和转录本水平两个层面进行比较,可能基因水平相似,但是转录本水平有差别
让gtf看的时候每列对齐的代码
less -SN Data/sample.gtf | colum -t | less -S
1、fq文件有4000行
2、bc可以计算给定字符的功能,linux特有
3、md5是一个检验文件完整性的文件,只有内容完全相同的才有相同的md5编码,哪怕增加的是空格或者空行也会发生改变
4、linux中多用单引号‘’,部分情况下单引号和双引号的含义有差别
生信技能树,生信马拉松,卖萌哥
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有