call snp protocol by SOAP2

最近Tanger师兄让我看一个大豆基因组重测序的文章,里面call snp使用的是SOAP2等相关的软件,于是想自己摸索,写个call snp的流程出来,也算是一次尝试吧,写的不好不要见笑

soap是华大开发的一个系列软件,全称是Short Oligonucleotide Analysis Package,我理解的中文意思是短寡聚核苷酸序列分析包,soap有很多功能,我也在慢慢摸索学习,先说下我用到的两个软件SOAPsnp和SOAPaligner,分别用来call snp和mapping的,安装很简单,根据系统的版本在官网下载最新版本的软件,解压后即可使用,建议加入环境变量,不然用起来麻烦。接下来说下使用,SOAP2和GATK不同地方之一是:soap很多功能都是分开的,估计开发者是为了提高它的稳定性和准确性,最先需要对参考基因组建立索引,这需要用到SOAPaligner里面的一个工具2bwt-builder,专门用来对参考序列索引的。

2bwt-builder ref.fasta

运行完了之后会生成许多文件

不晓得为啥这个方法建立索引需要好久,可能是大豆基因组比较大吧。

由于我的数据是从ncbi上下载的,格式都是sra格式,现在需要用工具将其变成fastq格式,这需要安装ncbi上的一个sratoolkit来处理,解压即可使用,无需安装,有一个问题是,我在window系统下下载的然后再上传到服务器上,这样导致名字没sra后缀,这样这个工具会报错,所以需要先写个脚本或者直接用正则将名字全部更改,再用sratoolkit里面的fastq-dump处理,

时间: 2024-12-08 12:33:11

call snp protocol by SOAP2的相关文章

Netty对Protocol Buffer多协议的支持(八)

Netty对Protocol Buffer多协议的支持(八) 一.背景 在上篇博文中笔者已经用代码演示了如何在netty中使用Protocol Buffer,然而细心的用户可能会发现一个明显的不足之处就是,我们的Handler只能处理一种特定的类型,而我们的项目中又不可能只有一种类型,那么这个问题该怎么解决了?多的不说,笔者直接上代码. 二.代码实现 2.1 message的编写 syntax = "proto2"; package com.rsy.netty.protobuf; op

OC中protocol、category和继承的区别

利用继承,多态是一个很好的保持"对扩展开放.对更改封闭"(OCP)的办法,也是最常见的一种方法.Objective C还支持另外两种语法来支持OCP:Protocol和Category.Protocol只能定义一套接口,而不能提供实现,变相的也是一种Abstract class的实现方式(oc 语法上本身不支持抽象基类).Category可以为类提供额外的接口和实现.那么到底三者(继承, Protocol,Category)在使用上到底有什么本质的区别呢?在我看来,protocol的作

Redis Protocol specification

Redis Protocol specification Redis clients communicate with the Redis server using a protocol called RESP (REdis Serialization Protocol). While the protocol was designed specifically for Redis, it can be used for other client-server software projects

Protocol其他用法

1.protocol 的使用注意 1)Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现. @protocol SportProtocol <NSObject> { int _age; // 错误写法 } - (void)playFootball; - (void)playBasketball; @end 2)只要父类遵守了某个协议,那么子类也遵守. @protocol SportProtocol <NSObject> - (void)playFoo

Protocol类型限制

1.protocol类型限制 设定情景: 某攻城狮A希望找一个会做饭.洗衣服的女生做女朋友,有国企工作的优先. 满足条件的女生都可以向他发送消息 从题目中我们得到要求 会做饭 会洗衣服 有份好工作 @protocol WifeCondition<NSObject> - (void)cooking; - (void)washing; - (void)job; @end 如何在代码中要求对象必须具备这些行为? 数据类型<协议名称> 变量名 // 如果没有遵守协议则会报警告 id<

Ggoogle Protocol Buffer的使用 (基于C++语言)

首先说明的是Protocol Buffle是灵活高效的.它的一个很好的优点(很重要的,我认为)就是后向兼容性--当我们扩展了了.proto文件后,我们照样可以用它来读取之前生成的文件. 下面的例子,为了实现我们的一个应用 :通讯录,它包含一个人的名字,ID,电子邮件,联系电话,并实现存储与读取. 第一步,定义一个 .proto 文件 /* 首先是一个 package名称的声明,它的作用就是防止出现名字的冲突: 当生成C++代码的时候,对应的pacage名称会生成一个相同名字的命名空间. */ p

结合GATK和samtools以及picardtools call snp

刚开始学生物信息学,老师给了个以snp为标记来画遗传图的课题,研究了一段时间,开始用bwa+samtools来call snp,师姐以前用这套做过,她建议我用另外的方法来做,于是准备学下用GATK来做snp calling. call snp首先要有个比较准确的参考基因组,然后有样本,我的样本是杂交产生的F2,下面使自己的一些使用过程和心得体会, 这套流程相对于bwa和samtool来说有所不同,先需要对sample的fasta进行筛选,我自己找了下主要是用NGSQC toolkit下的perl

Simple Mail Transfer Protocol

https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol https://zh.wikipedia.org/wiki/简单邮件传输协议 Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (email) transmission. First defined by RFC 821 in 1982, it was last up

Protocol buffer序列化及其在微信蓝牙协议中的应用

Protocol buffer是Google出品的一种轻便高效的结构化数据存储格式,可对结构化数据进行序列化,并具有语言无关.平台无关等特点,在通信协议和数据存储等领域已经得到广泛的应用.目前其已经提供 C/C++.Java.Python 等语言的 API. 一.Protocol buffer和XML 在数据通信传输时,一般需要将结构化的数据序列化成流进行传送,接收方再反序列化为原始格式数据进行处理.在Web通信领域,XML应用算是最通用的了.在时间性能上,虽然XML的序列化开销还可以,但是反序