流式细胞文件(.fcs)结构简介

这篇具有很好参考价值的文章主要介绍了流式细胞文件(.fcs)结构简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FCS一个完整的数据集主要有以下几部分:

  1. 头段(必须)

    • 从数据集的第一个字节开始,文件的第一个数据集是从文件的第一个字节开始,最小长度为58个字节。
    • 以ASCII码解析。
    • 记录内容包括文件版本号(0~5共6字节)、文本段开始字节位(10~17共8字节)、文本段结束字节位(18~25共8字节)、数据段开始字节位(26~33共8字节)、数据段借宿字节位(34~41共8字节)、分析段开始字节位(42~49共8字节)、分析段借宿字节位(50~57共8字节)、其它段起止字节位(非必须,长度可自定义,但推荐8字节)。
    • 文件版本号表示该文件是以哪个版本的FCS协议进行保存的,比如FCS2.0、FCS3.0、FCS3.1、FCS3.2,各个版本的版本号均还是6个字符,ASCII编码后是6字节。
    • 6~9字节是空白预留字节,目前直到FCS3.2版本也未使用到。
    • 各段起止字节位均是8字节,以ASCII解码后是一个数字字符串,数字字符串长度不足8位的会以空白字符(0x00)补齐。
    • 各段起止字节位是相对版本号第一个字节的位置,并不一定是相对文件第一个字节的位置,在一个文件保存多数据集的情况下(虽然不推荐,但可能存在),前一个数据集文本段会有下一个数据集起始位($NEXTDATA)。
    • 除了文本段,其它段的起止位的数字字符串长度超过8位,则在文本段中写入实际的起止位,头段则写入0。
    • 文本段的起止位的数字字符串长度超过8位的,需要将文本段拆分为文本段和补充文本段,必须在头段中记录文本段的完整起止位。
    • 流式细胞文件(.fcs)结构简介
  2. 文本段(必须)、补充文本段(非必须)

    • Key-Value形式存储数据。
    • 段的第一个字节是分隔符,分隔Key和Value以及下一个KeyValue,分隔符通常以KeyValue中不会出现的字符作为分隔符,FCS3.2版本推荐分隔符为0x0A,早期较多厂商使用垂线(0x7C)作为分隔符。
    • 如果KeyValue中出现分隔符,则需要写入两个连续的分隔符表示,类似于\\和\的意思。
    • Key值以ASCII解码,Value在FCS3.1、FCS3.2以UTF8解码,早期版本的FCS可以自定义解码格式($UNICODE)。
    • 预定义的Key以$符号开头,自定义的Key无此限制。
    • 预定义的Key除了各段的起止位置外,还包含实验、数据、样本等重要信息,其中部分是必须写入的,比如通道数($PAR)、总事件数($TOT)、通道名称($PnN)等。
  3. 数据段(必须)

    • 数据段存储着各个通道的事件数据。
    • 存储模式分两种:直方图模式(C)、列表模式(L),其中直方图模式在FCS3.1版本不推荐,FCS3.2版本不支持。各大厂商通常使用列表模式。
    • 列表模式解析是从第一个通道的第一个事件开始,先循环通道,再循环事件,依次读取字节,即同一个事件的各个通道的数据按照通道顺序连续写在一起。
    • 数据段的数据有4种:I(整型)、F(单精度浮点)、D(双精度浮点)、A(ASCII,较难见到)。
    • 不同类型的数据使用不同的字节数或位数存储,在文本段中会记录各个通道使用的位数($PnB),其中单精度浮点固定为32位,双精度浮点固定为64位,ASCII模式下$PnB表示字节数,整型模式下$PnB表示位数。
    • 整型模式下$PnB通常为8的倍数,否则解析算法比较复杂,解析速度较慢。目前各大厂商也是这么做,通常为16位或32位。
    • 注意标准协议中整型模式下,数据存储是没有符号的,即整型模式下的数据均为正数,这也很好理解,采集信号要么有(正数),要么没有(0)。但部分厂商并未遵循此规则,原因是采集到的信号被计算处理过后变成负数。
  4. 分析段(非必须)、其它段(非必须)

    • 分析段通常存储着分析过程或结果,但大部分情况下此段并不会出现,因为采集数据的机器软件并不特别擅长分析或者分析的结果并不会存入文件,通常交给专业的分析软件,比如FlowJo等。分析软件通常也不会修改原始文件。
    • FCS3.1及以前版本,分析段与文本段一样是Key-Value形式,FCS3.2版不再限制为此形式,可以是任何形式,可能是几张图片,可能是一个Json字符串。
    • 其它段属于自定义段,各个厂商可以根据自己需要创建只有自己软件能解析的段,通常情况下也不会出现。
  5. CRC16校验(必须)

    • 两个字节,CRC16校验码,跟随FCS3.2的发布,CRC16的计算方式也以代码的形式一起发布了。
  6. 传送门:

    • FCS标准协议PDF文件下载地址:https://download.csdn.net/download/lwlcctv/86440144
    • 流式图表开源地址:https://gitee.com/Lvwl-CN/FCSChart

 文章来源地址https://www.toymoban.com/news/detail-522321.html

到了这里,关于流式细胞文件(.fcs)结构简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Langchain 流式输出到前端(真正解决方法,附最佳实践的完整代码)

    当我们深入使用Langchain时,我们都会考虑如何进行流式输出。尽管官方网站提供了一些流式输出的示例,但这些示例只能在控制台中输出,并不能获取我们所需的生成器。而网上的许多教程也只是伪流式输出,即先完全生成结束,再进行流式输出。 以下是我为大家提供的真正

    2024年02月05日
    浏览(38)
  • 【移动端网页布局】流式布局 ① ( 流式布局简介 | 百分比布局 / 非固定像素布局 | 根据屏幕尺寸 / 设备类型自动调整网页布局 )

    流式布局 又称为 百分比布局 / 非固定像素布局 ; 为 流式布局 中 盒子模型 设置 百分比宽度 , 其大小可以根据屏幕宽度自适应伸缩 , 该盒子没有像素限制 , 内容自动向左右两边填充 ; 流式布局 可以 根据 设备屏幕尺寸 和 设备类型 自动调整 网页布局 和 标签元素大小 , 以适应

    2024年02月03日
    浏览(47)
  • Nginx目录结构简介:深入理解Nginx的默认文件和目录

    第一章 Nginx的默认目录结构 当你安装Nginx后,它的默认目录结构如下: 让我们逐个了解这些目录和文件的作用。 第二章 conf目录 conf目录包含了Nginx的配置文件,其中nginx.conf是Nginx主配置文件,它包含了所有全局的Nginx配置项。mime.types文件包含了MIME类型的定义,它告诉Nginx如

    2024年02月13日
    浏览(58)
  • 易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5\\\'-甲基胞嘧啶 (5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸(CpGs)上。CG差异甲基化区

    2024年04月17日
    浏览(37)
  • 【数据结构】单链表完整代码实现

    前置文章:顺序表的代码实现 每个结点除了存放数据元素外,还要存储指向下一个结点的指针。 不要求大片连续空间 改变容量方便 不可随机存取 要耗费一定空间存放指针 代码结构: 定义单链表结构 初始化单链表 单链表的取值方法 单链表的查找方法 单链表的插入方法 单

    2024年02月07日
    浏览(37)
  • 数据结构-顺序表详解(含完整代码)

    指用一段地址连续的存储单元依次存储线性表的数据元素。 该图片来源于《大话数据结构》—作者程杰 数据长度: 是存放线性表的存储空间的长度,存储分配后这个量一般是不变的。 线性表长度: 线性表长度是线性表数据元素的个数,会随着插入和删除操作的进行,这个

    2023年04月08日
    浏览(34)
  • 数据结构之动态顺序表(附带完整程序)

    ☀️(1)线性表: 是n个具有相同特性的数据元素的有限序列。线性表在逻辑上是线性结构,但在物理上存储时,通常以数组和链式结构的形式存储。 ☀️(2)顺序表: 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数

    2024年02月14日
    浏览(45)
  • 从零起步:学习数据结构的完整路径

    🎉欢迎来到数据结构学习专栏~从零起步:学习数据结构的完整路径 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java学习路线 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 🍹文章作者技术和水平有限,如果文中出

    2024年02月11日
    浏览(48)
  • 数据结构:链栈(含完整代码,可复制)

           链栈是采用链式存储结构实现的栈,通常用单链表来表示。链栈的优点是不存在栈满上溢的情况(只有在内存溢出时才会出现栈满,通常不考虑)。链栈的栈顶是链表的第一个结点,栈底是链表的最后一个结点,一个链栈可以由栈顶指针唯一确定。链栈的每个结点都

    2024年02月01日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包