Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >生信马拉松 Day12 Linux-2笔记

生信马拉松 Day12 Linux-2笔记

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

碎碎念:今天马拉松入门课程已经结课了,而我才补课到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
AI代码解释
复制
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
AI代码解释
复制
less Data/example.fq | head -n 3   

此时就会打印到屏幕上

4、wc,word count

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

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

-l 看多少行

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

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

5、cut

文本切割,类似R中的str_split

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

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

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

6、sort

排序

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

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

-r 逆向排序

-k 指定按哪一列排序

-t 指定分隔符

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

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

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

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

代码语言:sh
AI代码解释
复制
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
AI代码解释
复制
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
AI代码解释
复制
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux学习笔记03-20240517
-d 制定分隔符,默认是tab空格,用 \t 表示,但不只可以指定标点符号位分隔符,也可指定字母或者数字等字符为分隔符;
迟到小王
2024/05/17
890
linux day2:文本查看、操作、统计命令
-n:按照数值从小到大进行排序 -V:字符串中含有数值时,按照数值从小到大排序 -r:逆向排序
不会写代码的医学生
2024/03/19
1060
生信马拉松 Day13 Linux-3笔记
实际容忍度很高,pattern写在左后,或者options写在pattern后面都可以
阿呆的月历
2024/02/04
1700
从零开始的异世界生信学习 linux部分 linux 基础---学习笔记-2
常见参数:-A ## 打印所有内容,包括特殊字符,如制表符; -n ##答应所有出行号,-b 参数 仅打印出非空白行行号
用户10361520
2023/02/16
5560
Linux_文件查看、操作、统计命令
Linux_文件查看、操作、统计命令 文件的6种看法 (1)head :查看文件头10行 (2)tail:查看文件末尾10行 head / tail -n :查看文件的前/后 n 行,默认 10 行 例如:head -n 2 Data/example.fq (3)cat:查看文本文件的内容,将文件所有内容输出到屏幕 常见参数 -A ## 打印所有内容,包括特殊字符,如制表符 -n ## 打印出所有行号,-b 参数仅打印非空白行行号 常见用法: cat #输入 cat > file1 #重定向,往fi
大胖橘
2023/03/25
1.7K0
Linux学习笔记-Day11-12
-options:选项,用来对命令进行控制,也可省略 #两种格式:-h, --help
用户11190095
2024/07/17
1590
Linux文本编辑器vim的使用2-14
Vim的三种模式: 命令模式 编辑模式 末行模式 vim [file] 进入命令模式后,使用”i“,进入编辑模式,按ese退出,返回命令模式 进入命令模式后,使用”:“,进入末行模式,按ese退出,返回命令模式 命令模式可以干什么? 编辑模式可以干什么? 末行模式可以干什么? 1.保存并退出 :q! :wq :q :wq! 2.查询 :/关键词,n向下翻 N向上翻 3.set :set nu #显示行号 :set nonu #不显示行号 :set list #显示不可见的字符 :set ff=unix
Labetaloliiixxx
2023/03/03
3440
生信马拉松 Day16 转录组RNA-seq-1
今天开始学习转录组测序的上下游分析了,艰苦地学完Linux之后感觉生活又光明了!虽然Linux的命令还不太熟悉,只能先想要做什么再从笔记里搜搜关键词,但基本上能跟得上,不用像学Linux一样漏一分钟就要反复回放好多遍才听懂
阿呆的月历
2024/02/06
2860
Linux文本查看、操作、统计2-14
eg:当某些文件以多个空格开头,想要取里面某列的字符串 可以先缩减空格,使得每列的分隔只有一个空格,再以空格为分隔符,取第n列
Labetaloliiixxx
2023/03/02
1.1K0
Linux学习——vim
生信技能树学习笔记Vim编辑器——三种模式命令模式 末行模式 编辑模式图片命令模式vim Data/example.fq## 按 : set nu 显示行号## 方向键或hjkl移动光标## 30j:向下移动30行## ctrl + f或b:上下翻页## gg或G移到顶部或底部 或者 [[ 和 ]]## x剪切一个字符## 10x:剪切10个字符## dd:剪切所在行## 10dd: 剪切所在行及下方10行## yy:复制光标所在行## p或P:在当前行的下面、上面进行张贴## u:复原前一个动作(可以连
用户10328045
2023/02/17
4.7K0
Linux-生信技能树
gff/gtf:9列,序列名字,注释来源,基因结构,起始位置,终止位置,碱基测序结果可信度,链的+向与-向,密码子偏移,其他属性
用户9966449
2023/02/16
2.1K0
Linux_2
more 逐页查看,空格翻页 回车换行 q退出 /搜索关键词(n查看下一个,N查看上一个)
用户10407118
2023/03/23
3840
生物信息学常见数据格式以及文本处理(grep/sed/awk)
-r:在整个目录进行匹配 ⚠️在这里目录必须和指令放在一起 eg:grep "gene" -r Data/ (-r和目录必须相连)
顾卿岚
2023/02/20
1.5K0
从零开始的异世界生信学习 linux部分 linux 基础---学习笔记-3 Linux三剑客 grep,sed,awk
-w:word 精确查找某个关键词 pattern less -S Data/example.gtf | grep -w 'gene' ##匹配文件中含有gene的文字
用户10361520
2023/02/21
5670
Linux学习笔记-Day13
序列行:一个字母代表一个碱基/氨基酸,为ATCGN或20种氨基酸。#N代表在测序中无法确定具体是什么碱基
用户11190095
2024/07/28
1470
Linux基础 Day2
常见用法:1. paste file1 file2 2. seq 20 | paste - -
用户11008504
2024/06/01
1080
Linux - awk
默认的字段分隔符是任意空白字符(如空格或制表符),也可以用 -F 参数自定义分隔符
用户10328045
2023/02/18
3.8K0
Linux进阶 03 文本处理三驾马车
⭐重头戏来啦!真的很难很繁琐,每个命令下面又有许多个小参数,套娃!先记录下来以后要多看看~
可乐同学与生信死磕到底
2024/04/18
2301
3个学生的linux视频学习笔记
工欲善其事必先利其器,这一节课主要以Windows系统为例,介绍了用Linux编程之前需要下载并安装的软件:Xshell,git,markdown,Winscp,幕布以及notepad++。介绍了如何下载并安装R及R的操作软件Rstudio,在Rstudio里进行了简单的命令演示以及如何安装并调用包,需要注意的是,所有软件推荐从官网进行下载,并且在安装的时候默认进行,基本不需要改动任何选项。对于Windows用户要把所有软件装在C盘,对于Mac用户则默认安装,安装软件时勿出现中文路径。
生信技能树
2018/12/29
1.6K0
3个学生的linux视频学习笔记
Linux Vim编辑器的基本使用
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。
全栈程序员站长
2022/09/18
3.3K0
Linux Vim编辑器的基本使用
相关推荐
Linux学习笔记03-20240517
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档