常见生信操作

安装samtools :conda install samtools

 

# srand: 随机数发生器。设置固定的种子, 保证每次出来的结果一致

# rand: 返回[0,1)之间的随机数, 包含0不包含1

1.产生随机的基因组文件

echo 1 | awk -v seed=1 -v label=chr -v chrNum=4 -v expected_len=60000 -f generateRandom.awk >genome.fa

2.获得突变文件

#Check IUPAC here:http://www.bioinformatics.org/sms/iupac.html

# -N: 获得40K read pairs
# mut.txt: 突变位点或区域
wgsim -N 40000 genome.fa ehbio_1.fq ehbio_2.fq > mut.txt

常见生信操作_第1张图片

3.创建基因组索引

bwa index genome.fa

# samtools fadix快速获取某区域序列

samtools faidx genome.fa

4.序列比对回基因组

bwa mem -t 3 genome.fa ehbio_1.fq ehbio_2.fq | gzip >map.sam.gz

5.筛选比对上的高质量reads

samtools view -F4 -q1 -b map.sam.gz -o map.bam

# 下面2个排序用法都可以, 看使用的samtools版本
samtools sort -@ 2 map.bam map.sortP
samtools sort -@ 2 -o map.sortP.bam map.bam
samtools index map.sortP.bam

6.统计比对reads 数

samtools view -c map.sortP.bam

7.统计未比对上的reads 数

samtools view -c -f 4 map.sam.gz

8.统计比对到正链的reads 数

samtools view -c -F 16  map.sam.gz

9.获取properly-paired 的reads 数

samtools view -f2 -F 256 -c map.sortP.bam

10.查看每个位置碱基比对或错配情况

# -Q 0: 测试数据使用, 默认为-Q 13, 表示过滤掉低质量测序碱基

samtools mpileup -f genome.fa -Q 0 map.sortP.bam | less

#测序碱基列解释:

1. 点(.) 代表匹配正链碱基
2. 逗号(,) 代表匹配负链碱基
3. 大写字母(ACGTN) 表示正链错配
4. 小写字母(acgtn) 表示负链错配
5. 模式\+[0-9]+[ACGTNacgtn]+ 表示在当前参考位置和下一个参考位置之间有插入,插入碱基数是+ 后
面的证书,插入碱基是数字后面的字母串。下面展示的是2 bp 的插入
seq2 156 A 11 .$……+2AG.+2AG.+2AGGG <975;:<<<<<
6. 模式-[0-9]+[ACGTNacgtn]+' 参考基因组存在碱基缺失。下面展示的是4 bp‘缺失:
seq3 200 A 20 „„,..,.-4CACC.-4CACC….,.„.ˆ~. ==<<<<<<<<<<<::<;2<<
7. 符号ˆ 表示测序序列起始位置落于此(A symbol ˆ' marks the start of a read segment which
is a contiguous subsequence on the read separated byN/S/H’ CIGAR operations). 后面跟
随的符号的ASCII 值减去33 表示该位置碱基的质量。符号‘$’ 表示测序序列片段的终止。主要用于从
pileup 文件中获得原始测序reads。

 

安装bedtools:conda install bedtools

Bedtools是处理基因组信息分析的强大工具集合

重复序列区域的获取也可以用:http://blog.genesino.com/2013/05/ucsc-usages/

http://genome.ucsc.edu/cgi-bin/hgTables

 

待续。。。。。

 

 

 

 

 

你可能感兴趣的:(生物信息分析)