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                
#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                

时序分类

时序分类是一种基于经典时间序列分析的概念性方法,其中利用了连续时间点的依赖关系。在假设高频变化不太可能发生的条件下,利用带自动模型选择的约束平滑样条区分信号和噪声,同时保留关于检测到的变异性信息。这可以实现测量信息的更精确表示,并提高时序分类的准确性,以识别数据中的生物可解释的相关性。

使用方法

#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 页

开发

注意: releaseprerelease 构建目标是假设存在一个包含有效 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 已计算。
兼容目标框架
包含的目标框架(在包中)
了解更多关于目标框架.NET Standard的信息。

NuGet 包

此包未使用任何 NuGet 包。

GitHub 仓库

此包未使用任何流行的 GitHub 仓库。

版本 下载 最后更新
0.0.1 172 10/25/2023

新增
首次发布