TempClass 0.0.1
dotnet add package TempClass --version 0.0.1
NuGet\Install-Package TempClass -Version 0.0.1
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块版本的 Install-Package。
<PackageReference Include="TempClass" Version="0.0.1" />
对于支持 包引用 的项目,将此 XML 节点复制到项目文件中,以引用该软件包。
paket add TempClass --version 0.0.1
NuGet 团队不提供对此客户端的支持。请联系其 管理员的 以获得支持。
#r "nuget: TempClass, 0.0.1"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此内容复制到交互工具或脚本的源代码中,以引用软件包。
// Install TempClass as a Cake Addin #addin nuget:?package=TempClass&version=0.0.1 // Install TempClass as a Cake Tool #tool nuget:?package=TempClass&version=0.0.1
NuGet 团队不提供对此客户端的支持。请联系其 管理员的 以获得支持。
时序分类
时序分类是一种基于经典时间序列分析的概念性方法,其中利用了连续时间点的依赖关系。在假设高频变化不太可能发生的条件下,利用带自动模型选择的约束平滑样条区分信号和噪声,同时保留关于检测到的变异性信息。这可以实现测量信息的更精确表示,并提高时序分类的准确性,以识别数据中的生物可解释的相关性。
使用方法
#r "TempClass.dll"
#r "FSharp.Stats.dll"
#r "nuget: Plotly.NET, 4.2.0"
#r "nuget: FSharp.Collections.ParallelSeq, 1.2.0"
open FSharp.Stats
open Plotly.NET
open TempClass
open TempClass.TemporalClassification
open Plotly.NET
FSharp.Stats.ServiceLocator.setEnvironmentPathVariable (@"\..\TempClass\lib")
FSharp.Stats.Algebra.LinearAlgebra.Service()
// time points with spacing according to kinetic expectation
let timepoints = vector [|1.;2.;3.;4.;5.;6.;7.;8.|]
// three replicates where measured at each of the 8 time points
let intensitiesProteinA =
[|
[|17.74781999; 17.60999355; 17.3816851|];
[|17.44109769; 17.42662059; 17.98721015|];
[|17.79075992; 17.6181864; 17.66741748|];
[|17.53004396; 18.35447924; 17.84085591|];
[|17.90062327; 17.65002708; 17.60924143|];
[|17.77776007; 17.80117604; 17.55941645|];
[|17.1401598; 17.73320743; 17.93044716|];
[|18.43547806; 18.23607406; 17.99477221|]
|]
// Time point weighting method
let weighting = Fitting.WeightingMethod.StandardDeviation
// Minimization criterion for the final model selection. Shapebased optimization is carried out using mGCV
let minimizer = Fitting.Minimizer.AICc
// smoothing spline result
let (result,modelQualityScores) = Fitting.getBestFit timepoints intensitiesProteinA weighting minimizer
// used smoothing strength
let lambda = result.Lambda //226.44802
// classification decription of the signal. If the intensities do not exceed a range of 0.05, they are classified as constant signals
// alternatively, ANOVA filtering can be applied
let classification = Classification.getClassification timepoints result.TraceA result.TraceC 0.05 1.
// function that takes a x vale and returns the predicted y value of the constrained smoothing spline
let splineFunction : float -> float = result.SplineFunction
let visualizationSpline =
TemporalClassification.Vis.getChart result (Some modelQualityScores)
visualizationSpline
|> Chart.show
图表结果
<center> <img src="docs/img/docuExample.png" alt="示例结果" width="60%"/> </center>
参考
- Anderson E. 等,1999,LAPACK 用户指南,工业与应用数学学会,宾夕法尼亚州费城,第 3 版,0-89871-447-8
- Wood SN.,1994年,通过交叉验证进行单调平滑样条拟合,SIAM 科学计算杂志,第 15 卷,第 5 期,第 1126-1133 页
- Turlach B.,1997年,带约束的平滑样条重访,澳大利亚国立大学,堪培拉 ACT 0200
- Meyer MC.,2012年,带约束的惩罚平滑样条,加拿大统计杂志,第 40 卷,第 1 期,第 190-206 页
开发
注意: release
和 prerelease
构建目标是假设存在一个包含有效 NuGet.org API 密钥的 NUGET_KEY
环境变量。
构建
检查构建项目来查看构建目标。以下是一些示例
# Windows
# Build only
./build.cmd
# Build and create nuget package
./build.cmd pack
# Full release buildchain: build, test, pack, build the docs, push a git tag, publish the nuget package, release the docs
./build.cmd release
# The same for prerelease versions:
./build.cmd prerelease
# Linux/mac
# Build only
build.sh
# Build and create nuget package
build.sh pack
# Full release buildchain: build, test, pack, build the docs, push a git tag, publ�sh the nuget package, release the docs
build.sh release
# The same for prerelease versions:
build.sh prerelease
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET 框架 | net472 兼容。 net48 已计算。 net481 已计算。 |
-
.NETFramework 4.7.2
- FSharp.Core (>= 6.0.5)
- FSharp.Stats (>= 0.4.6)
- Microsoft.Solver.Foundation (>= 3.1.0)
- Plotly.NET (>= 4.2.0)
NuGet 包
此包未使用任何 NuGet 包。
GitHub 仓库
此包未使用任何流行的 GitHub 仓库。
版本 | 下载 | 最后更新 |
---|---|---|
0.0.1 | 172 | 10/25/2023 |
新增
首次发布