单页
人类和其他动物(和植物)的物种中性幼虫框架:便携式 数据模型、图表验证、分界祖先、视图预测、自动 版式,服务器可发送的 React 组件和一个 Bayload CMS 插件.
状态:α. Schema-version-1合同在意图上是稳定的;套件API可能 仍然在第一次释放前改变.
| 软件包 | 目的 |
|---|---|
@captiveorigins/onepedigree-core | 数据模型 常态化 验证 转录 预测 布局 序列化 无反应、有效载荷或数据库依赖性. |
@captiveorigins/onepedigree-react | 服务器可响应SVG视图(全为13),可交互探索器,无头钩,CSS可变型. |
@captiveorigins/payload-plugin-onepedigree | 有效载荷插件:被管理,标准或被映射的收藏,周期安全序列化的写作,删除政策,权限意识端点,管理员预览和颜色设置. |
原则
- 父母身份由个人决定数字 :
parentage.parents[{ individual, role }], (中文(简体) ),reproductiveMode(单位:千美元)sexual, (中文(简体) ),parthenogenesis, (中文(简体) ),self, (中文(简体) ),asexual, (中文(简体) ),cloning, (中文(简体) ),other(中文(简体) ) 财务报告和审定财务报表cohort儿童与兄弟姐妹是生而无存的. - 未知无为. 角色从未从性别中推断出来;缺失的父母或模式是 未猜到; 不完整的幼稚园是有效的( 它们生成通知, 不是错误) .
- 安全无虞. 每道有深度和大小限制 并报告 截取; 循环被拒绝 .
- 身份对事件. (a) 一个被储存的个人可能多次出现在视图中; 事件总是映射到一个身份.
快开始
import { getAncestors, indexPedigree, validatePedigree, type PedigreeDocument } from '@captiveorigins/onepedigree-core'
const pedigree: PedigreeDocument = {
schemaVersion: 1,
individuals: [
{ id: 'atlas', label: 'Atlas', sex: 'male' },
{ id: 'nova', label: 'Nova', sex: 'female' },
{
id: 'ember',
label: 'Ember',
parentage: {
parents: [
{ individual: 'nova', role: 'mother' },
{ individual: 'atlas', role: 'father' },
],
reproductiveMode: 'sexual',
},
},
],
}
const { valid, issues } = validatePedigree(pedigree)
const ancestors = getAncestors(indexPedigree(pedigree), 'ember', { maxGenerations: 4 })
大型数据集:已执行 PedigreeRepository (单位:千美元)getByIds, (中文(简体) ), findChildrenOf)和打电话
loadNeighborhood();它每代加载一个有界限的邻里查询.
视图
pedigree, (中文(简体) ), fan, (中文(简体) ), ahnentafel, (中文(简体) ), descendants, (中文(简体) ), hourglass, (中文(简体) ), cohort, (中文(简体) ), relationship, (中文(简体) ),
timeline, (中文(简体) ), inbreeding, (中文(简体) ), population, (中文(简体) ), compact, (中文(简体) ), maternal, (中文(简体) ), paternal: 每个带一个
预测(projectPedigree),内置定型布局(layoutPedigree树,
分层或射线、纵向或横向)和反应成形器。 自定义布局引擎(如:.
ELK)通过插接 PedigreeLayoutEngine。 。 。 .
对于列表而不是图表("显示所有亲属"), relativesByGeneration(projection)
按代代(父母、祖父母、兄弟姐妹、,
后代,.); generationKind() 给主机提供要翻译的"伟大"的种类和数量,以及
generationLabel() 一个英文标签.
遗传学
可选且与 pedigree 文档相分离 (schema 1 不变): 主机
提供基因目录(GeneDefinition: 阴性,不完全的主导,
具有优势、多源或未知; 通过共享 locus· ;
Z-或X-链接)和个人 GenotypeRecords(视觉、单身、超级、湿润、,
有可能是偶然的,非载人,未知;如何知道.
pairingOdds——每个蝗虫的预期后代(超级形态,复合体,与性别相接 按后代性别划分; 假设没有未记录的基因,并报告为假设.expectedNormalLookingRecord例如,66%的可能从两个het.checkOffspring——被记录的父母不能生产的旗帜后代(检查亲子关系).carrierFromOffspring- 由视觉沉降后代证明的载体;建议 仅限(basis: 'inferred') (中文(简体) ).genotypeSummary——"超级帕斯特66%的可能Het Pied"出自唱片.
无事可猜:多基因和未经证实的基因没有概率,而一个与性别相关的基因需要性.
单位 @captiveorigins/onepedigree-react, (中文(简体) ), genotypes 在每个节点上绘制多个基因的 alle 点
(每个基因2个点,每个副本1个), GenotypeDots 把他们引到任何地方 geneOverlay 专注于一个
基因具有通常的基因血统符号和 GeneLegend。 。 。 .
发展
pnpm install
pnpm typecheck && pnpm test && pnpm build # build also writes apps/playground/dist (gallery.html, index.html)
apps/playground 显示每个固定位置的每个视图 : dist/gallery.html (静态,服务器 -
(已作出)和 dist/index.html (交互;服务文件夹等). python3 -m http.server) (中文(简体) ).
许可证
非商业形式 1.0.0. 免费用于非商业用途,具有归属性;商业用途需要从Captive Origins获得单独的许可证. 这一变化之前出版的版本仍然属于麻省理工学院.