PriorProbabilityBuilder
01 Syntax
SMRUCC.genomics.Analysis.Metagenome.Kmers.PriorProbabilityBuilder
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| GetParentTaxId | 1 | 根据子分类单元ID和目标父级等级,查找其父级分类单元ID。 此函数会沿着分类树向上遍历,直到找到指定等级的节点。 |
| BuildDatabase | 1 | 构建物种的先验概率数据库,该数据库基于指定的分类层级。 计算公式:p(s | G) = (物种 s 的k-mer总数) / (其所属的目标分类单元 G 的k-mer总数) |
| BuildKmerDistributions | 1 | 构建k-mer条件概率分布数据库 KmerDistributions。 计算公式:P(kmer | species) = (kmer在物种中出现的次数) / (该物种的总k-mer数) |
03 Fields
| Name | Overloads | Summary |
|---|---|---|
| TaxonomyDB | 1 | 分类学数据库。在实际应用中,您应该从NCBI taxdump文件中加载这些数据。 Key: Child TaxId, Value: Parent TaxId |
04 Members
GetParentTaxId(
Int32, String)根据子分类单元ID和目标父级等级,查找其父级分类单元ID。 此函数会沿着分类树向上遍历,直到找到指定等级的节点。
Parameters
| Name | Type | Description |
|---|---|---|
childTaxId | Int32 | 子分类单元的TaxId(如物种)。 |
targetRank | String | 目标父级等级(如 "genus", "family", "order")。 |
Returns
父级分类单元的TaxId,如果找不到则返回0。
构建物种的先验概率数据库,该数据库基于指定的分类层级。 计算公式:p(s | G) = (物种 s 的k-mer总数) / (其所属的目标分类单元 G 的k-mer总数)
Parameters
| Name | Type | Description |
|---|---|---|
kmerDatabase | IEnumerable(Of KmerSeed) | 完整的k-mer数据库,即KmerSeed数组。 |
sequenceLookup | SequenceCollection | 一个全局查找表,用于通过seqid获取SequenceSource信息。 |
targetRank | String | 用于计算先验概率的目标分类层级,例如 "genus", "family", "order"。 |
Returns
一个字典,Key是物种的ncbi_taxid,Value是该物种相对于目标层级的先验概率。
BuildKmerDistributions(
Dictionary(Of Int32, UInt64), KmerMemory(Of Dictionary(Of Int32, UInt64)))构建k-mer条件概率分布数据库 KmerDistributions。 计算公式:P(kmer | species) = (kmer在物种中出现的次数) / (该物种的总k-mer数)
Returns
一个嵌套字典,Key是k-mer字符串,Value是内层字典(Key为物种taxid,Value为条件概率)。
TaxonomyDB
分类学数据库。在实际应用中,您应该从NCBI taxdump文件中加载这些数据。 Key: Child TaxId, Value: Parent TaxId