nexusmaker - Nexus file maker for language phylogenies
Project description
NexusMaker
Simply Generate Nexus Files
from nexusmaker import NexusMaker, Record
data = [
Record(Language="A", Word="eye", Item="", Cognate="1"),
Record(Language="A", Word="leg", Item="", Cognate="1"),
Record(Language="A", Word="arm", Item="", Cognate="1"),
Record(Language="B", Word="eye", Item="", Cognate="1"),
Record(Language="B", Word="leg", Item="", Cognate="2"),
Record(Language="B", Word="arm", Item="", Cognate="2"),
Record(Language="C", Word="eye", Item="", Cognate="1"),
# No ReCord for C 'leg'
Record(Language="C", Word="arm", Item="", Cognate="3"),
Record(Language="D", Word="eye", Item="", Cognate="1", loan=True),
Record(Language="D", Word="leg", Item="", Cognate="1"),
Record(Language="D", Word="leg", Item="", Cognate="2"),
Record(Language="D", Word="arm", Item="", Cognate="2,3"),
]
maker = NexusMaker(data)
maker = NexusMakerAscertained(data) # adds Ascertainment bias character
maker = NexusMakerAscertainedWords(data) # adds Ascertainment character per word
nex = maker.make()
maker.write(nex, filename="output.nex")
Version History:
- 1.5: do more validation of cognate sets to detect possibly broken combined cognate sets.
- 1.4: normalise order of cognates (i.e. so 1,54 == 54,1)
- 1.3: handle cognates of form '1a'
- 1.2: initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nexusmaker-2.0.0.tar.gz
(17.9 kB
view hashes)
Built Distribution
Close
Hashes for nexusmaker-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7812df6cf53e2c649d8f6bd0f383bc57eed5f26f6ca76426acf57252936270bf |
|
MD5 | 602706e5ed6c0ccdbbc0f78f5d12fa15 |
|
BLAKE2b-256 | 2775f60b28680f88e4173339f08788c6c024f15a4792db2b58fd708a0c6eb7fc |