利用 freebayes call SNP

1,软件介绍

FreeBayes
is a Bayesian
genetic variant detector designed to find small polymorphisms, specifically SNPs
(single-nucleotide polymorphisms), indels (insertions and deletions),

MNPs (multi-nucleotide polymorphisms), and complex events
(composite insertion and substitution events) smaller than the length of a
short-read sequencing alignment.

FreeBayes is haplotype-based, in the sense that it calls variants
based on the literal sequences of reads aligned to a particular target, not
their precise alignment.

This model is a straightforward generalization of previous ones (e.g.
PolyBayes, samtools, GATK) which detect or report variants based on
alignments.

This method avoids one of the core problems with alignment-based variant
detection--- that identical sequences may have multiple possible alignments.

2,安装与使用

服务器已经安装好软件,下面举例说明用法,

参考序列为:

RAP_cDAN.fasta

bam文件为:

LCS173-1.sorted.rmp.rg.bam

LCS173-2.sorted.rmp.rg.bam

LCS173-3.sorted.rmp.rg.bam

RCS173-1.sorted.rmp.rg.bam

RCS173-2.sorted.rmp.rg.bam

RCS173-3.sorted.rmp.rg.bam

这是样本CS173的六组数据,每组bam数据都经过了sort, remove duplicate, add read group
步骤,这几个前期处理数据步骤是必须的。对bam文件的处理

详见本博客其他文章。除了这几步以为,还要对bam文件进行index,即每个bam文件都要有相应的bai文件。数据处理好后,就可以进行call
snp了。

命令:

freebayes -f RAP_cDAN.fasta -L bamfile.list > CS173.vcf

其中,-f 后跟参考序列。-L 后面跟纯文本文件,里面就是bam文件的名字,因为文件较多,所以将名字都放到一个文件中。如果你只有一个文件,那直接将

文件名放于参考序列后面就可以了。 > 是进行重定向,即将结果保存到CS173.vcf文件中。

也可以同时call 不同的样本, 只要将不同的样本数据放到bam.list文件中就可以了,注意,不同样本数据的read
group必须唯一,不能重复。

当命令结束后,就会得到结果文件,文件中记录了snp的信息。详细的vcf格式说明另见博客文章。

这是最简单的使用方法,还有一些参数,如果感兴趣的话可以调试,如-C ,默认值为2,即变异位点处至少有两个和参考碱基不同,才会考虑是snp位点。

假如,此某位点的覆盖度为10,但之后一个和参考碱基不同,剩下9个是一样的,那么这个位点不会被call出。

另一个参数-F 默认为0.2
,即至少有20%的碱基和参考碱基不同才能被call出。假如某位点深度为100,但是只有10个碱基和参考序列不同,是不会被call出的。

这主要是考虑到了测序错误,比对错误等原因,才设置下限,目的是提高call
snp的准确性。但是要根据你自己的数据情况,假如你用RNA-seq数据研究等位基因特异性表达,

某些位点也许表达量很多,深度达到了1000,其中有100个碱基和参考序列有差别,如果你用默认设置,此时并不能将snp call
出,但这可能是一个很重要的特异表达位点。

所以要根据自己的使用目的来设置参数。

3,更多的例子。

examples:

# call variants assuming a diploid sample

freebayes -f ref.fa aln.bam >var.vcf

# require at least 5 supporting observations to consider a
variant

freebayes -f ref.fa -C 5 aln.bam
>var.vcf

# use a different ploidy

freebayes -f ref.fa -p 4 aln.bam
>var.vcf

# assume a pooled sample with a known number of genome
copies

freebayes -f ref.fa -p 20
--pooled-discrete aln.bam >var.vcf

# generate frequency-based calls for all variants passing
input thresholds

freebayes -f ref.fa -F 0.01 -C 1
--pooled-continuous aln.bam >var.vcf

# use an input VCF (bgzipped + tabix indexed) to force
calls at particular alleles

freebayes -f ref.fa [email protected] in.vcf.gz aln.bam
>var.vcf

# generate long haplotype calls over known variants

freebayes -f ref.fa --haplotype-basis-alleles
in.vcf.gz \   --haplotype-length 50 aln.bam

# naive variant calling: simply annotate observation
counts of SNPs and indels

freebayes -f ref.fa --haplotype-length 0
--min-alternate-count 1 \    --min-alternate-fraction 0
--pooled-continuous --report-monomorphic >var.vcf

3,进一步阅读

https://github.com/ekg/freebayes

在装有freebayes的服务器中 敲击 freebayes -h

By freemao

FAFU.

[email protected]

时间: 2024-10-29 10:47:49

利用 freebayes call SNP的相关文章

互信息应用于SNP特征选择的局限

互信息已广泛应用于特征选择问题,但应用在 SNP 选择上还存在着一些局限.第一,互信息只能衡量一个 SNP 组合与表型的相关性, 无法衡量多个 SNP 与表型的相关性.第二, 利用互信息排序 SNP 时,隐含着一个假设,即: SNP 间是相互独立的,不存在着依赖关系.然而事实上,SNP 间存在着广泛的交互作用.因此,互信息排序 SNP 会严重低估交互作用 SNP 的重要性.第三,利用互信息选择 SNP 组合时,任意加入一个新 SNP 都会使互信息值不小于加入前该 SNP 组合的互信息值,限制了不

全基因组重测序基础及高级分析知识汇总

全基因组重测序基础及高级分析知识汇总 oddxix 已关注 2018.09.20 17:04 字数 11355 阅读 212评论 0喜欢 6 转自:http://www.360doc.com/content/18/0208/11/19913717_728563847.shtml 全基因组重测序是通过对已有参考序列(Reference Sequence)的物种的不同个体进行基因组测序,并以此为基础进行个体或群体水平的遗传差异性分析.通过全基因组重测序,研究者可以找到大量的单核苷酸多态性位点(SNP

利用千人基因组数据库查看SNP在不同地区、国家、洲的频率及个数

首先,进入千人基因组数据库的网站:https://www.ncbi.nlm.nih.gov/variation/tools/1000genomes/ 如下图所示,在数据库的框框里输入我们感兴趣的SNP,比如rs608139 搜索后出现如下界面,黄色区域是我们感兴趣的SNP,红色框框是不同国家和地区在该SNP对应的频率和个数. 千人基因组数据库包括的国家和地区如下表所示. 国家 Continent Population (Abb) 中国,北京 Asian CHB 日本,东京 Asian JPT 中

如何用 samtools 和 bcftools call snp

samtools 之前博文已经介绍过一些常用的方法.本篇主要说下如何利用samtools 和 bcftools来call snp. 和其他工具一样,bam文件都要经过处理(另见博文).假如对C17样本进行call snp, 数据为: LC17-1_L002.sorted.rmp.rg.recal.bam LC17-2_L006.sorted.rmp.rg.recal.bam LC17-3_L002.sorted.rmp.rg.recal.bam RC17-1_L003.sorted.rmp.rg

GATK的BaseRecalibration程序在无标准SNP数据库情况下,是否还能进行BaseRecalibration?

GATK(Genome Analysis Toolkit)是美国Broad Institute研发的一套检测SNP(SNP calling)的流程.测序后的碱基质量由于测序过程中的物理化学反应和测序仪的瑕疵会导致碱基质量偏离真实情况,为了矫正碱基质量,BaseRecalibrator程序被开发出来.在碱基质量矫正过程中,已知的标准SNP数据库是非常重要的输入文件,例如人类的dbSNP数据库.但如果研究的基因组是一个比较新的物种,没有标准的SNP数据库的话,对碱基指令进行校正是否还可行?答案是仍有

利用MATLAB进行曲线拟合

软件环境:MATLAB2013a 一.多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小. 在MATLAB中,利用函数ployfit和ployval进行多项式拟合. 函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n).其中x为自变量,y为因变量,n为多项式阶数. polyval的输入可以是标量或矩阵,调用格式为 pv = polyval(p,a) pv = pol

利用 Django REST framework 编写 RESTful API

利用 Django REST framework 编写 RESTful API Updateat 2015/12/3: 增加 filter 最近在玩 Django,不得不说 rest_framework 真乃一大神器,可以轻易的甚至自动化的搞定很多事情,比如: 自动生成符合 RESTful 规范的 API 支持 OPTION.HEAD.POST.GET.PATCH.PUT.DELETE 根据 Content-Type 来动态的返回数据类型(如 text.json) 生成 browserable

LR如何利用siteScope监控MySQL性能

本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope工具监控MySQL数据库性能: 一.在网上下载siteScope 我在网上搜了很久,发现siteScope软件的下载资源很少,毕竟它是收费的,想找个破解版,不过还是有的,哈哈...但是版本旧了点siteScope7.9.5 下载地址:http://download.csdn.net/detail/y

利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

登录界面 <body><form action="login1.php" method="post"><div>用户名:<input type="text" name="uid" /></div><br /><div>密码:<input type="password" name="pwd" />