打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
火爆全网的2021公益课(linux基础 & conda)到底讲了什么

 《生信技能树》团队的卖萌哥在2021新年伊始的公开课瞧瞧的上传到了咱们的B站,6个小时的课程还没有开始宣传就有了四千多学习量!

为了让大家更方便学习,我也安排学徒制作了一个配套课程的笔记材料,辅助大家听课!

https://www.bilibili.com/video/BV1Yy4y117SX 

下面是学徒笔记的投稿

课前热身

推荐up主 :

徐洲更思考问题的熊

系统查阅所有的Linux命令及详细参数的网站:

http://man.linuxde.net/ (中文,很奈斯)

课前准备工作:

安装软件

心理建设:

不用担心学不会,重点是坚持

会不会把服务器搞坏?重点看下图

为什么要学习Linux?

此外,出错不用担心,更重要的是我们解决问题的能力;学习过程中多练习多探究,贵在坚持。

Linux系统简介

登陆服务器

  • 填表法

  • ssh  命令行法

     

退出服务器   exit

修改命令行配色

复制粘贴下面两行代码:

echo  'export PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"' >> ~/.bashrc
source  ~/.bashrc

修改字体、修改复制粘贴快捷方式

文件结构:在Linux中,一切皆文件

**文件传输:**Windows,Filezilla(xftp,winscp)

Mac,Filezilla

**命令格式:**命令 + 选项 + 文件

command  [-options [parameter]]  [FILE]

· command:命令名,相应功能的单词或缩写

· [ ] 代表有时候可以省略

· -options:选项,用来对命令进行控制,也可以省略 两种格式:-h,--help

· parameter:传给命令的参数,可以是零个、一个或者多个

· FILE:要处理的文件

文件夹与文件管理命令

pwd ## Print Working Directory 打印工作目录 ls   ## List 列出 cd ## Change Directory 切换目录 mkdir    ## Make Directory建立一个新的目录 touch    ## 创建文件 mv ## MoVe 移动和重命名 rm  ## ReMove 删除 cp  ## Copy and Paste 拷贝粘贴 tar ## Tape archive 压缩或者解压文件 ln   ## LiNk 链接文件

工作目录

pwd 命令

pwd ## print working directory 打印工作目录

.  # 当前目录
.. # 上一级目录
~  # 家目录
/  # 根目录或者目录分隔符

常用Linux快捷键

 

cd 命令

切换工作目录

常见用法:cd  [路径/目录]

cd  ..       ## 切换到上层目录,相对路径
cd  ../..    ## 切换到上上层目录,相对路径
cd  /        ## 切换到根目录
cd  /teach/  ## 切换到根目录下的teach,绝对路径
cd  -        ## 返回上一次的工作目录
cd  ~        ## 回到用户家目录
cd           ## 同上,回到用户家目录

ls 命令

常见参数:

-a ## 列出全部的文件,连同隐藏文件 all
-l ## 列出目录的详细信息
-h ## 将目录容量转换为人类易读的方式(例如BG,KB等等) human
-S ## 以文件大小排序 Size
-t ## 以时间排序 time
-R ## 以递归目录列出文件 Recursion
-d ## 显示目录本身,而非文件下的文件

常见用法:ls [参数] [路径/目录/文件名]

ls    ## 列出当前目录的文件
ls  ./   ## 同上,'.’号代表当前目录
ls  ./*txt  ## 列出当前目录下以 txt 结尾的文件
ls  ../   ## 列出上层目录的文件
ls  -a   ## 列出当前目录下的所有文件,包括隐藏文件
ls  -l   ## 列出当前目录下文件的详细信息
ll    ## ls  -la 的简写,自定义的别名
ls  -lh   ## 加上 -h 参数,以 K、M、G 的形式显示文件大小
ls  -lh  /  ## 列出根目录下文件的详细信息

正则表达式

* 匹配任意多个字符(0到正无穷)

?匹配最多一次(0次或一次)

文件属性

 

创建

mkdir

常见参数:-p/--parents,递归创建目录

常见用法:mkdir [-p] 目录名

# 创建目录
mkdir dir0
ls
mkdir -p dir0/sub1/sub2
ls dir0
ls dir0/sub1/
mkdir -p  test{1..3}/test{1..3}
tree

tree

tree:以树的结构展示文件目录结构

常见参数:

-L # level #Descend only level directories deep.

touch

新建文件

常见用法:touch file

touch  file.txt  new.txt
ls
touch  file{1..5}
ls

命名文件/文件夹规则

 

操作文件

mv

mv:移动或者重命名,Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

常见用法:mv 待移动的文件 移动到哪个目录

mv  file1   Data/file2
 

cp

cp:Copy and Paste

常见参数:-r, copy directories recursively

常见用法:cp [OPTION] SOURCE DIRECTORY

rm

rm :Remove

常见参数 :

- f  ## force不显示警告讯息
- i  ## 在删除会先询问用户
- r  ## 递归删除文件夹

常见用法:rm [-option] file

删库跑路rm –rf /

初学者使用rm要小心,加上-i参数交互性删除

链接 ln

ln:Link 链接,分软链接(常用)和硬链接(默认).

常见参数:不加参数即为硬链接,加上 –s参数即为软链接,

软链接的作用类似快捷方式 ,节约空间

常见用法:ln –s TARGET DIRECTORY

压缩 tar

tar:Tape archive 压缩或者解压文件.

常见参数:

-c ## 创建一个新的tar归档文件(创建压缩文件)
-x ## 从已有tar归档文件中提取文件(解压缩)
-f ## 输出结果到文件或设备
-v ## 在处理文件时显示文件(显示处理进度)
-j ## 将输出重定向给bzip2命令
-z ## 将输出重定向给gzip命令

常见用法:

解压:tar [参数] [待解压包]

压缩:tar [参数] <压缩后文件名> [待压缩文件/目录]

其他压缩和解压命令:

zip 和 unzip:用于压缩和解压 *zip 文件

gzip 和 gunzip:用于压缩和解压 *gz 文件

bzip2 和 bunzip2:用于压缩和解压 *bz2 文件

 

文本查看、操作、统计命令

·  head/tail,cat/tac,less/more

· wc,sort,uniq

· cut,paste

cat

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

常见参数:

-A ## 列出所有内容,包括特殊字符,如制表符
-n ## 打印出所有行号,-b 参数仅打印非空白行行号

常见用法:

cat  readme.txt
cat  -n  readme.txt
## 写入文件
cat >file   ## >重定向
Welcome to Biotrainee() !
^C   ## 这里是按Crtl  C
## 查看
cat file
Welcome to Biotrainee() !

其他:zcat:可以查看压缩的文本文件   tac:逆向查看

head/tail

head / tail:查看文件的前/后 n 行,默认 10 行

常见参数:-n

head常结合管道符用于控制输出行数|

more

more:逐页查看,按空格翻页,按回车换行,q退出

less

less  [参数] 文件名

常用参数:

-N:显示行号
-S:单行显示

zless:查看压缩文件

· 上下左右键查看文本内容

· Enter键向下移动一行

· 空格键翻页

· q键退出

wc

wc:统计文本

常见参数:

-l  # 统计行数
-w  # 统计字符串数
-c  # 统计字节数

cut

cut:文本切割

常见参数:

-d  # 指定分隔符,默认\t;
-f  # 输出哪几列(字段fields)

sort

sort:排序

常见参数:

-n # 按照数值从小到大进行排序
-V # 字符串中含有数值时,按照数值从小到大排序
-r # 逆向排序
-k # 指定区域
-t # 指定分隔符

uniq

uniq:去除重复行   ** 只去除相邻的重复行*

常见参数:

-c # 统计每个字符串连续出现的行数

paste

paste:文本合并

常见参数:

-d # 指定分隔符
-s # 按行合并

常见用法:

paste file1 file2 paste - -

tr

tr:字符替换

常见参数:

-d # 删除指定字符
-s # 缩减连续重复字符

小结

命令功能
cat查看文本,输出到屏幕
head显示文档的开头至标准输出中,默认显示十行
tail显示文档的末尾至标准输出中,默认显示十行
more逐页查看文档内容
less逐页查看文档内容,more的升级版
wc统计文本的行数等
cut文本切割
sort排序
uniq去重复
paste文本合并
tr字符替换

生物信息学常见数据格式

FASTA格式

fasta是一种基于文本用于表示核酸序列和多肽序列的格式。其中核酸或氨基酸均以单个字母来表示,且允许在序列前添加序列名及注释

特征:2行,id行和序列行

id行以“>”开头,有时会包含注释信息

序列行一个字母表示一个碱基/氨基酸

>gi|31563518|ref|NP_852610.1| microtubule-associated proteins 1A/1B light chain 3A isoform b [Homo sapiens]
MKMRFFSSPCGKAAVDPADRCKEVQQIRDQHPSKIPVIIERYKGEKQLPVLDKTKFLVPDHVNMSELVKI
IRRRLQLNPTQAFFLLVNQHSMVSVSTPIADIYEQEKDEDGFLYMVYASQETFGFIRENE

FASTQ格式

fastq是一种存储了生物序列及相应的质量评价的文本格式。测序的原始数据

@SRR001339.3 FC12160_04JAN08_s_3.tar:3:1:230:474 length=36
GTTAGTCGGGAACTAAGGCCTGTAGGCTCTTTCCAT
+SRR001339.3 FC12160_04JAN08_s_3.tar:3:1:230:474 length=36
IIIIBIII*II,III$I′I9IDI%II … 5′E%%(H

在fastq文件中,一个序列通常由四行组成:

  • 第一行id行,以@开头,之后为序列的标识符以及描述信息(与FASTA格式的描述行类似)
  • 第二行序列行,为序列信息
  • 第三行附加信息行,以+开头,之后可以再次加上序列的标识及描述信息(可选)
  • 第四行碱基质量行,根据ASCII表,用一个字符来表示对应碱基的测序质量

GFF/GTF格式

gff格式记录序列中转录起始位点、基因、外显子、内含子等组成元件在染色体中的位置信息

image-20210219184105857
 

更多数据格式:[生信资料 3] 生物信息学常见数据格式,汇总!

文本处理三驾马车

grep

grep:一种强大的文本搜索工具,它能使用正则表达式匹配模式搜索文本,并把匹配的行打印出来

格式:grep [options] pattern file

常见参数:

-w:word 精确查找某个关键词 pattern
-c:统计匹配成功的行的数量
-v:反向选择,即输出没有匹配的行
-n:显示匹配成功的行所在的行号
-r:从目录中查找pattern
-e:指定多个匹配模式
-f:从指定文件中读取要匹配的 pattern
-i:忽略大小写

正则表达式

正则表达式:是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

^ 行首
$ 行尾
. 换行符之外的任意单个字符
? 匹配之前项0次或者一次
+ 匹配1次或者多次
* 匹配0次或者多次
{n} 匹配n次
{n,} 匹配至少n次
{m,n} 至少m,最多n
[] 匹配任意一个
[^] 排除字符
| 或者

常见用法

cat readme.txt  | grep '^T'
cat readme.txt  | grep ')$'
cat readme.txt  | grep 'f.ee'
cat readme.txt  | grep 'f\?ee'
cat readme.txt  | grep 're\+'
cat readme.txt  | grep [bB]

sed

sed:流编辑器,一般用来对文本进行增删改查

用法:sed [-options] 'script' file(s)

常见参数:

-n :禁止显示所有输入内容,只显示经过sed处理的行(常用)
-e :直接在命令模式上进行 sed 的动作编辑,接要执行的一个或者多个命令
-f :执行含有 sed 动作的文件
-r :sed 的动作支持的扩展正则(默认基础正则)
-i :直接修改读取的文件内容,不输出
image-20210219220747572

1.如何做大小写转换?

# 大写转小写
echo "ABCDS" | sed 's/[A-Z]/\l&/g'
# 小写转大写
echo "abcds" | sed 's/[a-z]/\u&/g'

2.如何替换每一行的前4个字符?

sed 's/ ^.... / /’3.如何对奇数行进行操作?

sed '1~2 s///’

4.删除空白行

sed '/^$/d’

awk

awk命令 https://man.linuxde.net/awk

conda的安装与使用

conda的安装与使用

anaconda官网:https://www.anaconda.com/

miniconda则是精简版,需要啥装啥,推荐使用miniconda。

miniconda官网:https://conda.io/miniconda.html

下载miniconda

# 官网地址:
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 国内镜像地址:
wget -c https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

# -c  断点续传
# mac用户请用:
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
curl -O https://mirrors.bfsu.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装conda的流程

1.运行 bash Miniconda3-latest-Linux-x86_64.sh

2.查看软件license

3.同意license

4.选择安装位置

5.同意conda初始化

6.设置是否要显示base环境提示(可选)

7.重新加载~/.bashrc文件或者重新开shell窗口

配置conda频道

方法一:

官方频道:

conda config --add channels bioconda
conda config --add channels conda-forge
conda config --add show_channel_urls yes

清华镜像频道:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

北外镜像频道:

conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

  • 不要重复添加频道,冗余的频道会让安装软件的过程变慢

  • 顺序是有意义的

  • 添加镜像要看服务器所在的位置,不是使用者所在的位置

方法二:

直接编辑 ~/.condarc文件

查看已添加的频道

conda config --get channels
conda config --show channels

创建独立的环境

建议:1. base环境里最好不要装任何包

2. 除非你知道这个包会对你原生环境造成什么影响

# 创建名为rnaseq的conda小环境
conda create -n rnaseq # -n 指定环境名称

# 每次运行前,激活创建的小环境rna,成功激活进入小环境,即可安装软件
conda activate rnaseq # 激活
conda deactivate # 退出小环境

# 列出已存在的小环境
conda env list # 或
conda info --env

删除&重命名小环境

# 删除一创建的小环境及安装包
conda remove -n myenv --all

# 重命名
conda create -n python2
conda create -n py2 --clone python2
conda remove -n python2 --all

安装软件

 

哪些软件可以用conda安装?

  1. 网站查询

    https://anaconda.org/search

    https://bioconda.github.io/

  2. conda search xxx

  3. 关键词搜索

# 查看当前环境所安装的软件
conda list
# 查看符合正则表达式的软件
conda list fast*
# 查看指定环境的软件
conda list -n rnaseq

# 删除软件
conda remove fastqc

# 升级软件
conda update fastqc
conda update conda

conda常用命令

环境管理软件管理
conda  env  listconda  search  fastqc
conda  creat  -n  rnaseqconda  install  fastqc
conda  activate  rnaseqconda  remove  fastqc
conda  deactivateconda  update  fastqc

conda  list

mamba的使用

image-20210220133742124

安装mamba

在base环境下安装mamba     *安装在base环境中的包在小环境中依然可以调用

conda activate base
conda install mamba

除启动环境外,所有conda命令都可以用mamba来代替

Mamba中还提供了mamba repoquery dependsmamba repoquery whoneeds,分别用于查看指定库依赖哪些库,以及指定库被哪些库依赖

版本控制和迁移

  1. 用conda list 的export功能
conda list
conda list -n rnaseq --export > conda_rnaseq_list.txt # 导出
# 软件名=版本号=build
conda create -n rna -file conda_rnaseq_list.txt  # 安装导出的信息
  1. 用conda env的export功能
conda env export -n rnaseq > rnaseq.yml  # 导出
conda env create -f rnaseq.yml  # 创建
conda env update -f rnaseq.yml  # 更新

yml文件信息更全面

本地安装

先把安装包下载到本地,然后移动到miniconda3的pkgs文件夹下

alias简化启动

cp ~/.bashrc ~/.bashrc_bak  # 备份
echo "alias rna='conda activate rnaseq'" >> ~/.bashrc
echo "alias deact='conda deactivate'" >> ~/.bashrc
source  ~/.bashrc

删除没有使用的包

conda clean -i   # 更换镜像时先运行这一条
conda clean -p   # 删除从不使用的包
conda clean -t   # 删除tar包
conda clean -a   # 删除索引缓存、锁定文件、未使用过的包和tar包。
  -a, --all             Remove index cache, lock files, unused cache packages,
                        and tarballs.
  -i, --index-cache     Remove index cache.
  -l, --lock            Remove all conda lock files.
  -p, --packages        Remove unused packages from writable package caches.
                        WARNING: This does not check for packages installed
                        using symlinks back to the package cache.
  -t, --tarballs        Remove cached package tarballs.

文末友情推荐

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
终极奥义! 生信软件安装神器~ conda 从入门到精通
找个motif嘛,简单
在Ubuntu上安装Miniconda
生信分析平台搭建(七):bioconda
宏基因组分析专题(2):生物信息学软件的应用市场-Conda的安装流程
基于miniconda构建Python虚拟环境
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服