生信人的linux考试(20题)
1.在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列
mkdir 生信人的linux考试
ls
cd 生信人的linux考试/
mkdir -p 1/2/3/4/5/6/7/8/9
tree
.
└── 1
└── 2
└── 3
└── 4
└── 5
└── 6
└── 7
└── 8
└── 9
9 directories, 0 files
2.在创建好的文件夹下面,比如我的是 /Users/jimmy/tmp/1/2/3/4/5/6/7/8/9 ,里面创建文本文件 me.txt
$ cd 1/2/3/4/5/6/7/8/9
$ touch me.txt
$ tree
.
└── me.txt
0 directories, 1 file
3.在文本文件 me.txt 里面输入内容
nano me.txt#在里面编写文字,ctrl+x y 保存修改
4.删除上面创建的文件夹 1/2/3/4/5/6/7/8/9 及文本文件 me.txt
rm -r 1
5.在任意文件夹下面创建 folder1~5这5个文件夹,然后每个文件夹下面继续创建 folder1~5这5个文件夹
mkdir -p folder{1..5}/folder{1..5}
tree
.
├── folder1
│ ├── folder1
│ ├── folder2
│ ├── folder3
│ ├── folder4
│ └── folder5
├── folder2
│ ├── folder1
│ ├── folder2
│ ├── folder3
│ ├── folder4
│ └── folder5
├── folder3
│ ├── folder1
│ ├── folder2
│ ├── folder3
│ ├── folder4
│ └── folder5
├── folder4
│ ├── folder1
│ ├── folder2
│ ├── folder3
│ ├── folder4
│ └── folder5
└── folder5
├── folder1
├── folder2
├── folder3
├── folder4
└── folder5
30 directories, 0 files
6.在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt ,内容也要一样
这个题不会,,,,,
搜索到了小洁老师的答案://www.greatytc.com/p/034c6cb1cf3d
for dirs in folder{1..5}/folder{1..5}; do cp me.txt $dirs; done
echo folder{1..5}/folder{1..5} | xargs -n 1 cp -v me.txt
# -n 1指定每行输出1列
7.再次删除掉前面几个步骤建立的文件夹及文件
rm -r folder*
8.下载 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,后在里面选择含有 H3K4me3 的那一行是第几行,该文件总共有几行
wget http://www.biotrainee.com/jmzeng/igv/test.bed
wc -l test.bed # 共10行
cat test.bed | grep -n "H3K4me3"# 第八行
9.下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解压,查看里面的文件夹结构
wget http://www.biotrainee.com/jmzeng/rmDuplicate.zip
unzip rmDuplicate.zip
tree
10.打开第九题解压的文件,进入 rmDuplicate/samtools/single 文件夹里面,查看后缀为 .sam 的文件,搞清楚 生物信息学里面的SAM/BAM 定义是什么
- 两种文件是由bwa,bowtie,tophat等序列比对工具比对产生的文件
- bam是sam的二进制格式,sam文件每列代表内容详细解释:https://blog.csdn.net/sunchengquan/article/details/85095355
- sam文件含有注释及结果
注释信息(header section):- @HD,说明符合标准的版本,对比序列的排列顺序
- @SQ,参考序列说明,
- @RG,比对上序列(read)的说明
- @PG,使用的程序说明,
- @CO,任意的说明信息
比对结果部分(alignment section) - QNAME 序列的名字
- FLAG各个数字分别代表
1 read有多种测序数据,一般理解为有双端测序数据 read paired
2 比对结果是一个pair-end比对,一正一负完美的比对上,read mapped in proper pair
4 这条read没有比对上,read unmapped
8 这个序列是pair中的一个但是没有比对上 mate unmapped
16 序列与参考序列反向互补 read reverse strand
32 这个序列在pair-end中的的mate序列与参考序列反响互补 mate reverse strand
64 序列是 mate 1 first in pair
128 序列是 mate 2 second in pair
256 第二次比对 not primary alignment - RNAME 参考序列的名字(染色体)
- POS 在参考序列上的位置(染色体上的位置)
- MAPQ mapping qulity
- CIGAR,代表比对结果的CIGAR字符串,如37M1D2M1I,这段字符的意思是37个匹配,1个参考序列上的删除,2个匹配,1个参考序列上的插入。M代表的是alignment match(可以是错配)
- RNEXT mate序列所在的参考序列的名称,下一个片段比对上的参考序列的编号,没有另外的片段‘*’,同一个片段用‘=’
- PNEXT mate序列在参考序列上的位置,下一个片段比对上的位置,如果不可用,则为0
- TLEN 估计出的插入片段的长度,当mate序列位于本序列上游时,该值为负值,template的长度,最左边得为正,最右边的为负,中间的不用定义正负,不可用时为0
- SEQ read的序列,序列信息,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度;
- QUAL ASCII码格式的序列质量;序列的质量信息,格式同FASTQ一样
- NM: i 经过编辑的序列
- MD:Z代表序列和参考序列错配的字符串
- AS : i 匹配的得分
less -S tmp.sam
11.安装 samtools 软件(已安装)
- samtools是一个用于操作sam和bam文件的工具软件,能够对比对文件进行二进制查看、格式转换、排序及合并等,结合sam格式中的flag、tag等信息,还可以完成比对结果的统计汇总,是处理sam(sequence alignment/map format)和bam文件不可或缺的神器!
- http://www.omicsclass.com/article/529
12.打开 后缀为BAM 的文件,找到产生该文件的命令
samtools view tmp.rmdup.bam | less -SN #其中N使较为整齐的打印至屏幕上,S 编号
打开了两个文件,还是没能找到产生该文件的命令
13.根据上面的命令,找到我使用的参考基因组 /home/jianmingzeng/reference/index/bowtie/hg38 具体有多少条染色体
- Q1:在同一个服务器下,如何查看别人文件
- Q2:找到文件后,如何查看染色体条数
14.上面的后缀为BAM 的文件的第二列,只有 0 和 16 两个数字,用 cut/sort/uniq等命令统计它们的个数
samtools view tmp.sorted.bam | cut -f2 |sort| uniq -c
15. 重新打开 rmDuplicate/samtools/paired 文件夹下面的后缀为BAM 的文件,再次查看第二列,并且统计
samtools view tmp.rmdup.bam | cut -f2 |sort| uniq -c
16.下载 http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip 文件,并且解压,查看里面的文件夹结构, 这个文件有2.3M,注意留心下载时间及下载速度
wget http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip #2.3M文件下载了约不到1min
unzip sickle-results.zip
tree
.
├── command.txt
├── single_tmp_fastqc.html
├── single_tmp_fastqc.zip
├── test1_fastqc.html
├── test1_fastqc.zip
├── test2_fastqc.html
├── test2_fastqc.zip
├── trimmed_output_file1_fastqc.html
├── trimmed_output_file1_fastqc.zip
├── trimmed_output_file2_fastqc.html
└── trimmed_output_file2_fastqc.zip
17.解压 sickle-results/single_tmp_fastqc.zip 文件,并且进入解压后的文件夹,找到 fastqc_data.txt 文件,并且搜索该文本文件以 >>开头的有多少行?
unzip single_tmp_fastqc.zip
cd single_tmp_fastqc/
less -SN fastqc_data.txt | grep "^>>" | wc -l
18.下载 http://www.biotrainee.com/jmzeng/tmp/hg38.tss
文件,去NCBI找到TP53/BRCA1
等自己感兴趣的基因对应的 refseq数据库
ID,然后找到它们的hg38.tss
文件的哪一行。
refseq相关解释:https://liucheng.name/381/
https://www.ncbi.nlm.nih.gov/gene/7157
wget http://www.biotrainee.com/jmzeng/tmp/hg38.tss
less -SN hg38.tss #`refseq数据库` ID
less -SN hg38.tss | grep -n "NR_103753"
19.解析hg38.tss 文件,统计每条染色体的基因个数
less -SN hg38.tss | cut -f2 | sort |uniq -c
20.解析hg38.tss 文件,统计NM和NR开头的熟练,了解NM和NR开头的含义
less -SN hg38.tss | grep -n "^NR" |wc -l
less -SN hg38.tss | grep -n "^NM" |wc -l
- NR开头表示 非编码的转录子序列,包括RNAs,假基因转子等
- NM开头 表示转录产物序列,成熟的mRNA序列
参考:
//www.greatytc.com/p/9da34a989957
http://www.omicsclass.com/article/529 #samtools安装
//www.greatytc.com/p/2cdb83174a38
http://bioinformation.cn/?p=155
refseq解释