Hennig86:修订间差异

来自MalacoKnowledge
(add help man)
→‎简介
 
(未显示同一用户的4个中间版本)
第1行: 第1行:
= Hennig86 =
= 简介 =


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


注意!Hennig86 不是 TNT 的前身!
注意!Hennig86 不是 TNT 的前身!


== 分析基础 ==
= 分析基础 =


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


== 文件基础 ==
= 文件基础 =


Hennig86 自带示例文件如下,跟 TNT 完全兼容。
Hennig86 自带示例文件如下,跟 TNT 完全兼容。
第19行: 第17行:
'SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA (COMPOSITAE: HELIANTHEAE)'
'SALA -- BOLICK ADV. CLAD. 1:115-125 SALMEA (COMPOSITAE: HELIANTHEAE)'
24 11  
24 11  
ANCT  
ANCT 000000000000000000000000
000000000000000000000000
SCAN 000000100001210000000000
SCAN  
ORTH 000000100001101000000000
000000100001210000000000
OLIG 100000100002010111000000
ORTH  
PALM 000000100002000110100000
000000100001101000000000
PETR 001100100000000000011000
OLIG  
CALE 100021011110000000000000
100000100002010111000000
GLAB 000200111100000000000001
PALM  
MONT 321010111100000000000000
000000100002000110100000
INSI 220000011110000000000110
PETR  
PAUC 210010011110000000000101
001100100000000000011000
CALE  
100021011110000000000000
GLAB  
000200111100000000000001
MONT  
321010111100000000000000
INSI  
220000011110000000000110
PAUC  
210010011110000000000101


  ;
  ;
第46行: 第33行:
</pre>
</pre>


== 分析流程 ==
= 分析流程 =


<span id="基础-log"></span>
<span id="基础-log"></span>
=== 基础 log ===
== 基础 log ==


<code>display*</code> 让也在终端显示。
<code>display*</code> 让也在终端显示。
第56行: 第43行:
display*;</pre>
display*;</pre>
<span id="基础-help"></span>
<span id="基础-help"></span>
=== 基础 help ===
== 基础 help ==


<pre>quote This function help send comments to log file;
<pre>quote This function help send comments to log file;
quote Here are functions;
quote Here are functions;
assist;</pre>
assist;</pre>
=== 打开文件 ===
 
== 打开文件 ==


<code>view</code> 查看文件。
<code>view</code> 查看文件。
第68行: 第56行:
view CZ.SS;
view CZ.SS;
procedure CZ.SS;</pre>
procedure CZ.SS;</pre>
=== 设置外群 ===
 
== 设置外群 ==


<code>/num</code> 设置多个外群中相对外的 <code>prime outgroup</code>。<code>0.2</code> 中的 <code>.</code> 代表范围
<code>/num</code> 设置多个外群中相对外的 <code>prime outgroup</code>。<code>0.2</code> 中的 <code>.</code> 代表范围
第76行: 第65行:
outgroup;</pre>
outgroup;</pre>
<span id="查看-character-weighting"></span>
<span id="查看-character-weighting"></span>
=== 查看 character weighting ===
== 查看 character weighting ==


<code>ckeep</code> 和 <code>cget</code> 用于快速保存、选择某一套 character weighting 以及 additive (<code>ccode+.;</code>) 和 non-additive (<code>ccode-.;</code>)。 <code>ccode;</code> 查看状态。
<code>ckeep</code> 和 <code>cget</code> 用于快速保存、选择某一套 character weighting 以及 additive (<code>ccode+.;</code>) 和 non-additive (<code>ccode-.;</code>)。 <code>ccode;</code> 查看状态。
第91行: 第80行:
cget 1;
cget 1;
ccode;</pre>
ccode;</pre>
=== 基础搜索树 ===
== 基础搜索树 ==


<code>hennig</code> <code>bb</code> 都是对单个树计算, <code>keep</code> 对树进行划归组保存为内部树文件。
<code>hennig</code> <code>bb</code> 都是对单个树计算, <code>keep</code> 对树进行划归组保存为内部树文件。
第102行: 第91行:
tplot;
tplot;
tlist;
tlist;
quote Store it into internal tree file 0;
quote Store it into internal tree file 1;
keep 1;</pre>
keep 1;</pre>
=== 查看树的信息 ===
== 查看树的信息 ==


<code>xsteps</code>主要用于查看树的信息。
<code>xsteps</code>主要用于查看树的信息。
第114行: 第103行:
quote Display max/min steps for per character;
quote Display max/min steps for per character;
steps;</pre>
steps;</pre>
=== 进阶搜索树 ===
== 进阶搜索树 ==


<code>hennig</code> <code>bb</code> 的 <code>m</code> 前缀是多个树的意思,<code>*</code> 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。<code>watch</code> 查看每个命令耗费的时间。
<code>hennig</code> <code>bb</code> 的 <code>m</code> 前缀是多个树的意思,<code>*</code> 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。<code>watch</code> 查看每个命令耗费的时间。
第125行: 第114行:
mhennig*;
mhennig*;
bb*;
bb*;
quote Store them into internal tree file 1;
quote Store them into internal tree file 2;
keep 2;</pre>
keep 2;</pre>
=== 基础合意树 ===
== 基础合意树 ==


合意树保存到内部树文件 3。
合意树保存到内部树文件 3。
第136行: 第125行:
keep 3;</pre>
keep 3;</pre>
<span id="successive-weighting"></span>
<span id="successive-weighting"></span>
=== successive weighting ===
== successive weighting ==


<code>ccode</code>weighting 搜索保存到内部树文件 4。
<code>ccode</code>weighting 搜索保存到内部树文件 4。
第153行: 第142行:
quote Store it into internal tree file 5;
quote Store it into internal tree file 5;
keep 5;</pre>
keep 5;</pre>
=== 穷举法 ===
== 穷举法 ==


<code>ie*;</code> 使用穷举法,保存到内部树文件 6。
<code>ie*;</code> 使用穷举法,保存到内部树文件 6。
第167行: 第156行:
quote Store it into internal tree file 7;
quote Store it into internal tree file 7;
keep 7;</pre>
keep 7;</pre>
=== 时间测试 ===
 
== 时间测试 ==


<code>watch-;</code> 停止测试时间
<code>watch-;</code> 停止测试时间
第173行: 第163行:
<pre>quote Stop watch time;
<pre>quote Stop watch time;
watch-;</pre>
watch-;</pre>
=== 查看树 ===
== 查看树 ==


<code>get</code> 切换不同的内部树文件, <code>tlist</code> 查看文件。
<code>get</code> 切换不同的内部树文件, <code>tlist</code> 查看文件。
第183行: 第173行:
get 5;
get 5;
tlist;
tlist;
tsave con.tre;</pre>
tsave contre;</pre>
=== 编辑内部树文件 ===
== 编辑内部树文件 ==


<code>erase</code> 删除内部树文件, <code>files</code> 查看内部树文件有哪些。
<code>erase</code> 删除内部树文件, <code>files</code> 查看内部树文件有哪些。
第191行: 第181行:
erase 1;
erase 1;
files;</pre>
files;</pre>
=== 退出 ===
== 退出 ==


<code>log/;</code> 停止记录,<code>yama</code> 退出 Hennig86。
<code>log/;</code> 停止记录,<code>yama</code> 退出 Hennig86。
第198行: 第188行:
log/;
log/;
yama;</pre>
yama;</pre>
=== 查看编辑树 ===
== 查看编辑树 ==


<code>xx</code> 查看树。
<code>xx</code> 查看树。
第207行: 第197行:
;</pre>
;</pre>


== 所有命令一览 ==
= 所有命令一览 =


<pre>
<pre>

2023年7月26日 (三) 09:04的最新版本

简介

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 1;
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 2;
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 contre;

编辑内部树文件

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

quote Delete internal tree file;
erase 1;
files;

退出

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

quote Stop log and quit;
log/;
yama;

查看编辑树

xx 查看树。

xx
\
/
;

所有命令一览

           Dox -- Online Help File for Hennig86, Version 1.5
                   Copyright (c) James S. Farris
                        All rights reserved.

assist    batch     bb        bytes     ccode     cget      ckeep     
display   erase     files     get       hennig    ie        keep      
log       mhennig   nelsen    outgroup  procedure quote     reroot    
steps     tchoose   tlist     tplot     tread     tsave     txascii   
view      watch     xread     xsteps    xx        yama      

assist         list available commands

batch          turn on batch switch
batch -        turn it off 

bb             produce multiple trees by branch breaking
bb *           use all available tree space

bytes          display bytes of free ram

ccode          control character coding
               / set weight [ activate ] deactivate + additive - nonadditive
ccode ;        display codings

cget x         set coding from code file x

ckeep x        save current coding in code file x

display        short listings to display
display -      no listing to display
display *      all listing to display

erase  s       delete tree files in scope s

files          display directory of treefiles

get x          make tree file x current

hennig         calculate single tree
hennig *       use branch breaking

ie             find trees by implicit enumeration
ie -           find just one tree
ie *           use all available tree space

keep x         save current tree file as tree file x

log  n         open dos file n as new log file
log  -         deactivate log file
log  *         activate it
log  /         close it

mhennig        calculate multiple trees
mhennig *      use branch breaking

nelsen         calculate nelson consensus tree

outgroup       control outgroup
               [ ingroup ] outgroup
outgroup =     set outgroup to list
outgroup ;     list outgroup alphabetically

procedure n    open dos file n as procedure file
procedure -    deactivate procedure file 
procedure *    activate it
procedure /    close it

quote          copy message

reroot         current treefile according to current outgroup

steps          display max/min steps per character

tchoose  s     select trees in scope s from current tree file

tlist          display trees in parenthetical notation

tplot          produce tree diagrams

tread          read trees 

tsave  n       save current tree file on dos file n 

txascii        use extended ascii characters in tree plots
txascii -      don't

view  n        inspect dos file n
view  *        close and inspect current log file

watch          turn on stopwatch 
watch -        turn it off

xread          read character data

xsteps         diagnose trees in current tree file
xsteps h       list possible states for hypothetical ancestors
xsteps c       list character fits 
xsteps m       list best/worst fits
xsteps l       list tree lengths
xsteps u       produce file of distinct trees
xsteps w       set character weights according to fits

xx             display and modify diagnosed tree

yama           return to dos