GATK入门

GATK入门GATK 入门的最佳姿势虽然 GATK 的功能超级多 但是主要可以归为以下几个方面 诊断和质量控制工具 Diagnosticsa 序列数据处理工具 SequenceData 变异位点探索工具 VariantDisco 变异位点评估工具 VariantEvalu

  1. Add read groups (Picard tools)
    AddOrReplaceReadGroups.jar I=sorted.bam_file O=s1.rg.bam RGLB=genome RGPL=ILLUMINA
    RGPU=GATKv4 RGSM=sample_name VALIDATION_STRINGENCY=LENIENT
    用了picard tools的AddOrReplaceReadGroups.jar加了read group,根据以前百度GATK的经验,了解GATK要求bam文件的header必须包含@RG,所以这一步应该是前面比对时候,没有在参数中增加相应部分。所以如果我在比对的时候增加了这个参数,这一步就可以免了。


  2. Mark duplicates (Picard tools)
    MarkDuplicates.jar INPUT=s1.rg.bam OUTPUT=s2.dedup.bam ASSUME_SORTED=TRUE
    VALIDATION_STRINGENCY=LENIENT METRICS_FILE=s2.dedup.metrics

用picard tools的MarkDuplicates.jar去重。这是因为二代测序有一部桥式PCR扩增底物的过程,在100x以上出现reads重复,很大可能是PCR扩增重复了,所以可以直接去掉。

  1. Index (samtools)
    samtools index s2.dedup.bam
    samtools的index,建立索引,提高检索效率。

  2. Realign reads (create intervals first, then do IndelRealigner) (GATK)
    GenomeAnalysisTK.jar -I s2.dedup.bam -R ref_file -T RealignerTargetCreator -o s3.intervals
    GenomeAnalysisTK.jar -T IndelRealigner -I s2.dedup.bam -R ref_file -targetIntervals s3.intervals -o
    s4.realn.bam
    先建立indel区间文件,然后对该区域进行reads重比对。这一步我没有经验,然后我在GATK的论坛搜索了这个工具,发现原因是indel会导致附近的错配,所以需要借由这一步降低indel附近的假阳性。但是最新的HaplotypeCaller or MuTect2已经不需要了,这些工具的haplotype组装步奏效果类似。这里的UnifiedGenotyper or the original MuTect.还是要的。



  3. Unified genotyper (GATK)
    GenomeAnalysisTK.jar -T UnifiedGenotyper -R ref_file -I s4.realn.bam -glm BOTH -o s5.UG1.vcf -mbq 30 -nt
    使用UnifiedGenotyper寻找variant。论坛搜索发现,现在推荐用HaplotypeCaller,效果更好。
    4


  4. Base score recalibrator (GATK)
    GenomeAnalysisTK.jar -T BaseRecalibrator -I s4.realn.bam -R ref_file -knownSites s5.UG1.vcf -o s6.recal

根据上一步得到vcf文件对第四步得到BAM文件进行碱基重校准,得到校准所需的文件。

  1. Print Reads (GATK)
    GenomeAnalysisTK.jar -T PrintReads -R ref_file -I s4.realn.bam -BQSR s6.recal -o s7.recal.bam
  2. Unified Genotype (GATK)
    GenomeAnalysisTK.jar -T UnifiedGenotyper -R ref_file -I s7.recal.bam -glm BOTH -o s8.UG2.vcf -mbq 30
  3. Base score recalibrator (GATK)
    GenomeAnalysisTK.jar -T BaseRecalibrator -I s4.realn.bam -R ref_file -knownSites s8.UG1.vcf -o s9.recal
  4. Print Reads (GATK)
    GenomeAnalysisTK.jar -T PrintReads -R ref_file -I s4.realn.bam -BQSR s9.recal -o s10.recal.bam
  5. Unified Genotyper (GATK)
    GenomeAnalysisTK.jar -T UnifiedGenotyper -R ref_file -I s10.recal.bam -glm BOTH

基本方法就是以生物学意义的方式计算基因表达量,然后通过统计学分析表达量寻找具有统计学显著性差异的基因,从而

说人话就是,基因A和基因B的平均值之差与两者中较小的比值。选择2-3倍的基因作为结果(为什么是2-3倍,就是大家约定俗成)。

用到的数据来自于一篇文献“A pooled shRNA screen for regulators of primary mammary stem and progenitor cells identifies roles for Asap1 and Prox1”。

install.packages(“R.utils”)

read.delim(files[1], nrow=5)

EntrezID GeneLength Count

sample1 <- read.delim(files[1],header = T)[,c(1,3)]

count.table <- data.frame(sample1)

然后要提供colData,其中colData存放列名要和countData的行名相同。

colData

all(rownames(colData) %in% colnames(count.table))

最后导入数据:

到底用啥:数据集小于30 -> rlog,大数据集 -> VST。还有这个处理过程不是用于差异检验的,在DESeq分析中会自动选择最合适的所以你更不需要纠结了,记得用raw count。

dds <- estimateSizeFactors(dds)

colnames(df)[1:2] <- c(“x”, “y”)

结果就是转换后更加集中了。

同样的可以用Poisson Distance (Witten 2011)计算距离,计算方式如下:

plotPCA(rld,intgroup=c(“condition”))

能够明显的发现不同处理的距离离得很远。

比如可以指定比较对象Basal和PL,可以用mcols查看结果存储的元数据,了解列名的含义。

于是乎结果就和limma差不多了。

为什么要做多重试验矫正?

如果我们选择了所有小于或等于矫正p-value阈值的所有显著性基因,假阳性比例( false discovery rate, FDR)是多少?

Up

head(resSig[ order(resSig$log2FoldChange), ])

Down

head(resSig[ order(resSig$log2FoldChange, decreasing = TRUE), ])

heatmap

大致可以发现同一组的基因颜色是相同的,也就是说表达量相近。

首先对基因表达分析(上)做一个简单的回顾

然后用Salmon建立索引:

salmon index -t athal.fa.gz -i athal_index

tximport可以纠正不同样本基因长度的潜在改变(比如说differential isoform usage);能够用于导入 (Salmon, Sailfish, kallisto)程序的输出文件;能够避免丢弃那些比对到多个基因的同源序列,从而提高灵敏度

install.packages(“readr”)

install.packages(“rsjon”)

reading in files with read_tsv

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

summarizing abundance

summarizing counts

summarizing length

head(txi l e n g h t ) h e a d ( t x i lenght) head(txi lenght)head(txicounts)

我希望通过循环的方式,以每个matrix的两列作为输入做线性拟合, 如下

lm(u[,1]~u[,2])

我忘记了c()会把所有matrix降成一维,这就很尴尬了。这是因为R不支持对非向量集合的循环操作。如果想实现非向量集合的循环,只能曲线救国,如lapply或get,这里介绍get。

for (m in c(“u”,“v”)){

  • z <- get(m) 
  • print(z) 
  • }
    [,1] [,2]
    [1,] 1 9
    [2,] 2 10
    [3,] 3 11
    [4,] 4 12
    [5,] 5 13
    [6,] 6 14
    [7,] 7 15
    [8,] 8 16
    [,1] [,2]
    [1,] 17 23
    [2,] 18 24
    [3,] 19 25
    [4,] 20 26
    [5,] 21 27
    [6,] 22 28















于是,这解决了我昨天晚上遇到的问题。我打算对3个DESeq2的比较table进行过滤,

本来代码长下面这个样子,各种他提示错误:

所以最后的代码长这个样子:

其实可以用list,然后用lapply, 然后分别提取的。

resSigUp <- lapply(list(res1,res2,res3), subset, padj < 0.01 & log2FoldChange >0 )

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231470.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mybatisplus自定义拦截器_springboot自定义拦截器

    mybatisplus自定义拦截器_springboot自定义拦截器文章目录自定义MyBatis拦截器作用MyBatis中的四大核心对象在mybatis中可被拦截的类型有四种(按照拦截顺序)拦截器需要实现Mybatis提供的Interceptor接口利用反射获取运行中的实体字段的名字利用反射动态的为sql语句传递新参数使用mybatis自定义的拦截器为插入,更新语句自动赋值的时候的小bug使用自定义MyBatis拦截器在对数据库进行更新插入的时候动态添加修改人,创建人参数定义拦截器类在mybatis的配置文件中声明拦截器在mapper映射文件中获取拦截器中设置的参数验证结果

    2025年10月14日
    4
  • 如何修改Foxmail的背景

    如何修改Foxmail的背景

    2021年7月6日
    553
  • chmod的用法_举例说明chmod的两种用法

    chmod的用法_举例说明chmod的两种用法虽然Ubuntu图形化已经做得很好,但是还是有些操作需要在命令行下执。chmod命令详细用法指令名称:chmod使用权限:所有使用者使用方式:chmod[-cfvR][–help][–version]modefile…说明:Linux/Unix的档案调用权限分为三级:档案拥有者、群组、其他。利用chmod可以藉以控制档案如何被他人所调用。…

    2022年10月20日
    4
  • 截止失真放大电路_技术分享:音频功放失真及常见改善方法「建议收藏」

    截止失真放大电路_技术分享:音频功放失真及常见改善方法「建议收藏」音频功放失真是指重放音频信号波形畸变的现象,通常分为电失真和声失真两大类。电失真就是信号电流在放大过程中产生了失真,而声失真是信号电流通过扬声器,扬声器未能如实地重现声音。无论是电失真还是声失真,按失真的性质来分,主要有频率失真和非线性失真两种。其中,引起信号各频率分量间幅度和相位的关系变化,仅出现波形失真,不增加新的频率成分,属于线性失真。而谐波失真(THD)、互调失真(IMD)等可产生新的频率…

    2022年5月20日
    52
  • 总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

    总结thinkphp快捷查询getBy、getField、getFieldBy用法及场景

    2021年10月19日
    67
  • Maven(1) 安装与配置(配置本地仓库路径)

    Maven(1) 安装与配置(配置本地仓库路径)第一步:安装JDK并配置环境变量(注意:全部配置到系统变量或者用户变量!!)cmd输入java-version验证是否安装第二步:安装maven进入官网下载Maven:https://maven.apache.org/download.cgi解压maven就安装好了哦~~第三步:maven环境变量配置①MAVEN_HOME–>…

    2025年12月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号