生信入门day1-Linux

生信技能树简介

Jimmy版主的自我简介,里面信息量大的几段话:

我只是一条普普通通的误入歧途的本科生物狗,我爸妈都是农民,小学都没有读完,家中亲戚也没有上大学的,没人指导我的人生路该怎么走,跌跌撞撞走到今天勉强有了一技之长,可以混个温饱。

本博客适用于正在读大学硕士博士生物实验操作学生

前提是他们愿意花70%的精力来转型,自学生物信息学这个交叉学科

其实生物信息相关的英语资料还是挺多的,如果你英语不错,可以自行寻找。

你在这里可以学到的东西包括:

  • 编程语言及技巧(perl/R/shell/)
  • 服务器管理基础知识(linux,qsub,module,script)
  • 常见的生物信息数据资源(NCBI/UCSC/ENSEMBL/TCGA/COSMIC/1000genomes)
  • 常见生物信息分析软件使用笔记
  • 常见生物信息数据分析流程(WES/WGS/RNA-seq/CHIP-seq)
  • 一些我觉得有意义的paper分享

生信技能树成员简介

生信简介

详见生物信息学简史

生物信息从蛋白质研究开始
蛋白质到DNA: 1970-1980

  • 读取DNA序列
  • Sanger双脱氧链终止法

生物学和计算机并行发展:1980-1990
生物信息学和自由软件运动
基因组学、结构生物信息学和信息高速路:1990-2000
超越序列分析:结构生物信息学
高通量生物信息学:2000-2010

  • 二代测序
  • 生物大数据

高性能生物信息学和协作计算
现在和未来的前景:2010年至今
将生活整体建模:系统生物学

20世纪后期见证了生物学中计算机的出现,它们的使用以及不断改进的实验室技术使得研究工作日益复杂。尽管对单个蛋白质或基因的测序可能是20世纪90年代早期的博士论文主题,但博士生现在可以在他/她的研究生阶段就分析许多微生物群落的集体基因组。当时确定蛋白质的一级结构都是复杂的,但是现在可以识别样品的整个蛋白质组。生物学现在已经采用了很多整体方法,但在不同的大分子类别(例如基因组学,蛋白质组学和糖组学)中,每个子学科之间还鲜有交叉。

人们可以预见到下一个飞跃:不是独立研究整个基因组,整个转录组或整个代谢组,而是对整个生物体及其环境进行计算建模,同时考虑所有分子类别。事实上,这一壮举已经在生殖支原体的全细胞模型中实现,其中所有基因,它们的产物和已知代谢相互作用都已在计算机中重建。也许我们很快就会见证一个电子计算机多细胞生物模型。尽管对于数百万到几万亿的细胞建模似乎是不可行的,但必须记住我们现在做的也是十年前在计算能力和技术上认为不可能实现的事情。

生信Linux基础

常见命令表单

File system Commands 文件系统命令
ls lists directories and files 显示文件夹和文件
ls -a lists all files including hidden files 显示所有文件,含隐藏文件
ls -lh formatted list including more data 格式化的显示,含更多信息
ls -t lists sorted by date 按日期排序显示
pwd returns path to working directory 返回当前工作路径
cd dir changes directory 切换工作路径
cd .. goes to parent directory 切换到上级目录
cd / goes to root directory 切换到根目录
cd ~ goes to home directory 切换到用户home目录
touch file_name creates en empty file 创建空文件
cp file f_copy copy a file 复制文件
cp -r copy files contained in directories 复制文件夹下所含文件
rm file deletes a file 删除文件
rm -r dir deletes a directory and its files 删除文件夹及所含文件
mv file1 file2 moves or renames a file 移动或重命名文件
mkdir dir_name creates a directory 创建文件夹
rmdir dir_name deletes a directory 删除文件夹
locate file_name searches a file 搜索文件
man command shows commands manual 显示帮助文档
top shows process activity 显示活动进程
df -h shows disk space info 显示盘符空间信息
apt-get install installs applications in linux linux下安装程序
Text handling commands 文本处理命令
command > file saves STDOUT in a file 保存标准输出到一个文件
command >> file appends STDOUT in a file 标准输出追加到一个文件
cat file concatenate and print files 合并、打印文件
cat file1 file2 > file3 merges files 1 and 2 into file3 合并file1, file2到file3
cat *fasta > all.fasta concatenates all fasta files in the current directory 合并当前目录下所有fasta文件
head file prints first lines from a file 打印文件前几行
head -n 5 file prints first five lines from a file 打印文件前5行
tail file prints last lines from a file 打印文件末几行
tail -n 5 file prints last five lines from a file 打印文件末5行
less file view a file 查看文件
less -N file includes line numbers 显示行数
less -S file wraps long lines 折叠长行
grep ‘pattern’ file Prints lines matching a pattern 打印匹配行
grep -c ‘pattern’ file counts lines matching a pattern 匹配行计数
cut -f 1,3 file retrieves data from selected columns in a tab-delimited file 返回制表符分隔文件的选定列
sort file sorts lines from a file 文件行排序
sort -u file sorts and return unique lines 行排序且返回唯一列
uniq -c file filters adjacent repeated lines 过滤相邻重复行
wc file counts lines, words and bytes 计数行、词和字节
paste file1 file2 concatenates the lines of input files 合并文件的行
paste -d “,” concatenates the lines of input files by commas 按“,”合并行
sed transforms text 文本变换
Compression commands 压缩命令
gzip/zip compress a file 压缩一个文件
gunzip/unzip decompress a file 解压一个文件
tar -cvf groups files 打包一组文件
tar -xvf ungroups files 去打包一组文件
tar -zcvf groups and gzip files 打包并压缩一组文件
tar -zxvf gunzip and ungroups files 解压并去打包一组文件
Networking commands 网络处理命令
wget URL download a file from an URL 从一个URL下载文件
ssh user@server connects to a server 链接至一个服务器
scp copy files between computers 计算机间复制文件

相关推文:linux命令行文本操作一文就够

bowtie、samtools、IGV

参照给学徒的WES数据分析流程安装conda配置wes环境,其中python版本选择的是3。

(wes) cyshi 14:53:58 ~
$conda info --envs
# conda environments:
#
base                     /home/cyshi/anaconda3
wes                   *  /home/cyshi/anaconda3/envs/wes

sam文件格式

参照生信人的linux考试第八、九、十题下载文件,弄清sam文件格式

八、下载 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,后在里面选择含有 H3K4me3 的那一行是第几行,该文件总共有几行。

九、下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解压,查看里面的文件夹结构

十、打开第九题解压的文件,进入 rmDuplicate/samtools/single 文件夹里面,查看后缀为 .sam 的文件,搞清楚 生物信息学里面的SAM/BAM 定义是什么。

$cat tmp.sam
SRR1042600.42157053     0       chr1    629895  42      51M   *       0       0       ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTATA   CCCFFFFFHHHHHJJJJJJJ#4AGHJJIIJJIIIIIJJJJIJIIIIJJIJI   AS:i:-6 XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:11C8A30  YT:Z:UU
SRR1042600.42212881     0       chr1    629895  42      51M   *       0       0       ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTATA   @@

英语解释
阅读SAM文件格式解读可知:

SAM文件由两部分组成,头部区和主体区,都以tab分列。

  • 头部区:以’@’开始,体现了比对的一些总体信息。比如比对的SAM格式版本,比对的参考序列,比对使用的软件等。
  • 主体区:比对结果,每一个比对结果是一行,有11个主列和一个可选列。

主体区简介

  • 第一列: QNAME:测序出来的reads序列数据名 如:SRR3101251.1
  • 第二列:FLAG:0正链,16负链,4没比对上:

1 (1) 该read是成对的paired reads中的一个
2 (10) paired reads中每个都正确比对到参考序列上
4 (100) 该read没比对到参考序列上
8 (1000) 与该read成对的matepair read没有比对到参考序列上
16 (10000) 该read其反向互补序列能够比对到参考序列
32 (100000) 与该read成对的matepair read其反向互补序列能够比对到参考序列
64 (1000000) 在paired reads中,该read是与参考序列比对的第一条
128 (10000000) 在paired reads中,该read是与参考序列比对的第二条
256 (100000000) 该read是次优的比对结果
512 (1000000000) 该read没有通过质量控制
1024 (10000000000) 由于PCR或测序错误产生的重复reads
2048 (100000000000) 补充匹配的read

  • 第三列:RNAME:参考基因组的染色体名,如:chr19
  • 第四列:POS:比对到这个染色的具体位置(从1'端开始)如9486878
  • 第五列:MAPQ:比对质量,是一个衡量比对好坏的打分结果,越高越好
  • 第六列:CIGAR:简要比对信息表达式(Compact Idiosyncratic Gapped Alignment Report):如M:完全比配;D:缺失。以参考序列为基础,使用数字加字母表示比对结果,比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的;
  • 第七列:RNEXT:下一个片段比对上的参考序列的编号,没有另外的片段,这里是'*',同一个片段,用 '=';
  • 第八列:PNEXT: 配对片段(即mate)比对上的参考序列的编号,没有另外的片段,这里是'*',同一个片段,用'=';
  • 第九列:TLEN:配对片段(即mate)比对到参考序列上的第一个碱基位置,若无mate,则为0;
  • 第十列:SEQ:Template(文库插入序列)的长度,最左边得为正,最右边的为负,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,此处为0;
  • 第十一列:QUAL:ASCII编码的序列reads质量。ASCII码偏移33。序列的质量信息,格式同FASTQ一样。
  • 第十二列:可选字段(optional fields),格式如:TAG:TYPE:VALUE,其中TAG有两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。

sam文件

最简流程

$bowtie2 -x ../index/lambda_virus -1 reads_1.fq -2 reads_2.fq  -S tmp.sam
sam文件
  • 计算比对条数,总数除以2。
$cat tmp.sam | grep -v ^@ | wc
  20000  391929 7049181
  • 比对总类
$cat tmp.sam | grep -v ^@ | cut -f 2 | sort -n | uniq -c
     24 65
    165 69
    153 73
    213 77
      2 81
   4650 83
    136 89
   4516 99
    125 101
     16 113
     24 129
    153 133
    165 137
    213 141
   4516 147
    125 153
      2 161
   4650 163
    136 165
     16 177

查看比对失败的序列的特征

$cat tmp.sam | grep -v ^@ | awk '{if($6 == "*") print $10}'|he
ad
GCGTNGTACNNGNNGATGNTTACGACTAANACTTNNNNNTNCNGNNT
ANTGGNTNAGCGGNCGNAGNGNTCNGNAGCNANNAANCTGNTATGNTNNNTNNATCNNNCNNNNGTGNNAANNNCCAGNNNNGGCNNNNCATACANNNTNNNCNTNNNTACANNATANNCGNNATTNNACNGTNNCGNGNNCCGNGTNNNNN
NNTNNNNNAGNTNAANANANGTNTTGNGAANCTNNANACNNCTTTTNNNNTATGNTNNTNAGCCTAG
TTGNNCNNATATNNTAGATCGATATCTTTATNTCGAGCAAAGCAAA
NNNGANNNTGCTCGNCAANNNNANNNNTTTCCTTNTNCGGNCCNGNAATNATNACANNATGNNGNAANCGNNGNTTNTTNTNCAGGNCCTCTGNNGCNNANGCNCANGNNNTNTNNNNCNTNGNNGNCNNNCCGNAATNNNCTGNNGNCNTNGTNTCTGNCTNNNAGNNGNCGAANCTANNGANCCATANNTN
TTCGGNNCGCNNNNAAANAGGCTGAGCACGGTGTACGTCAGNCCGGAAAAGTGC
NNNGNTGTACCGGCTGTCTGGTATGTATGAGTTTGTGGTGAATAATGCCCCTGAACAGACAGAGGACGCCGGGCCCGCAGAGCCTGTTTCTGCGGGAAAGTGTTCGACGGTGAGCTGAGNTTTGCCCTGAAACTGG
CTCCCCNCCGNNCTNNCGNCTTCGTAATACTCACGCTGCT
NATTTGNGNCAGACCTTTTCCATGAATTGGTAACACCATCGATTGTGCTGGAACTGCTGGATGAACGGGAAAGAAACCAGCAATACATCAAACGCCGCGACC
TCGNNTNNTNNNNNNTNGNNNGTNANNCNGCCNGNTCCGCGTCNN

可以看出,N比较多。

序列质量在30以上的序列

$cat tmp.sam | grep -v ^@ | awk '{if($5 > 30) print $0}'| less -S

相关练习题

sam和bam格式文件的shell小练习

你可能感兴趣的:(生信入门day1-Linux)