生物信息学笔记7:对sam文件重新排序

通过hisat2比对得到sam文件,如果重复多次用同一个命令比对同一条序列,每次得到的sam文件其实是大小一样但内容顺序不同的文件,所以我们需要用软件进行重新排序。 在sam文件所在目录建立bam1.sh文件: touch bam1.sh nano bam1.sh 在文本编辑器中输入: for i in *.sam; do i=${i%_align.sam*}; nohup samtools sort -@ 1 -o ../bam-dta/${i}.bam ${i}_align.sam 2>/mnt/hgfs/dnaseq/chrX_data/third/bam-dta/${i}bam.log & done 保存后,运行该sh文件: sh bam1.sh 运行完毕后在bam-dta目录下生成排序好的bam文件,如下图:

生物信息学笔记6:hisat2比对生成sam文件

在上一步,我们建立了index,可以在运行index命令的目录(我是在dnaseq\chrX_data\third\index,这个dnaseq目录是win10和linux的共享文件夹,关于该共享文件夹可能有些人可能还会有点弯路要走,我一开始是在linux下面找不到这个共享文件夹,这个后面如果有时间我会专门写一篇)下找到相应的文件如下图(里面包括了chrX.exon和chrX.ss这两个从gtf文件中提取的,以及剩下的就是index文件,有1-8,但是在比对时用chrX_tran代表): 然后,我们进入samples目录(就是我们下载了序列的目录),如下图: 注意了,上面图片示例都是在win10下截图的,只是为了更好理解,实际这一步还是在linux下操作比较方便,因为接下来要建立一个批处理文件samAA.sh是在linux下运行的。如下图: 建立方法,在linux,samples文件夹,输入命令: touch samAA.sh 然后编辑该sh文件: nano samAA.sh 在编辑其中输入命令: for i in *1.fastq.gz; do i=${i%1.fastq.gz*}; nohup hisat2 -p 1 --dta -x /mnt/hgfs/dnaseq/chrX_data/third/index/chrX_tran -1 ${i}1.fastq.gz -2 ${i}2.fastq.gz -S /mnt/hgfs/dnaseq/chrX_data/third/sam-dta/${i}align.sam 2>/mnt/hgfs/dnaseq/chrX_data/third/sam-dta/${i}align.log & done 保存退出后,在该文件夹下直接输入“sh samAA.sh”运行循环比对(多条序列比对)。 这个命令为什么这么写: for语句第一行是要取出该目录下序列的文件名,就是1.fastq.gz前面的名字,比如“ERR188428_chrX_”, do 开始循环,只要存在这样的i就继续执行,以其中循环一遍为例,比如让i=ERR188428_chrX_, nohup开始在后台运行比对,比如把log保存在“/mnt/hgfs/dnaseq/chrX_data/third/sam-dta/ERR188428_chrX_align.log”里面,这样可以在文件里面查看是否成功,如果不成功问题提示如何。 hisat2 语句中“-p 1”是指单一进程运行比对,可以跟进电脑配置自行调整; “--dta”是指输出的文件给stringtile继续使用; “-S”注意这里是大写S,千万注意,这是指定位置输出比对好的sam文件,不要搞成小写s。 好了,比对结果如下图(看一下目录名,和命令行比较): 解释一下:命令行中有“/mnt/hgfs/”,后面才跟上dnaseq目录(这个是两个系统的共享目录),这个是因为linux下面的共享目录要挂载在/mnt/hgfs/下面。 因为比对时随机的,如果你用notepad++打开sam文件会发现里面的内容每次都是不一样的(但总大小一样,因为随机比对,顺序每次都不同),所以sam文件比对好以后还要进行排序,今天就到这里了。

生物信息学笔记5:用hisat2软件包建立基因组index

顾名思义,建立基因组索引,主要是提高比对的速度、效率,对剪切位点进行预测,hisat2建立基因组+转录组+SNP索引,so,为什么要建立索引: 高通量测序有成千上万条reads需要高效比对到参考基因组上,并且保证一定的准确率,答案不一定说完全正确,但一定要非常接近真实数据。需要根据参考基因组序列,经过一定算法(大部分情况是BWT或其改良算法)转换成index,把reads通过和index的比较过程进行回贴(maping到参考基因组),大幅度缩短比对maping的时间。(关于BWT算法,请参考:http://www.bio-info-trainee.com/?s=bowtie和http://www.biotrainee.com/thread-26-1-1.html,后期考虑转载过来学习以防链接失效) 步骤: 1、从注释文件里面抽取出剪切位点和外显子信息,用到hisat2文件夹下面的extract_splice_sites.py和extract_exons.py 比如,注释文件在此路径:chrX_data/genes/chrX.gtf 这个gtf文件最好自己从Ensembl上下载,或者Entrez上下载。 则命令行: extract_splice_sites.py chrX_data/genes/chrX.gtf >chrX.ss extract_exons.py chrX_data/genes/chrX.gtf >chrX.exon 2、用hisat2建立index hisat2-build --ss chrX.ss --exon chrX.exon chrX_data/genome/chrX.fa chrX_tran 3、当需要使用snp信息时,命令行需加入下面几行 extract_snps.py snp142Common.txt > genome.snp  #####注释:本行井号后面请勿复制,本命令主要是将snp信息文件转换成hisat2可以使用的文件 hisat2-build -p4 genome.fa --snp genome.snp --ss genome.ss --exon genome.exon genome_snp_tran   特别忠告:如果是用chrX练手,而且你的电脑内存大于10G,那可以尝试自己建立index,其他情况,请下载现有index,因为这步工作内存小干不了,内存大也需要时间去完成(是很多很多很多时间)。

mip改造pro插件中加入iframe转换功能

今天又发现有一条mip链接校验不通过,原因是iframe没有转换成mip-iframe,这个插件还是有待改进啊(i3geek不知道什么时候才会更新),还是自己动手、丰衣足食(当然我不后悔买了这个插件,毕竟基本功能在那里呢,自己改改代码也不要多少时间)。 首先找到插件目录下面的i3geek_mip_standard.php文件,在第7行插入“$content = self::iframe($content);”,如下图: 然后在第41行插入如下代码(借鉴了原作者中转换img标签的的函数代码): function iframe($content){ $content=preg_replace("/<(\/iframe.*?)>/si","",$content); preg_match_all('/<iframe (.*?)\>/', $content, $ifs); if(!is_null($ifs)) { foreach($ifs[1] as $index => $value){ $mip_iframe = str_replace('<iframe', '<mip-iframe width="1000" height="500" allowfullscreen', $ifs[0][$index]); $mip_iframe = str_replace('>', '></mip-iframe>', $mip_iframe); //$mip_iframe = preg_replace('/(width|height)="\d*"\s/', '', $mip_iframe ); $mip_iframe = preg_replace('/ srcset=\".*?\"/', '',$mip_iframe); $content = str_replace($ifs[0][$index], $mip_iframe, $content); } } return $content; } 该段代码插入位置参考图片如下: 下面做个测试:    

生物信息学笔记4:hisat2的下载安装及环境配置

一、需要分析的序列,比如在samples文件夹里: ERR188044_chrX_1.fastq.gz ERR188044_chrX_2.fastq.gz ERR188104_chrX_1.fastq.gz ERR188104_chrX_2.fastq.gz ...... 我就不一一列出来,这里列出来主要就是想说同一个序列有1和2,就是双端测序的意思   二、ubuntu18.04下面hisat2的下载和安装,这个差点忘记写。 先找个目录,比如建立个biosoft的目录,专门用于放生物信息相关软件。 1、命令行先建立后进入该目录: mkdir ~/biosoft cd ~/biosoft 2、进入目录后下载hisat2软件: wget ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip 3、解压缩下载的zip压缩包(解压后获得hisat2-2.1.0的文件夹): unzip hisat2-2.1.0-Linux_x86_64.zip 4、改文件目录名(我没有改名字,这步骤可以忽略,也可以把文件夹名字改短点): mv hisat2-2.1.0 hisat2 5、加环境变量: 很多地方用vi后者vim命令,我用不习惯,我觉得用nano比较方便: nano ~/.bashrc 然后出现了如下界面,移动光标到末尾,加入“PATH=$PATH:~/biosoft/hisat2-2.1.0:........”: 输入后,保存按ctrl+o,回车,然后ctrl+x退出。 请不要直接用export命令,该命令只能在当前登录窗口有效,断开连接后再次用同一个用户登录,也会重置环境。 保存好后,还需要让环境生效: source ~/.bashrc 6、环境配置好后可以在任意文件目录输入:hisat2,然后出现如下信息说明配置成功:     本来想把hisat2的下载安装使用全放在一起,后来转念一想,分开的话以后搜索起来会更方便点。