7 个稳定版本
1.5.0 | 2023年3月19日 |
---|---|
1.4.0 | 2020年2月9日 |
1.3.2 | 2019年12月31日 |
1.3.0 | 2019年10月16日 |
1.2.0 | 2019年9月11日 |
#97 in 生物学
30 每月下载量
59KB
966 行
Fastax
Fastax 是一个命令行工具,可以从 NCBI 分类数据库生成系统发育树和谱系。它使用本地数据库副本,使其速度非常快。
默认情况下,所有结果都会进行美化打印。此外,它可以将树输出为 Newick 格式,并将谱系输出为 CSV 格式。
它还可以用来获取一些类群的信息,例如它们的替代学名或它们使用的遗传代码。
安装
Fastax 使用 Rust 编写,这使得它安全、快速且可移植。代码使用 Cargo 管理,并在 crates.io 上发布。如果已经安装了 Cargo,只需在终端中输入
$ cargo install fastax
Et voilà !
或者,您可以从源代码编译它
$ git clone https://github.com/Picani/fastax.git
$ cd fastax
$ cargo build --release
可执行文件位于 target/release/fastax
。只需将其移动到您的 PATH
上的某个位置。
填充本地数据库
首先,您需要获取 NCBI 分类数据库的本地副本。
$ fastax populate -ve [email protected]
populate
将下载最新的数据库转储,提取它们,并将它们加载到本地的 SQLite 数据库中。使用 -v
请求 fastax 告诉它在做什么。使用 -e
请求使用该电子邮件地址连接到 NCBI。请注意,提供您的电子邮件地址是可选的,但更受欢迎。
数据库位于您的本地数据文件夹中的 fastax
文件夹内,该文件夹应该位于 $HOME/.local/share
。
用法
对于每个命令,您至少需要查询一个节点。用于获取节点的术语可以是其唯一的 NCBI 分类学 ID(称为 taxid),其双名学名,或者由下划线(字符 _
)分隔的双名学名两部分。最后一个选项对于脚本很有用。
请注意,对于某些物种,正在使用多个双名学名。Fastax 会寻找每个双名学名。
show
命令
您可以获取有关节点的一般信息
$ fastax show 4932
Saccharomyces cerevisiae - species
----------------------------------
NCBI Taxonomy ID: 4932
Same as:
* Saccharomyces capensis
* Saccharomyces italicus
* Saccharomyces oviformis
* Saccharomyces uvarum var. melibiosus
Commonly named baker's yeast.
Also known as:
* S. cerevisiae
* brewer's yeast
Part of the Plants and Fungi.
Uses the Standard genetic code.
Its mitochondria use the Yeast Mitochondrial genetic code.
或
$ fastax show "Homo sapiens"
Homo sapiens - species
----------------------
NCBI Taxonomy ID: 9606
Commonly named human.
Also known as:
* man
First description:
* Homo sapiens Linnaeus, 1758
Part of the Primates.
Uses the Standard genetic code.
Its mitochondria use the Vertebrate Mitochondrial genetic code.
或者也可以
$ fastax show Tyrannosaurus_rex
Tyrannosaurus rex - species
---------------------------
NCBI Taxonomy ID: 436495
Part of the Vertebrates.
Uses the Standard genetic code.
Its mitochondria use the Vertebrate Mitochondrial genetic code.
lineage
命令
您可以获取一个节点的谱系
$ fastax lineage 4932
root
└┬─ no rank: cellular organisms (taxid: 131567)
└┬─ superkingdom: Eukaryota (taxid: 2759)
└┬─ no rank: Opisthokonta (taxid: 33154)
└┬─ kingdom: Fungi (taxid: 4751)
└┬─ subkingdom: Dikarya (taxid: 451864)
└┬─ phylum: Ascomycota (taxid: 4890)
└┬─ no rank: saccharomyceta (taxid: 716545)
└┬─ subphylum: Saccharomycotina (taxid: 147537)
└┬─ class: Saccharomycetes (taxid: 4891)
└┬─ order: Saccharomycetales (taxid: 4892)
└┬─ family: Saccharomycetaceae (taxid: 4893)
└┬─ genus: Saccharomyces (taxid: 4930)
└── species: Saccharomyces cerevisiae (taxid: 4932)
相同的谱系在 CSV 中
$ fastax lineage Saccharomyces_cerevisiae
no rank:root:1,no rank:cellular organisms:131567,superkingdom:Eukaryota:2759,no rank:Opisthokonta:33154,kingdom:Fungi:4751,subkingdom:Dikarya:451864,phylum:Ascomycota:4890,no rank:saccharomyceta:716545,subphylum:Saccharomycotina:147537,class:Saccharomycetes:4891,order:Saccharomycetales:4892,family:Saccharomycetaceae:4893,genus:Saccharomyces:4930,species:Saccharomyces cerevisiae:4932
tree
命令
您可以获取一个系统发育树
$ fastax tree "Escherichia coli" 4932 Drosophila_melanogaster 9606 "Mus musculus"
─┬─ no rank: root
└─┬─ no rank: cellular organisms
├─┬─ no rank: Opisthokonta
│ ├─┬─ no rank: Bilateria
│ │ ├─┬─ superorder: Euarchontoglires
│ │ │ ├── species: Mus musculus
│ │ │ └── species: Homo sapiens
│ │ └── species: Drosophila melanogaster
│ └── species: Saccharomyces cerevisiae
└── species: Escherichia coli
相同的树在新ick格式
$ fastax tree -n 562 4932 7227 9606 10090
(root,(cellular organisms,(Escherichia coli,Opisthokonta,(Saccharomyces cerevisiae,Bilateria,(Drosophila melanogaster,Euarchontoglires,(Homo sapiens,Mus musculus))))));
使用 -f/--format
,您也可以更改默认的节点格式化
$ fastax tree -f "%taxid (%name)" "Escherichia coli" 4932 Drosophila_melanogaster 9606 "Mus musculus"
─┬─ 1 (root)
└─┬─ 131567 (cellular organisms)
├─┬─ 33154 (Opisthokonta)
│ ├─┬─ 33213 (Bilateria)
│ │ ├─┬─ 314146 (Euarchontoglires)
│ │ │ ├── 10090 (Mus musculus)
│ │ │ └── 9606 (Homo sapiens)
│ │ └── 7227 (Drosophila melanogaster)
│ └── 4932 (Saccharomyces cerevisiae)
└── 562 (Escherichia coli)
可用的标签有
%name
由学名替换%rank
由等级替换%taxid
由 NCBI 分类学 ID 替换
默认情况下,只有一个子节点的节点会被隐藏。您可以使用 -i/--internal
选项显示它们
$ fastax tree -i Mus_musculus Rattus_norvegicus
─┬─ no rank: root
└─┬─ no rank: cellular organisms
└─┬─ superkingdom: Eukaryota
└─┬─ no rank: Opisthokonta
└─┬─ kingdom: Metazoa
└─┬─ no rank: Eumetazoa
└─┬─ no rank: Bilateria
└─┬─ no rank: Deuterostomia
└─┬─ phylum: Chordata
└─┬─ subphylum: Craniata
└─┬─ no rank: Vertebrata
└─┬─ no rank: Gnathostomata
└─┬─ no rank: Teleostomi
└─┬─ no rank: Euteleostomi
└─┬─ superclass: Sarcopterygii
└─┬─ no rank: Dipnotetrapodomorpha
└─┬─ no rank: Tetrapoda
└─┬─ no rank: Amniota
└─┬─ class: Mammalia
└─┬─ no rank: Theria
└─┬─ no rank: Eutheria
└─┬─ no rank: Boreoeutheria
└─┬─ superorder: Euarchontoglires
└─┬─ no rank: Glires
└─┬─ order: Rodentia
└─┬─ suborder: Myomorpha
└─┬─ no rank: Muroidea
└─┬─ family: Muridae
└─┬─ subfamily: Murinae
├─┬─ genus: Rattus
│ └── species: Rattus norvegicus
└─┬─ genus: Mus
└─┬─ subgenus: Mus
└── species: Mus musculus
subtree
命令
您可以获取一个节点的子代系统发育树
$ fastax subtree Homininae
─┬─ subfamily: Homininae
├─┬─ genus: Homo
│ ├── species: Homo heidelbergensis
│ └─┬─ species: Homo sapiens
│ ├── subspecies: Homo sapiens subsp. 'Denisova'
│ └── subspecies: Homo sapiens neanderthalensis
├─┬─ genus: Pan
│ ├─┬─ species: Pan troglodytes
│ │ ├── subspecies: Pan troglodytes verus x troglodytes
│ │ ├── subspecies: Pan troglodytes ellioti
│ │ ├── subspecies: Pan troglodytes vellerosus
│ │ ├── subspecies: Pan troglodytes verus
│ │ ├── subspecies: Pan troglodytes troglodytes
│ │ └── subspecies: Pan troglodytes schweinfurthii
│ └── species: Pan paniscus
└─┬─ genus: Gorilla
├─┬─ species: Gorilla beringei
│ ├── subspecies: Gorilla beringei beringei
│ └── subspecies: Gorilla beringei graueri
└─┬─ species: Gorilla gorilla
├── subspecies: Gorilla gorilla diehli
├── subspecies: Gorilla gorilla uellensis
└── subspecies: Gorilla gorilla gorilla
如果您只想得到物种
$ fastax subtree -s Homininae
─┬─ subfamily: Homininae
├─┬─ genus: Homo
│ ├── species: Homo heidelbergensis
│ └── species: Homo sapiens
├─┬─ genus: Pan
│ ├── species: Pan troglodytes
│ └── species: Pan paniscus
└─┬─ genus: Gorilla
├── species: Gorilla beringei
└── species: Gorilla gorilla
相同的树在新ick格式
$ fastax subtree -sn Homininae
(Homininae,(Homo,(Homo sapiens,Homo heidelbergensis),Gorilla,(Gorilla beringei,Gorilla gorilla),Pan,(Pan paniscus,Pan troglodytes)));
与 tree
命令一样,您可以使用 -f/--format
选项格式化节点,并使用 -/--internal
选项显示内部节点。更多信息请见上文。
许可证
版权 © 2019 Sylvain PULICANI [email protected]
本作品是免费的。您可以在 MIT 许可证的条款下重新分发或修改它。有关更多详细信息,请参阅 LICENSE
文件。
依赖
~46MB
~755K SLoC