自定义标记公式参考

以下表格列出所有在创建自定义标记时,在Custom Token Editor(自定义标记编辑器)Parameter Math(参数数学)中可用的所有运算符和函数

 

Arithmetic Operators(算术运算符)

 

Operator(运算符)

Description(描述)

x+y

x和y相加

x-y

从x中减去y

x*y

x和y相乘

x/y

x除以y

x^y

x的y次幂指数

 

Conditional/Comparison Operators(条件/比较运算符)。在IF..THEN..ELSE陈述中使用这些运算符。

 

Operator(运算符)

Description(描述)

x>y

x大于y

x<y

x小于y

x=y

x等于y

x>=y

x大于或等于y

x<=y

x小于或等于y

x<>y

x不等于y

 

Logical Operators(逻辑运算符)。这些逻辑运算符用在IF..THEN..ELSE句子中,或用来组合两个方程。

 

Operator(运算符)

Description(描述)

x 或 y

x 或 y

x 与 y

x 与 y

非(x 与 y)

(x 与 y)的相反值

例如:if (x>20 and y>20) then......else

如果要组合多个逻辑运算符,必须在每个运算符上加括号。

例如:if ((x>20 and y>20) and (a<1 or b>10)) then......else

 

Mathematical Functions(数学函数)

 

Function(函数)

Description(描述)

Abs(x)

x的绝对值

ArcCos(x)

x反余弦值

ArcCosh(x)

x双曲反余弦值

ArcSin(x)

x的反正弦值

ArcSinh(x)

x的双曲线反正弦值

ArcTan(x)

x的反正切值

ArcTanh(x)

x的双曲线反正切值

ConvertLinToLog(I,J,K,L)

可用以下参数将线性比例值转化为对数比例值:

I = 线性值、J = # of decades(十倍数)、K = 输出范围(0, 256, 512, or 1024)、 L = 偏移量

 

它将把1-10,000的值转换到0-1024范围内。

ConvertLogToLin(I,J,K,L)

可用以下参数将对数比例值转化为线性比例值:

I = 对数值、J = # of decades(十倍数)、K = 输入范围、L = 偏移量

 

它将把0-1024的值转换到1-10,000范围内。

Cos(x)

x余弦值

Cosh(x)

x的双曲余弦值

CoTan(x)

x的余切值

Ln(x)

x的自然对数

Log(x,y)

以x为底y的对数

Max(x,y)

返回x和y中较大的值。

Maximum([x,y,z...])

返回数组[x,y,z,…]中的最大值。数组可以有无限数目的元素。

Mean([x,y,z...])

返回数组[x,y,z,…]的平均值。数组可以有无限数目的元素。

Min(x,y)

返回x和y中的较小值。

Minimum([x,y,z...])

返回数组[x,y,z,…]中的最小值。数组可以有无限数目的元素。

Range([x,y,z...])

返回(数组([x,y,z,…])中最大值 ? 最小值)的结果。

Sin(x)

x正弦值

Sinh(x)

x的双曲正弦值

Sqr(x)

x平方值

Sqrt(x)

x平方根值

StdDev([x,y,z...])

返回数组[x,y,z,…]的标准偏差。数组可以有无限数目的元素。

Tan(x)

x的正切值

 

Type Conversion Functions(类型转换函数)这些函数用在更高级的公式中,来把数字装换成文本或相反。当一个特定标记返回的数值不是用户想要的类型、而用户想在公式中使用想要的类型时,这一函数很有用。也可以用Custom Token Formatting(格式化自定义标记)中描述的那样来修改结果类型

 

Function(函数)

Description(描述)

numericToString(x)

把数值x转化成文本(也被称为数字串)。

stringToNumeric(x)

把数据串x转化成数值。

 

 

Logic (True/False) Functions(逻辑(真/假)函数)这些函数返回将操作符应用于输入参数时所得的逻辑值。一些函数会返回代表逻辑值的数值True (-1)(真值为-1)或者False (0)(假值为0)。

 

Function(函数)

Description(描述)

Between(x,y,z)

如果x处在y和z之间(包括等于y或者z),返回真值;否则返回假值。

FalseValue

返回0。

IsFalse(x)

如果x的值是0,返回真。

IsSameText([Text1,Text2],CaseSensitive)

如果Text1(文本1)和Text2(文本2)相同,返回值为真。如果CaseSensitive为真,文字必须和这个例子匹配,但内容除外。

IsTrue(x)

如果x的值是-1,返回真。

TrueValue

返回-1。

 

 

Text Manipulation Functions(文本操作函数)这些函数可用来操作文本值或从已有文本值获取信息。

 

Function(函数)

Description(描述)

AreValuesInRange([x,y,z...],tolerance,[xName,yName,zName...])

如果数组[x,y,z...]中的值均在彼此的公差百分比范围内,该函数返回True(真)。如果有两个数据不在彼此的公差百分比范围内,该函数将返回文本,来说明哪组数据没在这个范围内。

Copy(x,y,z)

X是完全文本。Y是开始复制文本的位置。Z是从完全文本X中要复制的字母数(也成为字符数)。它将返回一个文本x的子集,其开始于y位置,复制了z个字符。

ExtractFilename("file_path")

接受一个文件名,将返回数据文件名的文本。

例如,如果一个文件路径是C:\Data Files\Today\FlowData1.fcs,ExtractFilename("file_path")将返回FlowData1.fcs

使用关键字的关键字标记$FIL, $FCSE_FILENAME或者$FCSE_FILENAMENOPATH,可用在这一函数中。

ExtractFolderFromFilename("file_path")

接受一个文件名,将返回包含该数据的文件夹的文件路径文本。

例如,如果一个文件路径是C:\Data Files\Today\FlowData1.fcs,ExtractFolderFromFilename("file_path")将返回C:\Data Files\Today。

使用关键字的关键字标记$FCSE_FILENAME,可用在这一函数中。

FormatFloat("format string",number)

FormatFloat会格式化Number(数字)使用格式字符串所得的浮点值。下面的格式说明符支持在格式字符串中使用:

 

Specifier(说明符)

Represents(代表)

0

Digit placeholder(数字保留区)。如果被格式化的值在格式字符串中'0'出现的位置处有一个数字,然后此数字会被复制到输出字符串。否则,一个'0'值会储存在输出字符串中。

#

Digit placeholder(数字保留区)。如果被格式化的值在格式字符串中'#'出现的位置处有一个数字,然后此数字会被复制到输出字符串。否则,输出字符串中不会保存任何东西。

.

Decimal point(小数点)。在格式字符串中的第一个'.'字符,决定格式化值中小数点分隔符的位置。在输出字符串中,被用作小数点分隔符的真实字符是由DecimalSeparator全局变量或者其等价物决定的。

,

Thousand separator(千分分隔符)。如果格式字符串中包含一个或者多个','字符,则输出结果中会含有千分分隔符来插入到小数点左边每三个数字之间。格式字符串中','字符的布置和数量不会影响输出结果,除非指明需要千分分隔符。在输出字符串中,被用作千分分隔符的真实字符是由ThousandSeparator全局变量或者其等价物决定的。

E+

科学计数法。在格式字符串中包括任何'E+'、'E-'、'e+'或者'e-',数字在格式化时都将使用科学计数法。带有4个'0'字符以上的群,可以立即执行'E+'、'E-'、'e+'或者'e-',来决定指数的最小位数。'E+'和 'e+' 格式会导致正指数中有一个加号的输出,负指数中有一个减数的输出。'E-'和'e-'格式只对负指数输出一个符号。

'xx'/"xx"

字符以被单引号或者双引号标记的形式输出,不会影响其格式化。

;

分隔格式字符串中的正值、负值和零值。

 
在格式字符串中小数点前面最左边的'0'和小数点后面的最右边的'0',来决定输出字符串中数字的范围。

被格式化的数字总是被舍入为小数点右边的数字占位符('0'或'#')。如果格式字符串中没有包含小数点,被格式化的值会被取整为最近的整数。

如果被格式化的数字在小数点的左边含有多个数字,且位数要多于格式字符串中'.'左边的数字占位符,那额外的数字将输出到数字占位符前面。

要对正值、负值和零值进行不同的格式化,格式化字符串可以包含用分号分隔的1-3个节段,如下所示:

*一个节段:将格式字符串应用到所有值中。
*二个节段:将第一节段应用到正值和零中,第二阶段应用到负值中。
*三个节段:第一个节段应用到正值中,第二个节段应用到负值中,第三个阶段应用到零中。

如果针对负值或者针对零值的节段是空着的,也就是说分号的界定的区域间没有任何东西,那就将用正值的节段代替。

如果针对正值的节段是空着的,或者全部的格式字符串都是空着的,那使用常规浮点数格式的被格式化的值将带有15个有效数字。如果该值在小数点的左边有18位数,且格式字符串没有指定用科学计数法,那也会用到常规浮点数格式。

FragmentCount("text1",'text2")

返回文本2中被文本1隔开的字符串片段数。

 

文本1就等于一个分隔符,如"\"。文本2就是一个路径。

 

例如,FragmentCount("\","C:\Documents\Data\Sample.fcs")将返回4,因为此处有4个被"\"分隔的片段。

 

文本2中可用关键字来返回一个路径。

GetContainingFolder("file_path")

返回文件路径中包含该文件的文件夹名称。

 

例如,如果Sample.fcs定位于C:\Program Files\De Novo Software\FCS Express 5 Plus Research Edition/Data,那么该函数的输出结果会是Data

GetFragment(n, "text1", "text2")

返回文本2中被文本1隔开的第N个字符串片段。

 

N =第n个发生事件,文本1 = 一个分隔符,如"\"、文本2 = 一个路径。

 

例如,GetFragment(1, "\", "C:\Documents\Data\Sample.fcs")将返回“C:”

 

GetFragment(2, "\", "C:\Documents\Data\Sample .fcs")将返回“Documents”

 

如果“n”是一个负数,这个函数就会对字符串进行倒向评估。

 

例如,GetFragment(-1, "\", "C:\Documents\Data\Sample .fcs")将返回Sample.fcs。

 

GetFragment(-2, "\", "C:\Documents\Data\Sample .fcs")将返回Data。

 

文本2中可用关键字来返回一个路径。

IncludeTrailingPathDelimiter("file_path")

当字符串的末尾包含分隔符(如\),就接受"File_path"的值。

Pos(x,y)

X是用户正在查找的文本。Y是被用来查找的文字段落。返回x在y中的位置。如果不能在y中找到x,将返回0。

PositionInText("text1","text2",StartingPosition,N)

PositionInText返回一个字符串在另一个字符串中的位置。

Text1(文本1)=您要查找的文本

Text2(文本2)= 在其中进行查找的文本

StartingPoint(起始点)= 您开始查找的位置(1,2,3...etc.)

“N”= 您查找的第N个发生事件(1就表示第一个发生事件,2就是第二个发生时间)

 

例如,=PositionInText("d","abcdefgabcdefg",1,1)将返回4,因为第一个出现"d"的地方是在第4个字符处。

                =PositionInText("d","abcdefgabcdefg",1,2)将返回11,因为因为第二次出现"d"的地方是在第11个字符处。

 

如果没有查找到任何匹配事件,则将返回"0"。

RemoveSpaces(x)

从文本x中删除空格,返回删除空格后的结果。

RemoveText(x,y,RemoveAll)

此函数将从字符串y中删除字符串x。RemoveAll(删除所有)将等于True还是False,是由是否只有第一个事件被删除来决定的。

例如,=RemoveText("def","abcdefg",True)将返回“abcg”。

ReplaceText(x,y,z,RemoveAll)

此函数的功能是用位于z中的字符串y来取代字符串x。RemoveAll(删除所有)将等于True还是False,是由是否只有第一个事件被删除来决定的。

例如,=ReplaceText("def","xyz","abcdefg",True)将返回“abcxyzg”

x+y

如果x和y都是文本(即,字符串),返回x和y的串联结果。

Trim

删除文本中字符串前面和后面的空格。

例如,=Trim(" ? abcd efgh ? ? ?")将返回“abcd efgh”。

 

Statistical Functions(统计函数)

 

Operator(运算符)

Description(描述)

ChiSquareTest([number1,...],[number2,...])

如果数据来自特殊的分布,执行Chi-squared(卡方检验)来拟合良好的检验测试。第一个参数是一个观察到的频率的数组,第二个参数是一个估算(理论上)出的频率的数组。

FTest([number1,...],[number2,...])

通过比较数字1和数字2的标准差,来执行F-Test。参数是第一个和第二个数据集。

GrubbsTest([number1,...])

针对离群值,执行Grubbs test(格鲁布斯检验)。此检验用来检测单变量数据集中的离群值。它是根据常规假设来做的。也就是说,在执行Grubbs' test前,您必须证明您的数据是接近正态分布的。此参数是数据集。

KSTest([number1,...],[number2,...])

执行对独立、随机样本Data1和Data2的Kolmogorov-Smirnov检验。检验决定Data1和Data2样本是否来自相同的连续群体。参数是第一个和第二个数据集。

LillieforsTest([number1,...])

在带有未知参数mu和sigma的正态分布群体中执行Lilliefors检验。此参数是数据集。

SSMD(mean max,mean min,n max,n min,SDmax,SDmin)

是Strictly Standardized Mean Difference(严格标准平均差)的简写。在高通量筛选试验中,被用作排名指标。

TTest1S([number1,...],expected mean)

执行单样本T-test。用来比较数据平均值和期望平均值。第一个参数是数据集。

TTest2S([number1,...],[number2,...],tails,paired)

用来将数字1的平均值和数字2的平均值相比较。虽然不知道,但假设数字1和数字2方差相等。前两个参数是第一个数据集和第二个数据集。尾部的参数可以是1或者2它被用来定义零假设的类型,值为1表示左尾检测,值为2表示双尾检测。成对的可以是"True(真)"或者“False(假)”如果是"True(真)",将执行双样本配对t-Test。如果是“False(假)”,将执行双样本合并(不配对)t-Test。

ZPrime(mean negative,SD negative,mean positive,SD positive)

ZPrime函数被用来计算Z因子。在使用全规模、高通量筛选时,Z-因子用来量化一个特定分析的适用性,通过将实验中阳性对照的平均值和标准偏差与阴性对照的平均值和标准偏差相比较。

ZTest([number1,...],expected mean,expected SD)

将正态分布数据元素的平均值和已知的标准偏差相比较expected SD(预期标准偏差),是一个期望平均数([Number1,...])是数据集。

 

数据和时间控制函数

 

Function(函数)

Description(描述)

FormatDateTime("format","Date or Time")

FormatDateTime用来格式化时间或者数据值的给定格式。

 

例如:=FormatDateTime("yyyy-mm-dd",(<Current Date token>)) 将以年-月-日的形式返回当前的日期,月份和日期会带有2个数字,年份带有4个数字。

=FormatDateTime("hh:mm:ss",(<Current Time token>)) 将以小时:分钟:秒的形式返回当前的时间,小时、分钟和秒均带有2个数字。

 

请注意:如果使用<Current Date>标记,则不需要双引号,该标记的结果输出形式是文本

 

格式可以如下所示:

 

Specifier(说明符) Displays(显示)

c

显示的数据使用的是ShortDateFormat全局变量给出的格式,时间使用的是LongTimeFormat全局变量给出的格式。如果日期-时间值正好是是午夜12点,则不会显示时间。

d

显示的日期作为一个数值,首位不带零(1-31)。

dd

显示的日期作为一个数值,首位带零(01-31)。

ddd

显示的日期是ShortDayNames全局变量给出的字符串的简写(Sun-Sat)。

dddd

显示的日期是LongDayNames全局变量给出的字符串的全称(Sunday-Saturday)。

ddddd

显示的日期是ShortDateFormat全局变量给出的格式。

dddddd

显示的日期是LongDateFormat全局变量给出的格式。

e

(只在Windows系统中)显示的当前年份作为一个数值,首位不带零(只在日本、韩国和台湾地区)。

ee

(只在Windows系统中)显示的当前年份作为一个数值,首位带零(只在日本、韩国和台湾地区)。

g

(只在Windows系统中)显示的年份是一个缩写(只在日本、韩国和台湾地区)。

gg

(只在Windows系统中)显示的年份是一个全称(只在日本、韩国和台湾地区)。

m

显示的月份作为一个数值,首位不带零(1-12)。如果m符号直接跟在h或者hh后面,则表示m代表分钟数,而非月份。

mm

显示的月份作为一个数值,首位带零(01-12)。如果m符号直接跟在h或者hh后面,则表示m代表分钟数,而非月份。

mmm

显示的月份是ShortMonthNames全局变量给出的字符串的简写(Jan-Dec)。

mmmm

显示的月份是LongMonthNames全局变量给出的字符串的全称(January-December)。

yy

显示的年份带有2个数字(00-99)。

yyyy

显示的年份带有4个数字(0000-9999)。

h

显示的小时值,首位不带零(0-23)。

hh

显示的小时值,首位带零(00-23)。

“N”

显示的分钟数,首位不带零(0-59)。

nn

显示的分钟数,首位带零(00-59)。

s

显示的秒数,首位不带零(0-59)。

ss

显示的秒数,首位带零(00-59)。

z

显示的毫秒数,首位不带零(0-999)。

zzz

显示的毫秒数,首位带零(000-999)。

t

显示的时间是ShortTimeFormat全局变量给出的格式。

tt

显示的时间是LongTimeFormat全局变量给出的格式。

am/pm

在前面的h或者hh符号中,使用12小时的时钟,在中午之前显示'am',在中午之后显示'pm'。am/pm符号可以大写、小写或者混合写,结果也会根据您的选择相应的展示。

a/p

在前面的h或者hh符号中,使用12小时的时钟,在中午之前显示'a',在中午之后显示'p'。a/p符号可以大写、小写或者混合写,结果也会根据您的选择相应的展示。

ampm

在前面的h或者hh符号中,使用12小时的时钟,在中午之前显示TimeAMString全局变量的内容,在中午之后显示TimePMString全局变量的内容。

/

显示DateSeparator全局变量给出的数据分隔符。

:

显示TimeSeparator全局变量给出的时间分隔符。

'xx'/"xx"

字符以被单引号或者双引号标记的形式展示,不会影响其格式。

HoursBetween(start time,end time)

计算开始时间和终止时间之间的小时数。关键字$BTIM或者$ETIM可用于开始时间和终止时间。但是,在使用StrToTimeFMT函数来建立适当的格式之前,用户定义的时间需要提供给StrToTimeFMT函数。

MillisecondsBetween(start time,end time)

计算开始时间和终止时间之间的毫秒数。关键字$BTIM或者$ETIM可用于开始时间和终止时间。但是,在使用StrToTimeFMT函数来建立适当的格式之前,用户定义的时间需要提供给StrToTimeFMT函数。

MinutesBetween(start time,end time)

计算开始时间和终止时间之间的分钟数。关键字$BTIM或者$ETIM可用于开始时间和终止时间。但是,在使用StrToTimeFMT函数来建立适当的格式之前,用户定义的时间需要提供给StrToTimeFMT函数。

SecondsBetween(start time,end time)

计算开始时间和终止时间之间的秒数。关键字$BTIM或者$ETIM可用于开始时间和终止时间。但是,在使用StrToTimeFMT函数来建立适当的格式之前,用户定义的时间需要提供给StrToTimeFMT函数。

StrToDateFMT(text, "format", "delimiter")

返回使用指定分隔符(如/)、以"ddmmyyyy"格式显示的日期字符串。

StrToTimeFMT(text, "time delimiter", "millisecond delimiter")

返回使用了时间分隔符和毫秒分隔符的时间字符串。

 

Parameter Math Variables(参数数学变量)这些函数可用来操作文本值或从已有参数值中获取信息。

 

Function(函数)

Description(描述)

Row(行)

变量'row'描述的是数据文件的一特定行或者细胞数的当前值。“Row”可被用来对文件中一系列值执行顺序计算。例如,'row'可被用来创建一个时间参数。通过使用变量'row',将细胞数目作为一个参数,找出荧光和细胞数目之间的对应关系,从而得到流量和时间的关系。或者,如果获得结果是,时间5分钟、细胞5000个,您可以使用下面的公式来计算收获这些细胞所用的实际时间。公式是:=(row-1)*(5/5000)

ConvertLinToLog(I,J,K,L)

除了变量I之外,其他同上。I将使用被转变的参数数量,例如P4或者P14。

ConvertLogToLin(I,J,K,L)

除了变量I之外,其他同上。I将使用被转变的参数数量,例如P4或者P14。