FunCross 是芳景生物自研的果蝇杂交方案生成器。只需输入亲本品系基因型或编号,即可自动推演 P0–F3 各代杂交组合,输出可视化杂交图与可执行实验步骤。无论您是要平衡维持 founder 品系、合并两个元件到同一条染色体,还是做染色体背景纯化,FunCross 都能在 1 分钟内给出方案。
FunCross 围绕「任务参数 + 基因型输入 + 杂交图渲染 + Protocol 输出」四大模块,覆盖 5 类常见果蝇杂交场景。
提示:不确定怎么开始?点击参数面板里的「载入任务示例」按钮,自动按当前任务填好示意基因型,点「生成杂交方案」即可看效果。
9 步完成一份杂交方案。每步聚焦一个动作,建议从第 1 步顺序往下走。
在左栏顶部「任务」下拉里挑一个:
提示:不确定?点「载入任务示例」自动按当前任务填好示意基因型。
任务确定后,下方联动控件会切换:
1 (X) / 2 / 3X+2 / X+3 / 2+3每张「基因型输入卡」支持 3 种输入方式:
6 或 FBst0000006 或 v10004,按 Enter 或点「解析」自动载入完整基因型。w[1118]; Tg1/CyO; +/+,实时显示预览与置信度。提示:「个体模式」可指定性别(♀ / ♂ / 未指定),雄性 X 第二同源自动锁 Y。「品系模式」会自动推导 ♀/♂ 形态并标红致死 / 不育错误。
重组 / 组装任务需要填两张卡。品系 1 作母本,品系 2 作父本。
recombine / assemble / replace / introgression 任务会在模式行露出「致死 / 不育」下拉,按元件所在染色体自动切换 4 态(X)或 2 态(常染色体)。
提示:致死 / 不育走任务参数,不走基因型注释。引擎按 params.viabilityA / viabilityB 决定 F1–F3 的存活分支。
点左栏底部「生成杂交方案」按钮:
is-dirty)表示参数变更。右栏警告框里有红线提示时(例如「回交对象必须是受体背景平衡系」「平衡子断点覆盖不足」),优先采纳。
− / ⤾ / + 缩放看清结构。点右栏「复制 Protocol」按钮:
步骤1: …)到剪贴板。@media print 已隐藏按钮与滚动条)。FlyCross Designer 内置形态启发式(INF-A 规则),能在你输入基因型后立即识别「挂在致死平衡子上的元件」形态,把「致死 / 不育」下拉自动调到正确档位,并在警告框里说明依据。FlyCross Designer ships with a shape-based heuristic (INF-A) that immediately recognises "insert over a lethal balancer" shapes when you finish entering a genotype. The "Viability / Sterility" dropdown is auto-set to the right value, and the warn-box carries the rationale.
当一条染色体的两条同源上有跨同源(trans)配对——一边是非野生型元件,另一边是该染色体的致死平衡子——形态识别即触发。The heuristic fires when a chromosome's two homologs carry a trans (across-homolog) pair: one homolog carries a non-wild-type allele, the other carries that chromosome's lethal balancer.
FM7a / FM7c (FM7 系列)(FM7 series)Tg1/FM7a、P{GAL4}/FM7cbothLethal)CyO / TM3 / TM6B / TM2 / Sp / ScoTg1/CyO、w[*]/CyO、UAS-GFP/Splethal)TM3 / TM6B / TM2Tg1/TM6B、GAL4/TM2lethal)CyO)自身纯合致死,所以「挂 CyO」就等于「建不了纯合系」——维持系形态是直接证据。Autosome: balancers such as CyO are homozygous-lethal on their own, so "carrying CyO" already means "you can't make a homozygous line" — the maintenance shape is direct evidence.FM7a / FM7c 自身纯合雌可活可育,致死性来自被平衡的那条 X。所以识别依据反过来:「能纯合就不必挂平衡子,挂了就是信号」——元件挂在 FM7 上本身就说明被平衡的 X 有问题。X chromosome: FM7a / FM7c are homozygous-viable-and-fertile in females; the lethality comes from the X they balance. The detection rule inverts: "if it can be homozygous, there's no need for a balancer — so carrying one is the signal" — anything placed over FM7 indicates that the balanced X is the problem.bothLethal(无法仅从形态区分雌致死 / 雄致死)。That's why the X result is the most conservative bothLethal — shape alone can't distinguish female- vs male-lethal.[INF-A] 标签与具体说明,例如:Warn-box text: a [INF-A] tag and a concrete explanation, e.g.
2 号染色体上检测到同源 Tg1/CyO(lethal 平衡子形态),保守把终点改为 CyO 平衡维持系。 / chr2 detected trans-pair Tg1/CyO (lethal-balancer shape); endpoint forced to a CyO-balanced maintenance line.X 染色体上检测到同源 Tg1/FM7a(FM7 平衡维持形态),保守把终点改为 FM7a 平衡维持系,并按雌雄均受影响处理。 / X detected trans-pair Tg1/FM7a (FM7 maintenance shape); endpoint forced to an FM7a-balanced line and treated as both-sex affected.y[1] w[1118] FM7a/Y(雄性单条 X 上 cis 携带 y[1], w[1118], FM7a):FM7a 雄性半合子天然可活,不判维持系。cis pairing (both insert and balancer on the same homolog), e.g. y[1] w[1118] FM7a/Y — a male carrying y[1], w[1118] and FM7a cis on a single X. FM7a hemizygous males are viable, so this is not a maintenance shape.Tg1/Tg1:不是「挂在平衡子上」的形态,不触发。Homozygous shape, e.g. Tg1/Tg1 — not "over a balancer", so no trigger.Tg1/Y:另一同源是野生型且无平衡子,不触发。Male hemizygous, e.g. Tg1/Y — the other homolog is wild-type and carries no balancer, so no trigger.关闭方式:How to disable: 形态识别是默认开启的。如需关闭,在「载入任务示例」后手动选回「雌雄可育」即可;闸门以槽位(A / B)独立记录你的覆盖决定,不会被其他输入改动冲掉。The heuristic is on by default. To turn it off for a slot, set that slot's dropdown back to "viable" after loading — the gate remembers your override per slot (A / B) and isn't reset by other input edits.
按使用流程分组,覆盖输入、引擎、画布、回交四大常见踩坑点。Grouped by workflow stage: input, engine, canvas, backcross — the four most common stumbling points.
FlyCross 默认按 FlyBase / BDSC 规范大小写解析基因型(TM6B、CyO、GAL4)。小写或混写也能识别——解析层会自动归一化,无需用户死记硬背。FlyCross parses genotypes using FlyBase / BDSC canonical case (TM6B, CyO, GAL4). Lowercase or mixed-case also works — the parser layer normalises automatically; you don't have to memorise case.
tm6b、cyo、gal4 时,下方会弹出候选(如 TM6B、CyO、GAL4),按 ↑/↓ 选中、Enter/Tab 确认。直接忽略候选也无所谓,解析层会兜底。Live suggestions: when you type tm6b, cyo, gal4, a dropdown shows canonical candidates (e.g. TM6B, CyO, GAL4). Use ↑/↓ to navigate, Enter/Tab to confirm. You can ignore the dropdown entirely — the parser still resolves it.w[1118]、y[1])、P{…} / Mi{…} / PBac{…} 构造、用户自定义的 construct 名(如 UAS-GFP、Act5C-GAL4)保持原样。这些是 FlyBase / BDSC 的大小写敏感场景。Tokens we never rewrite: square-bracket contents (w[1118], y[1]), P{…} / Mi{…} / PBac{…} constructs, and user-defined construct names (e.g. UAS-GFP, Act5C-GAL4). These are FlyBase / BDSC case-sensitive by convention.TM6 是真实存在的独立平衡子,不会被自动映射为 TM6B。TM6 is a real, separate balancer — it is never auto-mapped to TM6B.gal4 / Gal4 视为 GAL4(BDSC 默认规范写法大写)。gal4 / Gal4 are treated as GAL4 (BDSC's canonical spelling is uppercase).FM7 / FM7b 由用户填规范名(研究习惯问题,不自动补)。FM7 / FM7b are filled in by the user (research-habit nuance; not auto-completed).字典维护详见 docs/allele-dictionary-maintenance.md(新增 / 修订 allele 的 SOP)。For dictionary maintenance see docs/allele-dictionary-maintenance.md (SOP for adding / revising alleles).
默认走 BDSC。前缀 v 或 VDRC_ 走 VDRC;FBst… 或 FlyBase_ 走 FlyBase。例如 v10004 自动识别为 VDRC v10004。
等价于点「解析」按钮,立即调 /api/stock-lookup 拉取完整基因型并写回。
是。选个体模式 + 雄性时,X 第二同源框变灰自动写 Y;切回雌性自动重置 +,避免假基因型。
assemble 任务会自动拒绝并提示 sameChromosomeWarning,请切到「重组 (recombine)」任务先合并到同一条染色体。
能。引擎会自动切到「母本 = 致死品系」+「FM7a 保护」路径,Protocol 提示「重组染色体在 FM7a 保护下不再发生交换」。
不是。画布只画活下来的个体(engine/PLAN_PROTOCOL.md 规则 Q7)。致死类按设计意图不出现在图上。
不是。节点显示简化名(剥 P{…} 行号),例如 P{w[+mC]=Act5C-GAL4}25F01 在 canvas 上显示为 Act5C-GAL4。悬停节点 tooltip 显示 full 全基因型 + 表型提示。
可以。右上角 − / ⤾ / + 三个按钮,缩放范围 0.4× ~ 2×。按住背景左键可拖动平移。
当前实现是触发浏览器打印对话框(window.print(),@media print 隐藏按钮与滚动条),选「另存为 PDF」即可。后续会换 html2pdf / jsPDF + html2canvas。
必须用「受体背景平衡系」(如 Sp/CyO 或 TM2/TM6B 品系雌性),不是普通 w[1118] 受体。警告框会自动提示。
平衡子会抑制交换,让侧翼供体片段无法削掉。平衡子只在终点(如纯合致死时)才引入。
公式 (2^i − 1) / 2^i(i = 回交代数)。回交 5 代 → 受体背景 ≥ 31/32(≈ 96.9%);回交 10 代 → ≥ 1023/1024(≈ 99.9%)。画布会显示「回交 N 代后受体背景 ≥xx/xx」。
不是。这是「维持系形态自动识别」(INF-A 规则)命中:X 上 FM7a 是平衡维持形态——元件挂在 FM7a 上就说明被平衡的 X 携带致死 / 不育突变,引擎保守按最严的 bothLethal 处理。如已实测雌雄可育,可在「致死 / 不育」下拉手动改回「雌雄可育」,该选择会被记为「用户已确认」并保留。No. The "maintenance-stock auto-detection" (INF-A) just fired: FM7a on X is a balancer-maintenance shape — anything over FM7a indicates the balanced X carries a lethal / sterile allele, and the engine conservatively forces bothLethal. If you've empirically validated viability, set the dropdown back to "viable" — that gets recorded as "user-confirmed" and sticks.
因为这是 cis 配对——y[1]、w[1118]、FM7a 都在同一条 X 上(另一同源是 Y),不是「元件挂在平衡子另一侧」的维持形态。FM7a 雄性半合子天然可活,不该被判维持系;启发式按 trans 配对识别,主动跳过这种情形避免假阳性。Because it's a cis pairing — y[1], w[1118], and FM7a all sit on the same X (the other homolog is Y), which is not the "insert over balancer" maintenance shape. FM7a is hemizygous-viable in males, so it must not be flagged. The heuristic deliberately requires a trans pair, sidestepping this false-positive case.