生信技能11 - shell脚本批量逐条执行命令,并显示进度条和执行状态

本文介绍如何编写shell脚本,实现批量执行命令,并在执行过程中展示进度条、执行百分比以及成功/失败状态。脚本适用于需要对大量任务进行逐条处理的情况,通过调整循环变量和case选项,可灵活适应不同数量的执行命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell脚本批量逐条执行命令,并显示执行进度条、百分比和执行成功/失败状态

如需改变执行命令的数量,可调整代码中循环变量的增加值。
例如:当执行代码数量为10调试,for循环中ratio变量的增加至需改为10,case选项需均分为10个,即10) - 100)是个选项。

#!/bin/bash

# 测试命令,调试时使用,去掉#号即可,再将下面的command都加上#号注释掉
# command1="cat file"
# command2="cat file"
# command3="cat file"
# command4="cat file"
# command5="cat file"

# 启动服务1</
### Fine-Gray检验与竞争风险模型 Fine-Gray检验是一种用于分析存在竞争风险数据的方法,它通过亚分布危险比例模型来评估协变量对事件发的影响[^1]。该方法特别适用于当研究中有多个互斥的结果(即竞争事件),而这些事件会干扰目标事件的发概率的情况。 #### 竞争风险模型概述 竞争风险模型的核心在于区分不同类型的失败模式,估计每种模式下的累积发病率函数 (Cumulative Incidence Function, CIF)[^2]。CIF提供了特定原因下事件发的概率,考虑了其他竞争事件的存在。这种方法相较于传统的Kaplan-Meier存曲线更为精确,因为它能够处理多种可能的竞争结局。 在医学领域中,例如患者可能会因疾病恶化死亡或者由于治疗副作用去世等情况都属于典型的竞争风险场景;而在息学方面,则可以应用于基因表达水平预测癌症复发时间等问题上。 ### 列线图及其绘制方式 列线图(Nomogram),作为一种直观展示统计模型预测能力工具,在临床决策支持系统里占据重要地位。它可以将复杂的回归方程简化成易于理解使用的图形界面形式供医快速判断预后情况或制定个性化诊疗方案之用。 以下是利用R语言实现上述功能的一个简单例子: ```r library(survival) library(cmprsk) # 假设dataframe df包含time(随访时间), status(状态指示器0=删失; 1=目标事件; 2=竞争事件) covariates(x1,x2...) fit <- crr(df$time, df$status, model.matrix(~x1+x2,data=df)) summary(fit) # 绘制Nomogram library(rms) ddist <- datadist(df); options(datadist='ddist') nom_model <- npsurv(Surv(time,status==1)~., data=df) nom <- nomogram(nom_model, fun=function(x) summary(psm(Surv(time,status==1)~., data=df))[,"S",]) plot(nom) ``` 对于Python用户来说,虽然不像R那样有专门针对此目的开发成熟的库文件可以直接调用,但仍可通过`lifelines`, `scikit-survival`等包间接达成类似效果: ```python from sksurv.linear_model import CoxPHSurvivalAnalysis import pandas as pd X = ... # 特征矩阵 y = ... # 结构化数组 [(布尔值表示是否经历事件的时间戳)] model = CoxPHSurvivalAnalysis() model.fit(X,y) def predict_risk(model, X_new): surv_funcs = model.predict_survival_function(X_new) times_of_interest = np.linspace(y["event"].min(), y["event"].max(), num=100) risks = [] for fn in surv_funcs: risk_at_time = 1 - fn(times_of_interest).mean() risks.append(risk_at_time) return risks risks = predict_risk(model, test_data_features) ``` 至于SAS软件平台上的操作流程则相对繁琐一些,主要依赖宏程序配合PROC PHREG完成相应计算过程后再手动调整输出结果形成最终可视化的列线图表单。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值