博文

Clinvar数据库CNV结果怎么获取【解决】

clinvar数据库每周都会更新。 获取制表符分隔的变异结果: wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/variant_summary.txt.gz 从中筛选致病和可能致病的CNV(GRCh37)的结果: grep -P "^#|GRCh37" variant_summary.txt | grep -P "^#|pathogenic\t|Pathogenic" | grep -P  "^#|copy number gain|copy number loss" > variant_summary_cnv.txt 另外,第二列是变异类型,可以先统计一下都有什么类型: cut -f 2 variant_summary.txt | sort | uniq 之前查到过一种说法,gain和loss在肿瘤学里指拷贝数的变化,deletion则指纯合缺失,duplication指加倍以上(比如2倍体的拷贝数是2,加倍的拷贝数就是4,加倍以上就是至少拷贝数为5)的扩增。 不过这只是一种说法,我也不是很确信,至少在clinvar里,CNV应该是标黄的两个。 del和dup啊insertion等变异的叫法真的很容易混淆(中文也混淆),别人经常那这些东西问我,问过还容易忘记,我嘴皮子都解释破了,还是按照大小来区分吧。 complex copy number gain copy number loss deletion duplication fusion indel insertion inversion NT expansion protein only short repeat single nucleotide variant Translocation Type undetermined variant

比较不同样本同一区域测序深度的R实现

图片
一、测序深度概率分布模型       只有理解测序深度分布模型,才能更好地理解测序数据,理解测序深度相关的分析,比如拷贝数变异检测、差异表达分析等。下文基于参考资料,加上自己的理解写成,理解的也不是很正确,欢迎留言指教。 1-多项分布 ki为某个region上比对的reads总数,一次测序好比从一个瓮中抽一个彩球,一个瓮就是一个pool,抽某个颜色的球的概率pi取决于彩球在瓮中的比例,如果抽样次数即测序总reads数N远远小于DNA模板数(即瓮中彩球总数),那么每种球抽到的个数(每个区域上的片段总数ki的向量)符合多项分布,每种球被抽到的概率pi是不会随着抽样次数N而改变的。但是随着我们测序通量的加大,测序的reads数有时候甚至能够超过模板数,因此这个模型可能不是太适用了。 2-二项分布和泊松分布 如果单独地考虑一个片段被测序的次数(一个球是否被抽到,不放回抽样),是否被测序(抽到没抽到)只有是否2个选项,测序彼此之间相互独立(每次抽相互独立,球与球之间不会互相干扰),区域i上测序reads数ki即符合二项分布,试验次数N即测序总reads数,成功概率取决于region i的片段占中片段的比例和测序的容易程度,pi会随着N而变化。N变大,pi变小,二项分布会收敛于泊松分布。实际的测序比较符合后者,因为现在的NGS里测序reads数都很大。 3-过度离散的泊松分布(复合泊松分布) 上述的理想实验描述了从一个非常大的DNA片段总体中重复抽样的过程,但是,重复抽样虽然可以作为技术重复的假设,却没办法作为生物学重复的假设。一个实验里的生物学重复就意味着生成了一个新的DNA片段总体,在这个新的样本总体里,基因组上不同区域上被抽样的概率p不是完全相同。因此虽然泊松近似的二项分布依然可以来描述一个单独的抽样,因为N依然很大,而pi很小,但是样本j在特征(比如区域)i上读断数的期望值E(Kij)会随着样本j而变化。测序深度符合泊松分布,测序深度的均值也符合泊松分布,所以就是复合泊松分布。而且因为方差大于均值,所以这个泊松分布是过度离散的。就是说不同样本同一个区域之间的reads数方差大于他们的均值。 为了构建这样一个模型,模型需要有以下的特征:       1)模型需要能够支持0...

RMarkdown中文报错的问题【解决】

今天学习RMarkdown(Win10笔电),结果因为里面有中文就报错了。我试了yaml的header有中文和正文有中文都会报错,搜索看到文件存放路径含中文也会报错。 解决 1)查询语言设置是否中文 Sys.getlocale() [1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936" 显然不是语言设置的问题 2)根据搜索到的结果,安装了rticles包(建议直接从github安装) 顺便:devtools使用代理需要设置: library(httr) set_config(   use_proxy(url="127.0.0.1", port=1080) #使用本机代理 ) 但是使用Ctex document模板在kniter渲染的时候还是报错了 3)根据Yihui Xie的建议,更新以下两个包到最新版本 devtools::install_github(c('rstudio/rmarkdown', 'yihui/tinytex')) tinytex::install_tinytex() 更新后重启R,用以下命令确认是否安装上tinytex tinytex:::is_tinytex() 然后就可以正确输出中文了。 *********************追加******************** rmarkdown::render('1.Rmd')  中文乱码问题 由于上述问题解决之后,kniter渲染html已经能正常显示中文,所以就是Rmd文件编码的问题。把Rmd文件另存为GB2312编码格式,就能正常显示中文了。 后来查到Yihui Xie说: 如果文件编码是 UTF-8,那么需要 rmarkdown::render('你的文件.Rmd', encoding = 'UTF...

bcftools处理vcf文件

合并同一个样本的两个vcf文件:bcftools concat -a <snp.vcf.gz> <indel.vcf.gz> 合并不同样本的vcf文件,合并的每个样本会在info后面体现:bcftools merge --force-samples  <s1.vcf.gz> <s2.vcf.gz> 拆分1000genome下载的PHASE3 vcf文件: for file in *.vcf*; do   for sample in `bcftools query -l $file`; do     bcftools view -c1 -Oz -s $sample -o ${file/.vcf*/.$sample.vcf.gz} $file   done done bcftools query -l vcf文件:可以列出vcf文件里的所有样本名称 bcftools view -c1 -Oz -s 样本名 -o 结果vcf   输入的vcf  :可以把若干样本(逗号分隔)的vcf文件拆出来保存