2019-03-24 |Linux上课笔记

Linux | March 24, 2019

markdown语法

3个实用的markdown语法

  • 标题: ###
  • 引用: >号
  • 代码块:```
This is where you put your codes.

xshell简介

服务器登录的三种方式

### windows电脑
# 1. ssh usrID@ip
# 2. 使用xshell输入
# 3. 点击收藏夹
### mac电脑
# 1. 使用终端登录
# 2. 传输文件使用FIlezilla

linux相关词汇

  • 环境变量

    1. $PATH:都是由路径组成的环境变量
    2. 软件的路径加到环境变量中就可以在任意地方调用
  • 任务、权限、ftp传输、通配符等

  • linux命令

    1. 命令 空 [argument][info] 空 操作对象

    2. 默认标准:

      1. $PATH一定要以':'分割,且有前后顺序(调用的时候可能会因为顺序,发生错误)
      2. 变量赋值:PATH="$PATH:/home/bin"

      对变量进行操作的一个例子

# 变量需要加上$符号
a=1
a #会报错:command not found
echo $a
  • linux的目录结构

    • /:根目录;即再无上层目录
    • 其它目录做了解
  • linux系统

    • 不同的发行版
    • 优势
      • 批量处理
      • 处理大文本
      • 运行速度快
      • 远程登录
  • 报错

    • 权限
    • 命令输错
    • 学会搜索解决报错
  • 常见分隔符

    • Tab 分割:\t
      • cut命令默认\t切割文件
    • 换行符\n:即enter键
    • csv常用","分割
  • 小技巧

    • tab快速匹配
    #命令+tab补全
    ## 包括命令的补全以及路径的补全
    mk + tab #mac 下可能需要按两次
    mkd + tab # 可以出现相关命令
    # 能匹配就不要复制,能复制不要手打
    cd /tea # +tab 
    
    • mac的跳到行尾、行首、Home、end键以及删除的快捷键
    # ctrl+A: 到句首,到Home键的效果
    # Ctrl+E: 到句尾,达到End键的效果
    # Ctrl+N: 到下一行
    # Ctrl+P: 到上一行
    # Ctrl+K: 从光标处开始删除,直到行尾
    # fn+←:HOME
    # fn+→:END
    # fn+↑:page up
    # fn+↓:page down
    
  • linxu常用命令

    #创建文件夹 mkdir
    mkdir test # + [参数] 目录名
    mkdir -p # 建多层目录
    #目录切换 cd
    cd ~ #家目录
    cd / #根目录
    cd .. #后退
    # 目录展示 ls
    ls # + [参数][目录]
    ## 参数
    ## -l: 显示长的完整细腻
    ## -a: 显示隐藏文件(all)
    ## -tr:按修改时间反向排序
    ## -h: 查看文本大小
    # 创建文本 touch
    touch new.txt
    touch del{1..10}.txt #批量操作
    # 注意权限
    # 文件、目录删除: rm
    rm txt.txt 
    ## 参数:
    # -i: 删除前询问
    # -r: 递归删除|删除路径
    # -f: 强制删除
    # 删除后不能修复,要慎重,可以用ls确认之后,再进行删除
    # 拷贝/改名 cp
    cp [参数] 源文件 目标文件
    ## 参数
    # -i :覆盖前询问,防止同名文件覆盖
    # -r :复制目录及目录内的所有内容
    # -f :强制覆盖
    # 需要两个路径
    # 拷贝与软连接的区别:不要拷贝只存在一份的东西,占内存,可以直接调用
    # 查看文本(只能查看不能编辑) less
    ## 参数
    ## -S:单行显示
    ## -N:行号加入编号
    ## 查看大文本时必用,不能编辑
    # 输出/入文本 cat
    cat [参数] 文本
    ## 查看小文本
    cat >newfile
    cat >>test.txt #追加
    # 从头从尾展示文件- head/tail
    ## 参数
    ## -n num: 展示文本前num行
    
  • Linux 命令进阶

     cut # 切割文件,按照要求对列进行选择,默认分割是\t
     less 文件 | cut -f 1,3-5|less -S
     # zless 看压缩文件
     paste #可以对文件进行左右合并的功能
     seq10
     seq10 >t1.txt
     seq20 >t2.txt
     paste t1.txt t2.txt #默认分隔符是\t
     # 使用参数 -d:可以指定分隔符。 也可以使用tr的转换功能
     paste t1.txt t2.txt |tr '\t' '#'
    # less -S/teach/database/gtf/gencode.v29.annotation.gtf.gz |cut -f 1,3-5|less -S
    # zless -S /teach/project/1.rna/3.raw_fq_25000reads/SRR1039512_2_100000.rawfq.gz|paste - - - - |cut -f 1-2|tr '\t' '\n'| tr '@' '>'|less -S
    ## - - - - 代表的是每一行的转置,由于fq的格式是四行,space把每一行进行分割
    sort uniq
    # 搭配,uniq去重功能只去掉临近功能
    # sort按照ASCII码排序,-n可以按照数字
    # 指定区域 -k;按照数字相反的: -n -r
    # sort -r -n -k 3 tmp == sort -k 3nr tmp
    uniq #去除文件中的重复行
    #参数: -c: 显示每行连续出现的次数
    find [参数] 目录/文本
    find / -name '*fa' >~/tmp.txt
    find /teach/ -name '*gz'
    find ~/ -size +500M 
    tr # 替换 例子:碱基互补配对
    cat seq.txt 
    cat seq.txt|tr [atcg] [tagc]|cat >seq2.txt 
    wc #统计行数、字符、文本大小
    bc #数学运算
    scale =2 #保存两个小数点
    quit 退出
    
  • 文本处理的三个工具:sed, grep, awk

    vim:https://www.jianshu.com/p/8c150a68a277

    通配符:https://www.jianshu.com/p/b7f8c97b2ba6

    grep :https://www.jianshu.com/p/22a4324ddfdf

    sed:https://www.jianshu.com/p/1a853a0315d5

    awk:https://www.jianshu.com/p/b6aec932adcf

    vim .bashrc # 用vim 打开.bashrc,GG到最后一行,粘贴以下内容。
    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\]
    source .bashrc #source之后才能生成
    
    less .bashrc |grep 'ing$'|less -S
    less .bashrc |grep '^#'|less -S
    
    https://www.jianshu.com/p/22a4324ddfdf
    # 实例: 对gtf来进行操作,gtf是fq的注释文件,-w 参数,精确匹配第三列是'gene'的行
    # -i 忽略大小写
    # -ie either,忽略大小写并且可以多搜几个
    nl /etc/passwd | grep -ie 'Server' -e 'root' -e 'qmcui'
    
    https://www.jianshu.com/p/1a853a0315d5
    # 对文本的行了进行处理
    
    https://www.jianshu.com/p/b6aec932adcf
    #awk
    echo 1 2 3 |awk '{ print "total pay for", $1, "is", $2 * $3 }'
    echo $PATH|awk -F ':' '{print $1}'
    echo $PATH|awk -v FS=":" '{print $1}'
    cat /etc/passwd |awk  -F ':' -v OFS="\t" '{print $1,$7}'
    cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'
    echo 1 2 3 |awk '{ print "total pay for", $1, "is", $2 * $3 }'
    
    echo $PATH|awk -F ':' '{print $1}'
    echo $PATH|awk -v FS=":" '{print $1}'
    cat /etc/passwd |awk  -F ':' -v OFS="\t" '{print $1,$7}'
    cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'
    
    对第四列求和:
    zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |grep -v '^#'|head -n 5|awk '{sum=sum+$4}END{print sum}'
    
    准确输入第100行:
    zless -S  /teach/database/gtf/gencode.v29.annotation.gtf.gz|nl|awk 'NR==100{print $0}'
    
    zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |awk '$1=="chr1" && $3=="gene" && $4>10000 && $5<50000{print $14}'
    zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |awk '{if($1=="chr1" && $3=="gene" && $4>10000 && $5<50000)print $14}'
    
    
  • 软件安装

    #使用conda安装软件
    # 安装miniconda
    # 配置镜像
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    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 create -n rna python=2
    # 由于很多生信软件基于python2,所以安装python2,如果碰到不兼容的软件,则可以重新安装新的环境来安装,小环境可以无限安装(激活特定的python)
    # 查看当前的conda环境
    conda info -envs
    # 激活进入conda的rna环境
    

RNA-seq分析


#mapping
hisat2 -x /teach/database/index/hisat/hg38/genome -1 /teach/project/1.rna/4.clean_data_25000reads/SRR1039512_1_val_1.100000.fq.gz  -2 /teach/project/1.rna/4.clean_data_25000reads/SRR1039512_2_val_2.100000.fq.gz  |  samtools  sort  -o  ~/SRR1039512.sort.bam  -
# 查看bam
samtools view -h SRR1039512.sort.bam|less -S
# 计数,拿到表达矩阵
## 需要一个注释文件以及所有样品的bam文件
featureCounts  -T  5  -p  -t  exon -g  gene_id  -a  /teach/database/gtf/gencode.v29.annotation.gtf.gz -o  ~/all.id.txt   /teach/project/1.rna/5.sort.bam/*sort.bam
## 对数据进行提取
less -S /home/qmcui/all.id.txt|cut -f 1,7-|grep -v '^#'|less -S
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,082评论 0 0
  • 转载 原文的排版和内容都更加友好,并且详细,我只是在这里贴出了一部分留作自己以后参考和学习,如希望更详细了解AWK...
    XKirk阅读 3,181评论 2 25
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,709评论 0 10
  • awk使用说明 awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常...
    好好学习的蜗牛阅读 493评论 0 2
  • 2017年2月25日,不知不觉17年的六分之一都快过了。你年初信誓旦旦的新年计划有没有很好的执行呢?现在一想,其实...
    杨小伟的世界阅读 330评论 1 4