参数详解
SoCube的所有软件参数帮助可以在终端执行socube --help
得到,这里对它进行详解。socube的help文档输出会根据用户系统的语言与区域设置自动选择中文或者英文。如有必要,用户可以修改系统语言设置切换,例如linux下设置LC_ALL
环境变量为en_US
。
- --help
简写为“-h”。获取上述的参数使用帮助。
- --version
简写为“-v”,获取SoCube的版本和版权信息。
- --input
简写为“-i”。如前所述,该参数用于指定数据输入文件,可以接收两种数据格式,这里不再赘述。
- --output
简写为“-o”。该参数用于自定义结果的输出路径,路径不存在会自动创建。如前所述,默认情况下,结果输出会与输入文件在相同目录,用户可以使用该参数来自定义。例:--output D:/data/
。
- --gpu-ids
如前所述,该参数用于指定参与计算加速的GPU设备序号。可以是单个序号,也可以是以逗号分隔的多个序号,注意逗号为英文逗号且无空格,默认不设置,使用CPU。例:--gpu-ids 0,1,2。
- --seed
该参数用于指定软件计算中随机过程的随机数种子,默认为不设置。例:--seed 4067
。
- --k
该参数用于指定模型k折交叉训练的k值,默认为5。例:--k 4
。
- --adj-factor
该参数二聚体表达水平的调整系数。默认情况下,假定二聚体的表达水平是单体的两倍,但实际情况存在波动,可以通过调整这个系数改变表达水平。默认为1.0。例:--adj-factor 0.8
。
- --dim
该参数用于指定构建特征的通道数,也是基因特征降维的目标维数,默认为10。例:--dim 5
。
- --cube-id
该参数用于复用此前产生的特征。所有特征会保存在embedding子目录下。该参数即为该子目录下具体特征的ID,为“XXXXXX-XXXXXX-XXX”样式的字符串。。例:--cube-id 20220704-120122-854
。
- --only-embedding
用户可能只是想使用SoCube表征策略,但不需要检测并移除二聚体,使用此参数即表示仅表征。
- --generate-mode
二聚体的模拟生成模式,提供三种选项:balance(平衡模式,默认),heterotypic(异源二聚体优先模式)和homotypic(同源二聚体优先模式)。
- --learning-rate
简写为“-lr”。人工智能深度神经网络的训练学习率。该参数对检测效果会有显著影响。默认值为1e-3,如果用户觉得有必要,可以自定义。例:--learning-rate 1e-4
。
- --epochs
简写为“-e”。该参数指的是神经网络训练的最大轮数。但一般而言,会在达到默认最大轮数100前完成训练。例:--epochs 50
。
- --train-batch-size
该参数用于指定神经网络训练的批次数据集大小,默认为64。批次数据集大小较大,训练效果往往较好,但占用CPU内存或者GPU显存较大。用户可以根据自己设备实际情况做出调整。例:--train-batch-size 32
。
- --valid-batch-size
与前类似,该参数用于指定神经网络验证的批次数据集大小,默认为512。因为验证过程比训练过程的内存消耗显著较小,因此默认值较大。例:--valid-batch-size 256
。
- --infer-batch-size
与前类似,该参数用于指定神经网络预测的批次数据集大小,默认为400。例:--infer-batch-size 256
。
- --threshold
简写“-t”。该参数用于指定分类二聚体与单体的概率阈值,默认为0.5。正如前面CSV结果文件的解释,大于阈值的细胞样本会被判定为二聚体。例:-t 0.5
。
- --enable-validation
简写“-ev”。该参数是位置参数,无后续值。使用它表示启用结果验证,该功能仅用于复现结果的评估指标。使用时要求数据输入格式为H5AD格式,且在其AnnData对象的“obs”属性中有“type”列,内容为“doublet”或“singlet”,表示该数据集的真实标注。
- --enable-multiprocess
简写“-mp”。该参数是位置参数,无后续值。使用它表示启用多进程训练。此时SoCube会创建k个子进程来并行训练k个子模型(k值由—k参数指定)。多进程训练可以提高检测速度,但是属于空间换时间,会增大内存和显存开销,因此用户需要根据自己的数据集大小与内存大小判断是否开启多进程。当然用户可以调节前面的批次参数来降低内存占用。
该参数指定了用于结果通知的邮箱地址,任何支持SMTP协议的邮件供应商都可以使用,例如QQ邮箱、Gmail等。需要和后续几个邮箱参数配合使用。
- --mail-server
该参数指定了邮件供应商的SMTP服务器域名。具体请咨询您所使用的邮箱供应商。例:--mail-server smtp.gmail.com
。
- --mail-port
该参数指定了邮件供应商的SMTP服务端口。具体请咨询您所使用的邮件供应商。例:--mail-port 994
。
- --mail-passwd
该参数指定了邮箱的密码。一般就是网页邮箱的登录密码,但邮件供应商另有约定的除外,具体请咨询您所使用的邮件供应商。
- --enable-ssl
启用该参数代表邮件服务使用SSL加密。