首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    自己动手计算TSS Enrichment score

    所谓TSS Enrichment score, 其实是所有基因TSS位点测序深度的平均值。...要计算这个值,需要两个文件,一个是bam文件,保存了测序深度信息,另外一个是参考基因组TSS位点文件,可以从gtf文件中提取得到,记录了TSS位点的染色体位置。...根据这个矩阵可以绘制TSS两侧reads分布图, 也可以计算TSS Enrichment score。 deeptools就是采用了上述策略,用法如下 ?...通过deeotools可以直接出图,tss.matrix.txt文件保存了matrix的纯文本信息,可以读取这个文件计算TSS Enrichment score。...该脚本计算TSS Enrichment score, 并绘制TSS两侧read的分布图。相比deeptools,在计算coverage的过程中进行了归一化,核心代码如下 ?

    5K20

    Linux内核13-进程切换

    本文就研究Linux内核的进程切换。我们首先理解几个概念。 1.1 硬件上下文 我们知道每个进程都有自己的地址空间,但是所有的进程却共享CPU寄存器。...旧版本的linux利用x86架构提供的硬件支持,并通过远程调转指令(GNU-ljump;Intel-jmp far)进行进程切换,跳转到下一个进程的任务状态段(TSS)描述符。...1.2 任务状态段-TSS x86架构包含一个特殊的段寄存器,称为任务状态段(TSS),用来保存硬件上下文内容。尽管Linux不使用硬件上下文切换,但还是给每个不同CPU建立一个TSS。...在Linux的设计中,每个CPU就只有一个TSS,所以,Busy位总是设为1。换句话说,Linux中Type域一般为11。...显然不能保存在TSS中,因为Linux为每个CPU就建立了一个TSS,而不是为每个进程建立TSS。

    2.6K20

    操作系统进程的实现---中---05

    下面先来看看sys_fork执行完后的代码 将当前线程PCB赋值给eax 判断PCB的状态是否为0,在linux 0.11中,0是就绪状态,而非0是阻塞状态 如果调用了相关sys_read和...内核–进程的调度schedule和switch_to解析 任务状态段TSS及TSS描述符、局部描述符表LDT及LDT描述符 Linux 0.11用tss切换,但也可以 用栈切换,因为tss中的信息可以...; 先来看看Linux 0.11中switch_to的完整源码实现 switch_to() (sched.h 第173行) /********************************...首先,将当前父进程的eip和cs放在tss中,说明子进程一会如果执行的话,会从父进程在中断进入内核态时,压入栈中的eip和cs处开始执行 然后eax设置为了0,这一点很重要 因为linux 0.11...然后通过其文件头中定义的信息,就可以找到该文件的入口地址处 然后,通过iret中断返回后,eip会被设置为hello.exe程序的地址,因此子进程就直接去执行该hello程序了 ---- 小结 Linux

    1.1K60

    时间系统、进程的调度与切换

    三、进程切换 由于i386 CPU 要求软件设置TR 及TSS,Linux 内核只不过“走过场”地设置TR 及TSS,以满足CPU 的要求。...我们知道,新任务的内核栈指针(SS0 和ESP0)应当取自当前任务的TSS,可是,Linux 中并不是每个任务就有一个TSS,而是每个CPU 只有一个TSS。...Intel 原来的意图是让TR 的内容随着任务的切换而走马灯似地换,而在Linux 内核中却成了只更换TSS 中的SS0 和ESP0,而不更换TSS 本身,也就是根本不更换TR 的内容。...这是因为,改变TSS 中SS0 和ESP0 所化的开销比通过装入TR 以更换一个TSS 要小得多。因此,在Linux内核中,TSS 并不是属于某个进程的资源,而是全局性的公共资源。...在多处理机的情况下,尽管内核中确实有多个TSS,但是每个CPU 仍旧只有一个TSS。

    2.7K00

    深入分析Linux内核源代码阅读笔记 第四章、第五章

    硬件支持: Intel i386 体系结构包括了一个特殊的段类型,叫任务状态段(TSS)。...每个任务包含有它自己最小长度为 104 字节的 TSS 段,在/include/ i386/processor.h 中定义为 tss_struct 结构;每个 TSS 有它自己 8 字节的任务段描述符。...另外一个数据结构,这就是 thread_struct 结构; 任务门中包含有 TSS 段的选择符。...当 CPU 因中断而穿过一个任务门时,就会将任务门中的段选择符自动装入 TR 寄存器,使 TR 指向新的 TSS,并完成任务切换。...在 Linux内核中,TSS 并不是属于某个进程的资源,而是全局性的公共资源,只更换 TSS 中的 SS0 和 ESP0,而不更换 TSS 本身,也就是根本不更换 TR 的内容。

    1.1K50
    领券