Linux-NGS-二代测序分析流程

Linux 从开始到还没放弃(未完 更新中

2019-07-16  本文已影响24人  美式永不加糖

暴躁



基于课程《生物信息学之玩转 Linux》,由史上最大的生物信息学交流平台「生信技能树」联盟「丁香通」联合出品。

1. 云服务器

从购买云服务器开始

阿里云24岁以下自动认证为学生,用半杯奶茶钱薅到一把羊毛┗|`O′|┛

连接后会出现一个网页版的终端。

查看配置:

df -h

以 G 为单位查看内存:

free -g

查看线程:

cat /proc/cpuinfo

Xshell 连接服务器

命令操作:

ssh username@public IP 

或直接在这里输入输入公网IP👇

在跳出的窗口内输入密码即可。

2. 文件目录操作

目录结构

目录常用命令

文件命令

练习题

  1. 在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列

  2. 在创建好的文件夹下,创建文本文件 me.txt

  3. 在文本文件 me.txt 里面输入内容

    Go to: htttp://www.biotrainee.com/
    I love bioinformatics.
    And you?
    
    mkdir -p 1/2/3/4/5/6/7/8/9
    cd 1/2/3/4/5/6/7/8/9
    touch me.txt
    vi me.txt
    

    :wq 退出

  4. 删除上面创建的文件夹及文件

    cd -
    rm -r 1/2/3/4/5/6/7/8/9
    
  5. 在任意文件夹下面创建 folder 1-5 这5个文件夹,再继续在每个文件夹下面创建 folder 1-5 这5个文件夹

    mkdir folder{1..5}
    touch folder{1..5}/me.txt
    
  6. 再次删除

    rm -r folder{1..5}
    

3. 绝对路径与相对路径

即绝对路径是某个文件/文件夹固定的所在位置,相对路径是站在当前所在位置视角进行文件夹切换等任务。

An absolute path refers to the complete details needed to locate a file or folder, starting from the root element and ending with the other subdirectories. Absolute paths are used in websites and operating systems for locating files and folders.

An absolute path is also known as an absolute pathname or full path.

The path with reference to root directory is called absolute. The path with reference to current directory is called relative.

4. 通配符规则

符号 含义 举例
* 代表任意(0到多个)字符 *.fastq
? d代表任意1个字符 ???.sh
$ 变量前需要加的符号
{} 命令区块组合或者内容序列 mkdir 2016{a..z}
[] 匹配 [] 中任意一单一字符 a[xyz]b
[!] 匹配除 [] 中任意一单一字符 a[!0-9]b

* ?

# 先创建几个文件
touch a.fastq aa.fastq abc.fastq
touch a.sh aa.sh abc.sh

$

touch 1.pdf
a=1.pdf
ls $a

{}

[]

mkdir {a..e}
mkdir a{1..5}c

5. 文本处理

表格化操作

命令 释义
cut 显示行中的指定部分,删除文件中指定字段
tr 对来自标准输入的字符进行替换、压缩和删除
sort 将文本文件内容进行排序
uniq 报告或忽略文件中的重复行
paste 合并多个文件(按行)

cut

参数:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的范围之内,该字符将被写出;否则,该字符将被排除
cut -c 3  test.txt

tr

# 新建一个文本
# 把所有的A替换为G
cat expnt |tr A G

sort

# 新建一个文本
# sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出
sort sortexp

uniq

参数

  • -c或--count 在每列旁边显示该行重复出现的次数。
uniq expnt
uniq -c expnt

paste

paste expnt sortexp

随便创建的文本并不整齐,就大概体验一下o_o ....

三驾马车

命令 释义
grep 查找文件中符合条件的行
awk 对特定的行中特定列进行操作
sed 文本处理并可对文件进行编辑

grep

grep pts 1.txt
grep pts 1.txt|cut -d/ -f 2

awk

# 按列输出
grep pts 1.txt|awk '{print $1}'
grep pts 1.txt|awk '{print $3}'

sed

下载 hg38.tss 进行操作

wget http://www.biotrainee.com/jimmyzeng/tmp/hg38.tss
# 找 tp53 对应的 RefSeq
grep NM_000546 hg38.tss
# 去除"chr"
head hg38.tss > tmp
sed 's/chr//g' tmp

6. 压缩及解压

gz

压缩:

gzip filename

解压:

gzip -d filename.gz
gunzip filename.gz

tar.gz

压缩:

tar -zcvf filename.tar.gz

解压:

tar -zxvf filename.tar.gz

bz2

压缩:

bzip2 filename

解压:

bzip2 -d filename.bz2
bunzip2 filename.bz2

不同方法压缩得到的文件大小不同(不过不造为什么会是2017...

7. 快捷方式和环境变量

快捷方式

先递归建立一堆文件夹:

mkdir -p 1/2/3/4/5/6/7/8/9
ln -s 1/2/3/4/5/6/7/8/9 ./
# 把快捷方式创建在当前目录下

文件软连接/快捷方式

ln -s 1.txt 2.txt

环境变量

实际上 ll 是通过 alias 定义的:

将 "ls -lh" 定义为 "lh"

alias lh="ls -lh"

但下次连接服务器时需要重新设置。

修改环境变量:

vim ~/.bashrc

在任意行放入 alias lh="ls -lh"

:wq 退出。

source ~/.bashrc

Reference


最后,向大家隆重推荐生信技能树的一系列干货!

  1. 生信技能树全球公益巡讲:https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
  2. B站公益74小时生信工程师教学视频合辑:https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
  3. 招学徒:https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw
上一篇下一篇

猜你喜欢

热点阅读