前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生信马拉松 Day12 Linux-2笔记

生信马拉松 Day12 Linux-2笔记

原创
作者头像
阿呆的月历
发布2024-02-04 01:29:08
1040
发布2024-02-04 01:29:08
举报
文章被收录于专栏:生信马拉松生信马拉松

碎碎念:今天马拉松入门课程已经结课了,而我才补课到12天,呜呼!原本觉得自己R学的很好想直接跳到转录组,没有linux的基础根本听不懂,还得一步一步慢慢来。直播课连上3小时已经很难坚持了,补课的时候没有互动更加难熬,唯一的好处是听不懂的地方可以反复拖回来看,只能用这个勉强安慰一下自己了(;′⌒`)

今天是进一步学习Linux命令的一天呢!


内容一:文本查看,操作和统计

head/tail,cat/tac,less/more

wc,sort,uniq

cut,paste,tr


1、cat

查看文本文件的内容,输出到屏幕

会把全部文件都打印出来

打开大文件有被刷屏的风险

-A 打印所有内容,包括特殊字符,如制表符,可以使用看空格是空格还是tab键

例如 $ 换行符,见于行末或文件末

-n 显示行号

-b 显示行号,但跳过空行

是一个粗糙的向文件内写内容的工具

cat >file,可以建立一个file并向内写内容,ctrl+C退出

zcat 查看压缩文件,也可以用来区分是不是压缩文件(用于压缩文件后缀名被修改的情况,用cat打开是乱码但是zcat不是乱码)

tac 逆向查看

2、head/tail

看文件的前/末10行

head -n 100 或head -100 +文件名 看前100行

代码语言:sh
复制
cat Data/example.fq | head -n 3

|:管道符,类似R中的%>%,前面输出数据作为后面的输出

3、more/less

more Data/sample.fq

特点是左下角有more 的标识,回车按行翻或者空格翻页,按q结束

和cat相似,但是更自由

less +文件名

不会左下角有less标识,操作逻辑和more相同

-N 显示行号

-S 单行显示一行,按方向键调节查看

/keyword 查询一个关键词,把关键词高亮

n向下查看/N向上查看

特点是不打印出来,只能看到自己操作过

代码语言:sh
复制
less Data/example.fq | head -n 3   

此时就会打印到屏幕上

4、wc,word count

代码语言:sh
复制
wc readme.txt 

6行,29个字符串(以空格分隔,左括号后面没有空格时,整个括号内为一个字符串)209个字符

-l 看多少行

给多个文件的时候,会对每个文件计数,并告诉我们total

cat打开| wc 时,使用管道符就不显示文件名

5、cut

文本切割,类似R中的str_split

-d 指定分隔符,默认tab键,即\t

-f 输出哪几列(必须的函数),顺序不能变,多行用-连接

代码语言:sh
复制
less -SN Data/example.gtf | cut -f 7,1,3-5 | head

6、sort

排序

-n 按照数值从小到大进行排序

-V 字符串中含有数值时,按照数值从小到大排序(大写)

-r 逆向排序

-k 指定按哪一列排序

-t 指定分隔符

代码语言:sh
复制
less -SN Data/example.gtf | sort -k 3 | less -SN

单独-k时把一列按照字符串从左向右大小顺序比较,不是按照数值来排序

代码语言:sh
复制
less -SN  Data/example.gtf | sort -k 4 -n | less -SN

按第3列逆向,第4列顺向

代码语言:sh
复制
less -SN  Data/example.gtf |sort -k3,3r -k4,4n | less -SN

7、uniq

去重,但只能去掉相邻的重复行,因此需要先sort,再uniq

-c 统计次数

8、paste

合并,类似R中的cbind

cat file1 file2 或 cat file1 file2 >file3 ,可以起到类似rbind的效果

paste file1 file2,此时默认tab键为行的分隔符

-d 指定分隔符

-s 按行合并,相当于各个文件的t()之后再合并

另一个常见用法

代码语言:sh
复制
seq 20 | paste - -

两个横线就是变两列,4个横线就是变4列,必须有空格

9、tr

字符替换

tr '<pre>' '<des>'

tr 'a' 'A'

tr 'a-z' 'A-Z'

-d 删除指定字符,因为tr的第二个位置不能为空

-s 缩减连续重复字符


内容2:vim编辑器

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的其他知识

vim编辑了文件之后会生成一个<filename>.swp文件缓冲,当多处编辑或出现问题会有提示出现.swp文件,处理完成后手动删除.swp文件

退出vim编辑器,输入vimtutor可以进入教程,学习完毕大约需要20-35分钟

vimtutor zh_CN


内容3:生物信息学常见文件格式

fasta

fastq

gff/gtf

sam bam bed vcf

1、fasta

fa, fas, fna, faa

一种基于文本用于表示核酸序列或多肽序列的格式,缩写为fa

特征:两部分,id行和序列行

-id行,以“>”号开头,有时候会包含注释信息,如 chr1、chr2

-序列行,一个字母表示一个碱基/氨基酸,ATCGN或20种氨基酸,N代表有一个碱基但是不清楚是什么,如果没有N会有移码突变,这部分内容直到下一个“>”结束

2、fastq

缩写为fq

保存生物序列(通常为核酸序列)及测序质量得分信息,通常由4行组成:

第一行:@开题,之后为序列的标识符及描述信息

第二行:序列信息,如ATCG,和fa不同,不能写不完就折到下一行

第三行:以+开头,之后可以再次加上序列的标识及描述信息(保留行),新的数据一般只有+,老数据可能有其他字符

第四行:碱基质量值,与第二行的序列相对应,长度必须相同,否则是损坏的文件

3、gff

基因组注释文件

来自:生信技能树,生信马拉松,卖萌哥
来自:生信技能树,生信马拉松,卖萌哥

只有CDS在frame这一列是有数值的

无论正链还是负链,都是起始位置<终止位置,因为是从5'到3'

3层嵌套格式,gene-mRNA-UTR,exon、CDS、lnRNA等都是从属于mRNA的

4、gtf

来自:生信技能树,生信马拉松,卖萌哥
来自:生信技能树,生信马拉松,卖萌哥

gtf 和gff相似,唯一的差别在attribus,用空格分隔属性内容,且必须有gene_id和transcript_id,一般用gtf格式

gtf可以做gene水平和转录本水平两个层面进行比较,可能基因水平相似,但是转录本水平有差别

让gtf看的时候每列对齐的代码

代码语言:sh
复制
less -SN Data/sample.gtf | colum -t | less -S

TIPS

1、fq文件有4000行

2、bc可以计算给定字符的功能,linux特有

3、md5是一个检验文件完整性的文件,只有内容完全相同的才有相同的md5编码,哪怕增加的是空格或者空行也会发生改变

4、linux中多用单引号‘’,部分情况下单引号和双引号的含义有差别

生信技能树,生信马拉松,卖萌哥

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内容一:文本查看,操作和统计
    • head/tail,cat/tac,less/more
      • wc,sort,uniq
        • cut,paste,tr
          • 1、cat
          • 2、head/tail
          • 3、more/less
          • 4、wc,word count
          • 5、cut
          • 6、sort
          • 7、uniq
          • 8、paste
          • 9、tr
      • 内容2:vim编辑器
        • 命令模式
          • 编辑模式
            • 末行模式
              • vim的其他知识
              • 内容3:生物信息学常见文件格式
                • 1、fasta
                  • 2、fastq
                    • 3、gff
                      • 4、gtf
                      • TIPS
                      相关产品与服务
                      云直播
                      云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档