一个简单的工具,它获取一个动物ID列表,为给定的ID及其所有祖先的ID提取一个谱系文件,用排序后的ID构建一个新的谱系文件,并将输出转储到一个新文件。

pedRefiner的Python项目详细描述


pedRefiner的建议用法:pipeline()方法。

param 1 lst_fn:包含要从系谱中重绘的动物列表的文件,每行一行

参数2 ped fn:输入谱系文件,3列

参数3选项:输出谱系文件,3列

4个GNYMAX:(0)LSTYFN

中每个人的最大递归生成到GRIP

参数5中缺少u:('.')输入文件缺少值,默认值为'.'.'.

参数6缺少输出:('.')输出文件缺少值,默认值为'.'.'.

参数7 sep_in:(',')输入文件的分隔符,默认值为','即csv

param 8 sep_out:(',')输出文件的分隔符,默认值为',',即csv

param 9 xref fn:(none)修改输出谱系的交叉引用文件

param 10 flag_r:(false)bool,如果为true,则输出子体id

Example:
  • Python

    from pedRefiner import PedRefiner

    pr = PedRefiner()

    # pr.help()

    pr.pipeline(‘animal_list’, ‘ped.input.csv’, ‘ped.output.csv’, gen_max=3)

  • 猛击

    # 1 2 3 4gen_max 5missin 6missout 7sepin 8sepout 9 10

    pedRefiner.py ANM_LST PED_INPUT.csv PED_OUTPUT.csv [3 0 0 , , xref True]

Description:
  • 提取anmlist文件中所有动物祖先的血统;

  • 如果指定了'-r'选项,则从anmlist文件中打印出所有子代的ID,而不是打印出经过优化的血统;

  • 如果指定了以空格分隔的3列外部参照文件,则使用第1列作为命令,外部参照系谱信息:

    # line starting with sharp will be ignored

    # cmd = A : [A]ll ID1 (col1, 2 and 3) will be changed to ID2

    A ID1 ID2

    # cmd = S : All ID1 in the [S]ire (2nd) column will be changed to ID2

    S ID1 ID2

    # cmd = D : All ID1 in the [D]am (3rd) column will be changed to ID2

    D ID1 ID2

  • 如果检测到同一动物的多个条目,则强制接受最新版本;

Updates:
  • 版本2017-02-23在指定rec_gen_max时防止复杂系谱出现意外顺序
  • 版本2017-02-22 -修改为非递归版本,以防止非常长的谱系出现分割错误 -仅维护python版本
  • 版本2016-03-31添加了-r选项:将从anmlist中递归打印出所有子代的id,一直打印到最后
  • 版本2015-07-13增加了输出:pedout.id2根据PED发送,未知为“m”
  • 版本2015-07-02添加外部参照以更正动物标识:将第1列替换为第2列
  • 版本2015-06-29防止由于系谱循环导致的分割错误11
  • 版本2015-06-12添加了更新预加载的空条目
  • 版本2015-04-15添加了第三个参数以确定递归生成
  • 版本2014-11-10修改了check(),以便在一次运行中检查所有错误added sort()
  • 版本2014-04-15初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JNLP无法在浏览器中正确启动(与dtjava.js一起部署)   在执行下一个方法之前,java将等待线程执行结束   java如何将另一个LayoutManager应用于JComboBox?(多栏JComboBox尝试)   使用jPBC在java中实现双线性配对   java在使用@RequestMapping注释时获取请求的值(URL)   java如何控制流量   java如何获取IFC对象的绝对坐标?   java目标服务器无法使用htmlunit和tor响应异常   java需要帮助创建一个循环结构来运行我的程序   java有可能拥有一个Android APK并在应用程序中更改构建变体吗?   在Sphinx4中运行Ant的java   Java:从ArrayList获取子列表的有效方法   java如何使在循环内部创建的数组在循环外部工作?   apache poi通过java中的XSSF表从单元格读取日期值   安卓 java自己的SeqLock实现,避免spinlock会更好吗?   java的并发底层方法。util。同时发生的预定未来   java比较方法违反了它的一般约定,如何使它具有可传递性?   使用JAVA定向指定类的DB导出子类   一个方法中的java更改特定imageView