Hennig86

简介

Hennig86 于 1988 由 James S. Farris 编写并发布,是第一个能在 MS-DOS IBM-PC 及其兼容性机器上运行良好的简约法软件。最初售价 50 美元,目前已经不再分发并且已经被 TNT 取代,但是他的文件风格以及部分命令已经被众多软件吸取。

注意!Hennig86 不是 TNT 的前身!

分析基础

你需要安装 DOSBox 软件,并且具备很少的 DOS 命令基础,比如 MOUNT TYPE 等。

文件基础

Hennig86 自带示例文件如下,跟 TNT 完全兼容。

xread
'SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA (COMPOSITAE: HELIANTHEAE)'
24 11 
ANCT 
000000000000000000000000
SCAN 
000000100001210000000000
ORTH 
000000100001101000000000
OLIG 
100000100002010111000000
PALM 
000000100002000110100000
PETR 
001100100000000000011000
CALE 
100021011110000000000000
GLAB 
000200111100000000000001
MONT 
321010111100000000000000
INSI 
220000011110000000000110
PAUC 
210010011110000000000101

 ;
proc /  ;

分析流程

基础 log

display* 让也在终端显示。

log hennig.log;
display*;

基础 help

quote This function help send comments to log file;
quote Here are functions;
assist;

打开文件

view 查看文件。

quote Open data file and view it;
view CZ.SS;
procedure CZ.SS;

设置外群

/num 设置多个外群中相对外的 prime outgroup0.2 中的 . 代表范围

quote Set outgroups and prime outgroup (0-2 are outgroups and 0 is prime outgroup);
outgroup = 0.2 /0;
outgroup;

查看 character weighting

ckeepcget 用于快速保存、选择某一套 character weighting 以及 additive (ccode+.;) 和 non-additive (ccode-.;)。 ccode; 查看状态。

quote Check character weighting realted settings and store them in internal file 1;
ccode-.;
ckeep 1;
ccode;
quote Set them as additive character and save as internal file 2;
ccode+.;
ccode;
ckeep 2;
quote Check eveything as additive, now run cget to obtain previous config;
cget 1;
ccode;

基础搜索树

hennig bb 都是对单个树计算, keep 对树进行划归组保存为内部树文件。

quote Start an example on how to search tree;
hennig;
bb;
quote Here to disable ascii and have a look;
txascii-;
tplot;
tlist;
quote Store it into internal tree file 0;
keep 1;

查看树的信息

xsteps主要用于查看树的信息。

quote Output Tree Length based on tree number, same with xsteps;
xsteps l;
quote Output characters' steps RI CI;
xsteps c;
quote Display max/min steps for per character;
steps;

进阶搜索树

hennig bbm 前缀是多个树的意思,* 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。watch 查看每个命令耗费的时间。

quote Check current memory; 
bytes;
quote Start watch time;
watch;
quote Start search heavily and swap trees;
mhennig*;
bb*;
quote Store them into internal tree file 1;
keep 2;

基础合意树

合意树保存到内部树文件 3。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 3;
keep 3;

successive weighting

ccodeweighting 搜索保存到内部树文件 4。

quote Successive Weighting can be enabled;
xsteps w;
ccode;
mhennig*;
bb*;
quote Store them into internal tree file 4;
keep 4;

合意树保存到内部树文件 5。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 5;
keep 5;

穷举法

ie*; 使用穷举法,保存到内部树文件 6。

quote Search all the trees;
ie*;
quote Store them into internal tree file 6;
keep 6;

合意树保存到内部树文件 7。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 7;
keep 7;

时间测试

watch-; 停止测试时间

quote Stop watch time;
watch-;

查看树

get 切换不同的内部树文件, tlist 查看文件。

quote Test internal tree files via get;
files;
get 3;
tlist;
get 5;
tlist;
tsave con.tre;

编辑内部树文件

erase 删除内部树文件, files 查看内部树文件有哪些。

quote Delete internal tree file;
erase 1;
files;

退出

log/; 停止记录,yama 退出 Hennig86。

quote Stop log and quit;
log/;
yama;

查看编辑树

xx 查看树。

xx
\
/
;