nuget server logo nuget api documents
↑

API Docs / SMRUCC.genomics.Analysis.SequenceAlignment / PairAlign

PairAlign

Full name SMRUCC.genomics.Analysis.SequenceAlignment.DIAMOND.PairAlign Assembly SMRUCC.genomics.Analysis.SequenceAlignment Members 6

轻量单对单局部比对判定器,面向序列聚类分析(如 CD-HIT 风格的成对同源判定)。

00 Remarks

与 DiamondBlastp 的区别:DiamondBlastp 针对“一条查询 vs 一个库” 做加速(双索引 / SIMD / 调度),而本类只解决“两条序列之间的最佳比对”这一原子操作, 在聚类分析需要两两序列做判定的场景下更合适——避免为每条 pair 重复建立库索引。 底层直接调用 GCModeller 标准的 SmithWaterman 局部比对, 返回 HSP / Output 对象,供上层聚类流程直接使用。

01 Syntax

SMRUCC.genomics.Analysis.SequenceAlignment.DIAMOND.PairAlign

02 Methods

NameOverloadsSummary
AlignBestHSP 2 FastaSeq 重载,直接传入序列对象,内部使用其 FastaSeq.SequenceData。
AlignDetailed 1 完整局部比对,返回 Output,包含全部 HSP 链、DP 矩阵与回溯路径, 供需要多条 HSP(如重叠高分区)的聚类分析使用。
ComputeStats 1 计算给定 HSP 的 BitScore 与 E-value(Karlin-Altschul 模型,BLOSUM62 统计量)。

03 Fields

NameOverloadsSummary
Matrix 2 局部比对使用的替换矩阵,默认 BLOSUM62。

04 Members

method AlignBestHSP overload 2 #
AlignBestHSP(String, String, Int32)

对两条蛋白序列做最佳局部比对,返回得分最高的单条 HSP。

Remarks

这里走的是 GSW.GetBestHSP() 轻量级路径,而不是 SmithWaterman.GetOutput()。后者会额外构建完整的 Output: 复制一份动态规划得分矩阵、为方向矩阵逐行建立视图、并计算完整回溯路径, 单次比对的额外开销与 query*subject 成正比(千级长度蛋白序列可达数十 MB), 且这些数组会进入大对象堆(LOH)。

由于本方法只需要一条最佳 HSP,在聚类分析的两两比对循环(O(n^2))中若使用 完整路径,将造成进程常驻内存持续增长且无法回收。

Parameters
NameTypeDescription
queryString

查询序列(字符形式)。

subjectString

参考(主题)序列(字符形式)。

minWidthInt32

最短 HSP 片段长度过滤(0 表示不限制)。

Returns

得分最高的 HSP;若无正分比对则返回 Nothing。

method AlignBestHSP #
AlignBestHSP(FastaSeq, FastaSeq, Int32)

FastaSeq 重载,直接传入序列对象,内部使用其 FastaSeq.SequenceData。

method AlignDetailed #
AlignDetailed(FastaSeq, FastaSeq, Double, Int32)

完整局部比对,返回 Output,包含全部 HSP 链、DP 矩阵与回溯路径, 供需要多条 HSP(如重叠高分区)的聚类分析使用。

Remarks

返回的 Output 持有动态规划矩阵(其方向矩阵与 SmithWaterman 共享行数组),属于重量级对象。 调用方在用完之后应当及时 Dispose(Output 已实现 IDisposable),否则在循环调用场景下会造成内存持续增长。 若只需要最佳的那一条比对,请改用 PairAlign.AlignBestHSP()。

Parameters
NameTypeDescription
cutoffFastaSeq

收集 HSP 的得分阈值(占最高分比例,0-1;0 表示收集所有正分 HSP)。

method ComputeStats #
ComputeStats(HSP, Int32, Int32)

计算给定 HSP 的 BitScore 与 E-value(Karlin-Altschul 模型,BLOSUM62 统计量)。

Parameters
NameTypeDescription
hspHSP

由 PairAlign.AlignBestHSP() / PairAlign.AlignDetailed() 产出的比对。

queryLengthInt32

查询序列全长。

subjectLengthInt32

参考序列全长。

field Matrix #
Matrix

局部比对使用的替换矩阵,默认 BLOSUM62。

field Matrix #
Matrix