[发明专利]一种基于家族图谱的系谱树生成算法在审
申请号: | 202211298714.6 | 申请日: | 2022-10-24 |
公开(公告)号: | CN115525799A | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 李梦瑶;赵梓丞;贺小兰;张文博 | 申请(专利权)人: | 深圳百人科技有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/958;G06N3/12 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518118 广东省深圳市坪山区坑梓街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 家族 图谱 系谱 生成 算法 | ||
本发明公开了一种基于家族图谱的系谱树生成算法,涉及家族图谱领域,解决了现有的D3.js引用的树由于姻亲关系导致的家庭成员间的冲突,导致节点可能被覆盖,正确的冲突处理方式仍没有解决的问题,现提出如下方案,其包括以下步骤:S1:输入DNA格式的统计;S2:家族图谱系谱树生成功能的实现;S3:利用隐藏规则处理家庭成员之间的冲突,并为家庭成员的显示与隐藏提供一个完善的规则。本算法对逻辑关系的处理更准确,且可以避免系谱树支离破碎的特点。
技术领域
本发明涉及家族图谱领域,尤其涉及一种基于家族图谱的系谱树生成算法。
背景技术
利用来自D3.js引用的树,可以正确的显示父、子、兄、妹等的关系,现有的算法能够涉及到这些元素,并且通过反复绘制他们而形成整个图表。
尽管使用来自D3.js引用的树能够更清晰显示家庭系谱图(相较于二叉树),但由于姻亲关系导致的家庭成员间的冲突,导致节点可能被覆盖,正确的冲突处理方式仍需被解决。因此提出一种基于家族图谱的系谱树生成算法。
发明内容
本发明的目的在于提供一种基于家族图谱的系谱树生成算法,解决了现有的D3.js引用的树由于姻亲关系导致的家庭成员间的冲突,导致节点可能被覆盖,正确的冲突处理方式仍没有解决的问题。
为实现上述目的,本发明提供如下技术方案:一种基于家族图谱的系谱树生成算法,包括以下步骤:
S1:输入DNA格式的统计:
(1)在对基因网络系统的界面进行设计后;
(2)对用户输入的数据进行处理,输入的DNA格式参考了BGI法医的亲子鉴定格式,一般为:样本名称,标记等位基因(1-N);
S2:家族图谱系谱树生成功能的实现:
(1)首先,通过使用dajaxice函数,JavaScript页面请求并接收JSON格式的所有系谱树节点列表;
(2)然后,JavaScript页面将信息存储到几个列表中,进行数据的处理和绑定;
(3)将d3选择器指向HTML页面中的SVG元素,确保绘制的所有元素都附加在SVG块中,将数据与相应的节点绑定,使用d3库中的selection.Data函数,将创建的每个节点与数据列表中相应的元素关联,连接所有已知节点来建立出家庭遗传系谱树;
S3:利用隐藏规则处理家庭成员之间的冲突,并为家庭成员的显示与隐藏提供一个完善的规则。
优选的,所述S2的(2)中整个作用域中定义了三个列表,完整列表、成员列表和隐藏列表;
完整列表:存储家族树中的所有节点,成员列表:存储家族树中显示的所有节点,隐藏列表:存储家族树中隐藏的所有节点。
优选的,所述S2的(3)中家庭系谱树的生成基于基节点和隐藏规则,基节点与根节点不同,根节点是没有父节点的节点,而基节点是当前所研究对象的中心成员,基节点的定义是属于父节点下首先被定义的一个节点。
优选的,直接子节点和非直接节点可以在系谱图上显示出来:直接子节点与父节点之间是直线,非直接子节点与父节点之间是折线,使系谱树的各成员关系更加清晰。
优选的,所述S3中该隐藏规则被定义为只有直接子节点允许包含配偶节点,而非直接子节点必须隐藏配偶和后代信息,可以添加非直接子代的配偶或其后代节点,但不允许在非子代的配偶和后代上添加新的节点。
与相关技术相比较,本发明提供的一种基于家族图谱的系谱树生成算法具有如下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳百人科技有限公司,未经深圳百人科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211298714.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种光伏晶棒三合一粘胶自动化生产线
- 下一篇:一种整流器的制造工艺及整流器