suppa的diffsplice太慢了

我们发布了转录组产品线的一些服务,连接生信技能树粉丝群体的数据分析工程师和有数据分析的科研人员:

部分工程师其实能力很一般,所以我们开放的数据分析产品线都是比较简单的,很容易掌控项目状态。有一个福建医科大的研究生三年级硕士接了一个TNBC数据集的可变剪切分析,是42个肿瘤样品和21个癌旁的RNA-seq数据,下载了fastq测序数据,然后走salmon流程以及suppa的可变剪切流程。

cut -f 1-43 project_events.psi > tnbc.psi
cut -f 1-43 iso_tpm_formatted.txt > tnbc.tpm
cut -f 1,44-64 project_events.psi > control.psi
cut -f 1,44-64 iso_tpm_formatted.txt > control.tpm

跟着我们的教程,是针对全部的 ioe 事件一次性跑完suppa的diffsplice,代码如下:

ioe_merge_file=$HOME/rna/SUPPA2/ref/gencode.v37.all.events.ioe
ls -lh $ioe_merge_file 

nohup suppa.py diffSplice \
-m empirical -gc -i $ioe_merge_file \
--save_tpm_events \
-p tnbc.psi control.psi \
-e tnbc.tpm control.tpm \
-o tnbc_diffSplice &

但是工程师反应这个流程速度实在是太慢了,如下所示:


9.3M 7月 12 11:44 tnbc_diffSplice_avglogtpm.tab
 23M 7月 16 01:23 tnbc_diffSplice.dpsi
158M 7月 16 01:23 tnbc_diffSplice.psivec
113M 7月 12 11:42 tnbc.psi
 89M 7月 12 11:42 tnbc.tpm

可以看到7月 12 11:44 准备好 的文件,直到 7月 16 01:23才跑完这个suppa的diffsplice流程,严重耽误了项目交付的时间。所以我给他看了看这个流程,提出来了一个并行的策略,就是把gtf的ioe事件拆分,独立跑suppa的diffsplice流程。

首先需要有如下所示的文件:

5.3M 4月 7 15:17 gencode.v37.events_A3_strict.ioe
4.2M 4月 7 15:17 gencode.v37.events_A5_strict.ioe
 19M 4月 7 15:17 gencode.v37.events_AF_strict.ioe
6.1M 4月 7 15:17 gencode.v37.events_AL_strict.ioe
1.9M 4月 7 15:17 gencode.v37.events_MX_strict.ioe
1.8M 4月 7 15:17 gencode.v37.events_RI_strict.ioe
 12M 4月 7 15:17 gencode.v37.events_SE_strict.ioe

跑流程的代码如下所示:

 ls $HOME/rna/SUPPA2/ref/gencode.v37.events_*.ioe | while read ioe_merge_file;do 
 pro=`echo $ioe_merge_file |cut -d"_" -f 2`
 echo $pro 
nohup suppa.py diffSplice \
-m empirical -gc -i $ioe_merge_file \
--save_tpm_events \
-p tnbc.psi control.psi \
-e tnbc.tpm control.tpm \
-o tnbc_${pro}_diffSplice & 
done

这样的话,一个晚上就完成了全部的分析!

其实我们的各个数据分析产品线,比如各种ngs组学

其实我仅仅是作为一个平台,撮合了有需要分析数据的粉丝,以及能够提供数据分析的小伙伴。不赚差价,也不想耗费太多时间在这个商业方向。

但运行了大半年,我发现自己根本就不可能置身事外啊,首先接单的工程师我需要接触审核,然后接到的的项目呢,我也需要挖掘客户真实需求!

Comments are closed.