关于LINUX命令行(二)

Linux的学习一直断断续续,上次卡壳是看到管道,不理解,遂放弃。就是这么没志气。最近感觉又要好好学习了,答应了曾老师做一份生信人Linux的考试答案。人的信誉是慢慢积累的,一旦崩塌,是很难再建立起来。凭着这份信念再次和Linux正面交锋。

此篇纯属逼迫自己学习之作,如果一不小心点开...就点个赞走吧hhh

操作系统

计算机主要包括五个部分:运算器、控制器、存储器、输入设备和输出设备(I/O设备)

运算器和控制器加上其他部件构成CPU(central processing unit),存储器是内存。他们实现计算机数据的处理。输入设备包括键盘鼠标等、输出设备为屏幕打印机等。

操作系统(Operaing System,OS),相当于配置在上述硬件上的第一层软件,让硬件协调工作,有条不紊的完成任务。一个完整的操作系统包括内核(kernel)和一些辅助软件。典型的操作系统:UNIX、Linux、Mac OS、Windows、iOS、Android等。

那么,在Linux系统中,用户用什么和计算机沟通呢? 答案是:bash(Bourne Again shell)。它是Shell的一种,连接用户和Linux系统内核的桥梁。Shell是一个命令语言解释器,分图形界面和命令行。

打个招呼,一个简单的bash命令:

qiyindeMacBook-Pro-8:~ qiyin$ #!/bin/bashqiyindeMacBook-Pro-8:~ qiyin$ echo "hello,world"hello,world

基础知识

○目录结构

Linux系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,依次往下。绝对路径是由根目录 / 写起,比如/home/test。相对路径以当前路径为起点。

image

○通配符

通配符是一种特殊语句,用来对字符串进行模糊匹配,可以使用它来代替一个或多个真正字符等。常用的通配符如下:

  • *:任意个任意字符;

  • ?:单个任意字符;

  • [list]:匹配list中的任意字符;

  • [!list]:不匹配list中的任意字符;

  • [c1-c2]:匹配c1-c2中的任意单个字符,如[0-9],[a-z];

  • {string1,string2,...}:匹配{}中的任意一个字符串;

  • {c1..c2}:匹配c1-c2的全部字符,如{1..10};

○命令结构

command options arguments

命令+选项+参数

  • 基于软件安装整理了基础命令,幕布链接:

https://mubu.com/doc/3xHR33Ngng

  • Linux命令大全:

http://man.linuxde.net/

生信人的Linux考试

题目链接:

http://www.bio-info-trainee.com/2900.html


○涉及知识点

  • SAM/BAM

SAM是一种序列比对格式标准,由sanger制定,是以TAB为分隔符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,也可以表示多重比对的结果。SAM分为两部分,注释信息(header section)和比对结果部分(alignment section)。

BAM是SAM的二进制格式,占用储存空间更小,运算更快。

  • samtools

用于处理处理sam与bam格式的工具软件,能够实现二进制查看、格式转换、排序合并等功能,结合sam格式中的flag、tag等信息,还可以完成比对结果的统计汇总。

参数说明:

  • view :将sam文件转换为bam文件,然后才能对bam文件进行各种操作,比如数据的排序和提取,最后输出为bam或者sam格式

    基本命令转换 :

    samtools view -Sb *.sam > *.bam

    查看bam文件:
    
     `samtools view *.bam | less -S`
    
  • sort,index : 排序索引。

  • faidx : 对fasta文件建立索引,生成的索引文件以 .fai 后缀结尾。可以快速提取部分序列。

  • merge、cat : 整合聚合多个排序的bam文件

  • tview : 直观显示reads比对基因组的情况

  • flagstat : 统计比对结果

  • depth : 得到每个碱基位点的测序深度


    ○命令参考

答案绝不唯一!答案绝不唯一!答案绝不唯一!

#级联创建文件夹 
mkdir -p 1/2/3/4/5/6/7/8/9
#添加文件,输入内容,ctrl+d退出
cat > me.txt
#查看文件内容
cat me.txt
#删除以上文件以及文件夹
rm -r 1
#批量创建文件夹
mkdir -p folder{1..5}/folder{1..5}
#不同文件夹下都创建同一文件
cat > me.txt
echo folder{1..5}/folder{1..5} |xargs -n1 cp me.txt
#删除建立的文件以及文件夹
rm -r folder{1..5}
#下载文件
wget http://www.biotrainee.com/jmzeng/igv/test.bed
##查看文件行数
wc -l test.bed
##查看关键词在第几行
grep -n "H3K4me3" test.bed
#下载压缩文件并解压
wget http://www.biotrainee.com/jmzeng/rmDuplicate.zip && unzip *.zip
#查看文件夹结构
tree rmDuplicate
#打开bam文件
samtools view -H tmp.sorted.bam
#计算bam文件第二列0和16数字个数
samtools view tmp.sorted.bam | cut -f2 | sort -n | uniq -c
#同样解压,统计以 >> 开头有多少行
cat fastqc_data.txt | grep '>>' | wc -l
#在hg38.tss文件中找基因,如OTOF基因
cat hg38.tss | grep 'NM_001287489'
##结果为 NM_001287489  chr2  26556698  26560698  1
#每条染色体的基因个数——染色体名出现次数
cut -f2 hg38.tss | sort -rn | uniq -c
#统计NM、NR开头的序列
##NM : 转录产物序列,成熟mRNA转录本序列 
##NR : 非编码的转录子序列,包括结构RNAs,假基因转子
cat hg38.tss | grep 'NM' | wc -l
cat hg38.tss | grep 'NR' | wc -l


参考来源:
1、作者:hoptop、刘小泽
2、生信菜鸟团论坛
3、CSDN博客相关内容

你可能感兴趣的:(关于LINUX命令行(二))