首页 > 其他分享 >利用bwa将自己的数据与参考基因组比对与sam格式转换

利用bwa将自己的数据与参考基因组比对与sam格式转换

时间:2024-07-17 17:07:11浏览次数:16  
标签:fq sam paired read 基因组 bwa reads

1.bwa的下载与安装

https://www.jianshu.com/p/19f58a07e6f4
主要参考这篇帖子,如果之前的步骤都走通了的话,依赖什么的不用特别安装,报错了再补也可以

安好了之后,进到他的路径,输./bwa,就可以确认bwa有没有安装好了,环境设置好以后可以在其他地方输入bwa,也可以叫他出来。
在正式开始使用之前,注意建立索引index:
Usage:bwa index [ –p prefix ] [ –a algoType ] <in.db.fasta>
示例:
解释:
–p prefix :这是你的index的名字,或者说前缀,这个名字是你自己起的,我叫他ZS97genome
–a algoType :-a [is|bwtsw] 构建index的算法,有以下两个选项:
    -a is 是默认的算法,虽然相对较快,但是需要较大的内存,当构建的数据库大于2GB的时候就不能正常工作了;
    -a bwtsw 对于短的参考序列式不工作的,必须要大于等于10MB, 但能用于较大的基因组数据,比如人的全基因组。
<in.db.fasta>:这个是你先下载的基因组文件,记得写绝对路径
建立的过程就是这样,显示这样的东西就说明建立好了:

2.利用bwa将数据与参考基因组进行比对,获得sam文件

这里主要是使用bwa的 BWA-MEM 算法,输入命令:
Usage: bwa mem [options] ref.fa reads.fq [mates.fq]
解释范例:
bwa mem -M -t 8 -k 32 ZS97genome /root/bidui/SRR13810477_paired_1_R1_paired.fq.gz /root/bidui/SRR13810477_paired_1_R2_paired.fq.gz > SRR13810477-test.sam
[options]:这是一些按需求调节的参数,主要如下:
-t INT 线程数,默认是1,增加线程数,会减少运行时间。
  -M 将 shorter split hits 标记为次优,以兼容 Picard’s markDuplicates 软件。
  -p 若无此参数:输入文件只有1个,则进行单端比对;若输入文件有2个,则作为paired reads进行比对。若加入此参数:则仅以第1个文件作为输入(会忽略第二个输入序列文件,把第一个文件当做单端测序的数据进行比对),该文件必须是read1.fq和read2.fa进行reads交叉的数据。
  -R STR 完整的read group的头部,可以用 '\t' 作为分隔符, 在输出的SAM文件中被解释为制表符TAB. read group 的ID,会被添加到输出文件的每一个read的头部。
  -T INT 当比对的分值比 INT 小时,不输出该比对结果,这个参数只影响输出的结果,不影响比对的过程。
  -a 将所有的比对结果都输出,包括 single-end 和 unpaired paired-end的 reads,但是这些比对的结果会被标记为次优。
  -Y 对数据进行soft clipping, 当错配或者gap数过多比对不上时,会对序列进行切除,这里的切除并只是在比对时去掉这部分序列,最终输出结果中序列还是存在的,所以称为soft clipping。
ref.fa:这是你刚刚建立的index的名字
reads.fq:这是你用Trimmomatic处理出来的数据,记得用绝对路径

SRR13810477-test.sam:这就是你要输出的文件的文件名
特别说明:
如果 mates.fq 缺省,且参数 –p 未设定,那么 reads.fq 被认为是 single-end;
如果 mates.fq 存在,且参数 –p 未设定,那么 mem 命令会认为 read.fq 和 mates.fq 中的 i-th reads 组成一个read对 (a read pair),这个模式是常用的 paired-end mode。
如果参数 –p 被设定,那么, mem 命令会认为 read.fq 中的 第 2i-th 和 第 (2i + 1)-th 的 reads 组成一个 read 对 (a read pair),这种方式也被成为交错式的(interleaved paired-end)。 在这种情况下,即使有 mates.fq,也会被忽略。
过程主要是这个样子的:


处理完就会产生你想要的sam文件,当然也可以和samtools联用直接变成bam,不过第一次尝试就一步一步来吧
你可以在bwa的文件夹里找到你的sam文件,找不到就用find来找:
find / -name SRR13810477-test.sam

标签:fq,sam,paired,read,基因组,bwa,reads
From: https://www.cnblogs.com/wu8567612/p/18307849

相关文章

  • 全基因组DNA甲基化测序数据工作流程分析和性能评估 分析软件比较 | 生信专区
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。DNA甲基化与转录调控、基因组印记、干细胞分化、胚胎发育和炎症等过程有关。DNA甲基化异常可能揭示疾病状态,包括癌症和神经系统疾病。因此,人类基因组中5-甲基胞嘧啶(5mC)分布和位点是一个重要的研究方向。全基因组重亚......
  • 使用Samba在Ubuntu和Windows下共享文件处理
    使用Samba在Ubuntu和Windows下共享文件处理在Ubuntu下安装sambasudoaptupdatesudoapt-getinstallsamba添加用户到Ubuntu中sudoadduserchris:创建系统用户sudosmbpasswd-achris:添加用户到Samba配置Sambavim/etc/samba/smb.conf在最下面添加如下信息:......
  • Windows系统账户管理核心:‘samsrv.dll’解析与丢失修复全方案
    samsrv.dll是Windows操作系统中的一个重要动态链接库(DLL)文件,它与SAM(SecurityAccountsManager)服务密切相关,负责处理本地和网络账户的管理,包括用户登录、权限验证和密码更改等操作。samsrv.dll文件在Windows系统中扮演着关键角色,尤其是在网络环境下,它帮助处理与网络账户相关的......
  • samba服务配置
    《2024网络建设与运维》河北省samba服务配置。任务描述:请采用samba服务,实现资源共享。配置linux3为samba服务器,建立共享目录/sharesmb,共享名与目录名相同。[root@linux3~]#yuminstallsamba-y[root@linux3~]#sudomkdir-p/sharesmb[root@linux2~]#chownr......
  • 【ZhangQian AI模型部署】目标检测、SAM、3D目标检测、旋转目标检测、人脸检测、检测
    目标检测【yolov10部署rknn、地平线、tensorRT、C++】【yoloworld部署rknn、地平线、tensorRT、C++】【yolov9部署rknn、地平线、tensorRT、C++】【yolov8部署rknn、地平线、tensorRT、C++】【yolov7部署rknn、地平线、tensorRT】【yolov6部署rknn、地平......
  • Ubuntu安装samba和webdav实现共享文件
    samba#安装Sambaaptupdateaptinstallsamba#配置Sambavim/etc/samba/smb.conf##文件末尾添加[share]comment=sharepath=/home/wy/store/sharebrowsable=yesguestok=yesreadonly=nocreatemask=0755#重启Samba服务systemctl......
  • D. Same GCDs
    原题链接题解\(\gcd(a+x,m)=\gcd((a+x)mod\m,m)\)由于\(x\in[0,m-1]\),所以\((a+x)mod\m\)一定能遍历完\([0,m-1]\)里的所有数所以\(\gcd(a+x,m)\)等价于\(\gcd(x,m)\)接下来,令\(d=\gcd(a,m)\),则有\(m=t_1d\),\(x=t_2d\),其中\(t_1\)与\(t_2\)互质(如果不互质,......
  • not_the_same_3dsctf_2016
    not_the_same_3dsctf_2016查看保护就不说了IDA反编译发现为静态编译,不用找libc了这点节省不少功夫。打开main函数,发现栈溢出漏洞偏移为45,这个是根据gdb的cyclic算出来的发现后门函数get_secret,功能是把flag读取赋值给fl4g初步思路为通过栈溢出,调用get_secret,再通过write函......
  • 三星 NAND FLASH命名规范 Samsung NAND Flash Code Information
    一共有三页,介绍了前面主要的编号和横杠后面的编号,当前文档只关注前面的编号。从前面的命名规范中可以得知当前芯片的容量、技术等概要信息,对芯片有一个整体了解。详细解释SmallClassification表示存储单元的类型和应用,比如SLC1ChipXDCard表示是SLC的,包含1个Chip的XD......
  • Java面试八股之MYISAM和INNODB有哪些不同
    MYISAM和INNODB有哪些不同MyISAM和InnoDB是MySQL数据库中两种不同的存储引擎,它们在设计哲学、功能特性和性能表现上存在显著差异。以下是一些关键的不同点:事务支持:MyISAM不支持事务,没有回滚或崩溃恢复的能力。InnoDB是事务安全型的,支持事务处理、回滚、行级锁定和外键约......