Nexus(系统发育)文件读取器(.nex,.trees)

python-nexus的Python项目详细描述


读取关系

>>> import os
>>> EXAMPLE_DIR = os.path.join(os.path.dirname(__file__), 'examples')
>>>
>>> from nexus import NexusReader
>>> n = NexusReader()
>>> n.read_file(os.path.join(EXAMPLE_DIR, 'example.nex'))
...
>>> n = NexusReader(os.path.join(EXAMPLE_DIR, 'example.nex'))
...

#显示在数据文件中找到的块 >>>>n.块 {'data':<;nexusdatablock:4个分类单元中的2个字符>;}

数据

>>> n.data.nchar
2
>>> n.data.ntaxa
4
>>> n.data.format
{'datatype': 'standard', 'symbols': '01', 'gap': '-'}
>>> n.data.matrix.keys()
['Simon', 'Louise', 'Betty', 'Harry']
>>> n.data.matrix['Simon']
['0', '1']
>>> sorted(n.data.taxa)
['Betty', 'Harry', 'Louise', 'Simon']
>>> sorted(n.data.matrix.keys())
['Betty', 'Harry', 'Louise', 'Simon']
>>> for taxon, characters in n.data: #doctest: +SKIP

>>> n = NexusReader(os.path.join(EXAMPLE_DIR, 'example.trees'))
>>> n.trees.ntrees
3
>>> n.trees.trees[0][0:60]
'tree tree.0.1065.603220 = (((((((Chris:0.0668822155,Bruce:0.'
>>> for tree in n.trees: #doctest: +SKIP

编写nexus文件

>>> from nexus import NexusWriter
>>> n = NexusWriter()

添加要显示在文件头中的注释 >;gt;gt;n.添加注释(“我是注释”)

使用“add”函数添加数据- 它包含3个参数、一个分类单元、一个字符名和一个值

>>> n.add('taxon1', 'Character1', 'A')
>>> n.data
{'Character1': {'taxon1': 'A'}}
>>> n.add('taxon2', 'Character1', 'C')
>>> n.add('taxon3', 'Character1', 'A')

字符和值可以是字符串或整数 >;gt;gt;n.添加('Taxon1',2,1) >;gt;gt;n.add('Taxon2',2,2) >>>>不另加('Taxon3',2,3)

nexuswriter将插入缺少的条目(在本例中是taxon2) >;gt;gt;n.add('taxon1','char3','4') >;gt;gt;n.add('taxon3','char3','4')

…准备好后,可以使用make\nexus生成nexus 或将文件写入: n.make_nexus(交织=真,字符块=真) n.写入文件(filename=“output.nex”,interleave=true,charblock=true)

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

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入