2020.02.14|Linux线上课程第二讲

2020.2.13|Linux 线上课程第二讲

  • 文本处理三驾马车

    • grep
      • grep -v 反向选择输出没有匹配的行
      • grep -n 显示匹配成功的行所在的行号
      • grep -c 统计匹配成功的行的数量
      • grep -w 完全匹配
      • grep -o 只输出匹配的内容
      • grep -f 从文件中读取 pattern
      • grep -e 指定多个匹配模式
    • sed (address )
      • sed -n 禁止显示所有的输入内容,只显示经过sed处理的行
      • sed -e 直接在命令列模式上进行sed的动作编辑
      • sed -f 执行含有sed动作的文件
      • sed -r sed的动作支持的扩展正则
      • sed -i 直接修改读取的文件内容,不输出
    • sed (command)
      • sed '//p' 打印
      • sed '//d' 删除
      • sed '//i' 在目标行之前插入新行
      • sed '//a' 在目标行之后插入新行
      • sed '//c' 替换
      • sed '//w' write
      • sed '//r' read
      • sed '//=' 打印行号
    • sed (command)
      • s 匹配替换

        s/pattern/replacement/[flags]

        1. 数字:新文本替换第几处模式匹配的文本
        2. g:新文本将替换所有匹配到的文本
        3. p:原先行的内容将打印出来
        4. w file:将替换的结果写到文件中
      • y 转换

        y/inchars/outchars

        sed 'y///'

        sed '2y/ATCG/atcg' 指定第二行

        sed '/^>/!y/ATCG/atcg/' 以>开头的行不替换

        sed '/^[ATCG]/y/ATCG/atcg/' 以ATCG开头的行都替换

      • sed 与其他命令的替换

        1. sed ' ' = cat
        2. sed '10 q' = head
        3. sed -n '/pattern/p' = grep
        4. sed -n '/pattern/p!' = grep -v
    • awk (文本分析语言)
      • awk '{print$0}' example.gtf 输出整个文本行
      • awk '{print$1}' example.gtf 输出文本行中的第一个数据字段
      • awk '{print$2}' example.gtf 输出文本行中的第二个数据字段
    • awk (支持判断)

      awk '{if(判断条件){}else{}}'

      eg:

      awk '{if ($1 == "chr1"){print("yes")}\

      else{print("no")} }' example.gtf

  • 三驾马车 实战演练

    • gtf格式文件 gene transfer format 主要是用来对基因进行注释
    • 格式内容
      • seq_id:序列的编号,一般为chr或者scanfold编号
      • source: 注释的来源,一般为数据库或者注释的机构,如果未知,则用点“.”代替
      • type: 注释信息的类型,比如Gene、cDNA、mRNA、CDS等
      • start:该基因或转录本在参考序列上的起始位置
      • end: 该基因或转录本在参考序列上的终止位置
      • score: 得分,数字,是注释信息可能性的说明,可以是序列相似性比对时的E- values值或者基因预测是的P-values值,“.”表示为空
      • strand: 该基因或转录本位于参考序列的正链(+)或负链(-)上
      • phase: 仅对注释类型为“CDS”有效,表示起始编码的位置,有效值为0、1、2
      • attributes:一个包含众多属性的列表,格式为“标签=值” (tag=value),标签与值之间以空格分开,且每个特征之后都要 有分号;(包括最后一个特征),其内容必须包括gene_id和 transcript_id。以多个键值对组成的注释信息描述,键与值之间用 “=”,不同的键之间用“;”隔开
    • 实战练习

      根据gencode的gtf格式的基因注释文件得到人所有基因的染色体坐标

awk '!/^#/{print$0}' gencode.v33.annotation.gtf|awk '($3=="gene" && /protein_coding/){print$1,$4,$5,$14}' |sed 's/"//g;s/;//g' |less -SN
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。