软件安装
下载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
安装miniconda
运行 bash Miniconda3-latest-Linux-x86_64.sh
添加频道:
北外镜像频道:
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
注意如果删除之前的频道, 添加频道的时候报错
需要重置conda配置:
conda config --remove-key channels
或者删掉.condarc文件
创建环境
创建:
conda create -n rna
创建名为rna的conda小环境
-n: 指定环境名称
conda activate rna
启动rna这个conda小环境
conda deactivate
退出rna这个conda小环境
安装软件
需要在特定小环境中安装软件
conda install <SOFTWARE>
- 先看看有哪些可以安装的版本 conda search fastqc
- 安装指定版本的软件 conda install fastqc=0.11.7 3.添加-y参数跳过确认步骤 conda install -y fastqc=0.11.7 4.查看当前环境所安装的软件 conda list 5.检测是否安装成功 <SOFTWARE> -help环境变量:用于存储有关shell会话和工作环境的系统变量常见环境变量: • HOME:当前用户的主目录 • PATH:shell查找命令的目录列表,由冒号(:)分隔。 • SHELL:bash shell的全路径名 • LOGNAME:当前用户的登录名 • PS1:shell命令行界面的主提示符 常见命令调用 echo ①打印字符串 ②打印变量的值,变量调用要加 $ chmod命令 可以对文件的属性加权限
脚本编程
变量:环境变量、状态变量、位置参数变量、自定义变量,
调用变量时,要在变量前面加一个 $ 符号
• 环境变量:用于存储有关shell会话和工作环境的系统变量
• 状态变量:用于记录命令的运行结果
• 位置参数变量:用于向命令或程序脚本中传递信息
• 自定义变量:由用户自行定义的变量,可用于用户编写的
脚本,多个命令间的值传递等
状态变量
$? :获取执行上一个指令的执行状态返回值,返回0表示
上一个命令或者程序执行成功,返回的值为非0则表
示上一个命令执行失败。
位置参数变量:用于向命令或程序脚本中传递信息
$n:n 为数字,$0 代表命令本身,$1~$9 代表第 1~9 个参数,10 以上的参数需要用大括号包含, 如${10}
结构化语句
条件语句 if
if command
then
commands
fi
if command
then
commands
else
commands
fi
注意 一次执行多个命令可以在不同命令间加";",但要先执行前面成功后再执行第二个那就加“&&”
数值判断
INT1 -eq INT2 INT1 和 INT2 两数相等返回为真
INT1 -ne INT2 INT1 和 INT2 两数不等返回为真
INT1 -gt INT2 INT1 大于 INT2 返回为真
INT1 -ge INT2 INT1 大于等于 INT2 返回为真
INT1 -lt INT2 INT1 小于 INT2 返回为真
INT1 -le INT2 INT1 小于等于 INT2 返回为真
字符串判断
-z STRING 如果STRING的长度为零则返回为真,即空是真
-n STRING 如果STRING的长度非零则返回为真,即非空是真
STRING1 如果字符串不为空则返回为真,与-n类似
STRING1 == STRING2 如果两个字符串相同则返回为真
STRING1 != STRING2 如果字符串不相同则返回为真
STRING1 < STRING2 如果 STRING1字典排序在STRING2前面则返回为真。
文件判断
-a FILE 如果 FILE 存在则为真
-d FILE 如果 FILE 存在且是一个目录则返回为真
-f FILE 如果 FILE 存在且是一个普通文件则返回为真
for循环语句的常见格式
变量要加{},否则容易分辨不出变量
for i in list
do
commands
done
while循环语句的常见格式
while read id
do
commands
done
Shell 脚本编程
shell 脚本:为了和普通文本文件区分开,通常shell脚本都
会以 .sh 为后缀名
其他脚本:在Linux中使用其他编程语言,需要在 shebang(释
伴) 中定义解释器,Python 是 python/python2/python3, R 语言是 Rscript,用 which 命令找到解释器位置
shebang扩展:如何解决不同的平台或者不同的设备下的差异?
shebang的通用写法:
• #!/usr/bin/env bash
• #!/usr/bin/env python
• #!/usr/bin/env Rscript
env的位置相对固定, 让env去调用当前环境下的编译器
任务提交:
• nohup :不要挂断任务,即把任务提交到服务器上运行
• & :任务后台运行,通常与 nohup 连用
• top :实时显示系统中各个进程的资源占用状况,按 q 退出
• htop :优化过的 top 命令,界面更美观
• ps :Process Status列出当前系统中运行的进程列表, 一般加
上 –ef 参数,搭配 grep 进行搜索:ps –ef | grep 用户名
• kill :杀掉进程,kill -9 PID
• 用tail动态查看输出结果
tail -f <log file>
• 用less的动态查看
less <log file> → shift F
• 用top或者htop进行任务监视
top/htop