FIMO生成的HTML报告采用标准HTML5结构,以<!DOCTYPE html>开头,根元素为<html lang="en">,含<head>(含title、内联CSS、排序/筛选JS)和<body>(含id="content"包裹的fimo-table表格),表格含固定表头、1-based坐标、碱基着色、原生排序与搜索功能,纯静态内联实现。

HTML文件顶层结构是标准的HTML5文档骨架
FIMO生成的HTML报告默认遵循<!DOCTYPE html>声明,根元素为<html lang="en">,内部包含<head>和<body>两大部分。其中<head>里有固定<title>(通常为“FIMO Results”)、内联CSS样式(无外部引用)、以及用于排序/筛选的JavaScript片段;<body>则以<div id="content">包裹全部可视化内容。
核心表格结构用<table class="fimo-table">承载结果数据
所有匹配位点都渲染在单个主表格中,表头固定包含:sequence_name、start、stop、strand、score、p-value、q-value、matched_sequence。注意:start和stop基于1-based坐标系,与BED格式一致;matched_sequence列显示实际比对上的DNA子串(大写),两侧用小写字母标出上下文(若输入FASTA提供足够侧翼)。
- 表格支持原生HTML排序:点击任意表头可按该列升/降序排列
- 每行
<tr>带data-strand、data-score等自定义属性,供JS交互使用 - 当结果超1000行时,FIMO默认只渲染前1000条(不截断原始TSV,仅HTML视图限制)
CSS样式集中在<style>标签内,无外部依赖
FIMO输出的HTML自带完整内联样式,不加载任何CDN或外部CSS文件。关键样式规则包括:
-
table.fimo-table设为border-collapse: collapse,单元格边框统一为1px solid #ccc -
.fimo-table th背景色为#f2f2f2,加粗且带悬停高亮 -
.fimo-table td中matched_sequence列的碱基用<span class="base-A">等分别着色(A=green, C=blue, G=orange, T=red) - 响应式处理极弱:表格无
overflow-x: auto,宽屏下可能横向溢出
JavaScript逻辑仅用于前端交互,不发起网络请求
嵌入的脚本块只做三件事:绑定表头点击排序、实现搜索框实时过滤、高亮当前选中的motif位置。所有逻辑运行在本地,不调用fetch或XMLHttpRequest,也不依赖jQuery等库——纯原生DOM操作。
立即学习“前端免费学习笔记(深入)”;
- 排序算法稳定,但对
p-value这类科学计数法字符串按字典序排(如1e-10会排在1e-5前面) - 搜索框默认匹配
sequence_name和matched_sequence两列,不区分大小写 - 若用浏览器“查看源代码”打开HTML,会发现
<script>末尾有注释<!-- FIMO v5.5.0 -->,版本号随实际运行版本变化
FIMO的HTML结构简单直接,但它的“静态性”恰恰是双刃剑:便于离线查看,也意味着无法动态加载更多结果或切换motif——所有内容都在生成那一刻固化了。











