RBP AS生信流程( 四)rMATs

rMATs

#进入python环境后,输入下列代码:
>>> import sys
>>> print sys.maxunicode
#输出的是1114111,因此使用rMATS-turbo-Linux-UCS4文件夹下rmats.py
#配置路径:
echo 'export PATH=~/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4:$PATH' >>~/.bashrc
source ~/.bashrc
python rmats.py
##上面这行代码用不了,可能是环境变量的问题,改用如下代码:
python /home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rmats.py 加bam文件

rMATs运行:

在rMATstest这个文件夹里有官网下载好的2x2测试文件:


官网测试文件

用samtools查看bam文件:

samtools view 231ESRP.25K.rep-1.bam | head -10
查看bam文件

可以看到第三列为1,代表1号染色体(这里是1,不是chr1,这里很重要)

#将bam文件的名字写入txt文档里:
echo 231ESRP.25K.rep-1.bam,231ESRP.25K.rep-2.bam > b1.txt
echo 231EV.25K.rep-1.bam,231EV.25K.rep-2.bam > b2.txt
#运行rMATs:
python /home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rmats.py --b1 b1.txt \
--b2 b2.txt --gtf /home/sxw/HF/Homorefer/humangtf/gencode37.gtf \ 
--od outDir -t paired \ #paired是双端测序,single是单端测序
--readLength 101 --libType fr-unstranded --nthread 10

报错:
(Running the statistical part.
/home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rMATS_C/rMATSexe: error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rMATS_P/FDR.py", line 45, in
ifile=open(sys.argv[1]);title=ifile.readline();
IOError: [Errno 2] No such file or directory: '/tmp/tmp_juQuj/JC_SE/rMATS_result_P-V.txt'
paste: /tmp/tmp_juQuj/JC_SE/rMATS_result_FDR.txt: 没有那个文件或目录)
缺libgfortran.so.3:

sudo apt-get install libgfortran3

再次运行依然报错:缺libgsl.so.0。解决方法:

sudo find / -name "libgsl.so.19"
#输出 /usr/lib/x86_64-linux-gnu/libgsl.so.19
sudo cp /usr/lib/x86_64-linux-gnu/libgsl.so.19  /usr/lib/libgsl.so.0
sudo ldconfig #未报错,说明成功运行

再次运行依然报错:缺libblas.so.3。解决方法:https://blog.csdn.net/qq_40155090/article/details/79729959
再次运行:未报错,可以运行成功。

rMATs输出结果

打开SE.MATS.JC.txt:
SE.MATS.JC.txt

列标题解释见:微信搜狗作图丫:rMATS进行差异可变剪切分析并可视化

rmats2sashimiplot

wget https://github.com/Xinglab/rmats2sashimiplot/archive/master.zip](https://github.com/Xinglab/rmats2sashimiplot/archive/master.zip
#进入文件夹rmats2sashimiplot-master:
python setup.py install
#运行:
rmats2sashimiplot –help #成功

接下来对SE.MATS.JC.txt进行可视化:
这里注意一个坑:rmats2sashimiplot的输入文件里各个文件中染色体格式均需保持一致,要么使用1,2,3......21,22,X,Y,要么使用chr1,chr2,chr3......chr21,chr22,chrX,chrY。我们的bam文件里第三列染色体是1、2、3,而SE.MATS.JC.txt里染色体为chr1、chr2、chr3。
最好的办法是将txt文件里染色体名字由chr1、chr2、chr3改为1、2、3

sed -i '2,$s/\tchr/\t/g' *MATS*txt
#-i表示直接修改文件内容,2,$表示从第二行到最后一行(第一行是列名,不能替换),g表示全局

替换之后:


去除11前的chr
rmats2sashimiplot --b1 231ESRP.25K.rep-1.bam,231ESRP.25K.rep-2.bam \
--b2 231EV.25K.rep-1.bam,231EV.25K.rep-2.bam -t SE \
-e /home/sxw/rMATstest/outDir/sedtest/SE.MATS.JC.txt --l1 231ESRP.25K --l2 231EV.25K -o SE_plot1

缺少pysam和scipy这两个python的插件,用pip install安装以后,程序可以运行,输出三个pdf文件:


rmats2sashimiplot的输出

以上步骤可以运行成功,接下来在GSE46224数据集里进行操作:
normal:SRR830965-SRR830972;HF:SRR830973-SRR830988(缺986)

#将normal和HF里所有STAR比对好的bam文件移到一个新文件夹:
mv *.bam /home/sxw/HF/GSE46224/afterbam
#在afterbam文件夹里:
echo SRR830973_Aligned.sortedByCoord.out.bam > b1.830973.txt #HF
echo SRR830965_Aligned.sortedByCoord.out.bam,SRR830966_Aligned.sortedByCoord.out.bam,SRR830967_Aligned.sortedByCoord.out.bam,SRR830968_Aligned.sortedByCoord.out.bam,SRR830969_Aligned.sortedByCoord.out.bam,SRR830970_Aligned.sortedByCoord.out.bam,SRR830971_Aligned.sortedByCoord.out.bam,SRR830972_Aligned.sortedByCoord.out.bam > b2.txt #normal
python /home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rmats.py --b1 b1.830973.txt --b2 b2.txt \
--gtf /home/sxw/HF/Homorefer/humangtf/genecode38.gtf --od outDir830973 -t paired \
--readLength 101 --libType fr-unstranded --nthread 10
#将rMATs运行进程存在log.txt

程序可以跑通,接下来写循环进行操作:

#构建echoname.sh:
for i in {830974,830975,830976,830977,830978,830979,830980,830981,830982,830983,830984,830985,830987,830988}
do
    echo SRR${i}_Aligned.sortedByCoord.out.bam > b1.${i}.txt
done
#构建rMATs.sh:
for i in {830974,830975,830976,830977,830978,830979,830980,830981,830982,830983,830984,830985,830987,830988}
do
    python /home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rmats.py --b1 b1.${i}.txt --b2 b2.txt \
    --gtf /home/sxw/HF/Homorefer/humangtf/genecode38.gtf --od outDir${i} -t paired \
    --readLength 101 --libType fr-unstranded --nthread 20
done

接下来对15个HF和8个normal进行操作:

python /home/sxw/biosofts/rMATS.4.0.2/rMATS-turbo-Linux-UCS4/rmats.py --b1 b1.txt --b2 b2.txt \
--gtf /home/sxw/HF/Homorefer/humangtf/genecode38.gtf --od outDirGSE46224 -t paired \
--readLength 101 --libType fr-unstranded --nthread 10
#b1.txt是心衰的,b2.txt是normal的
#进程储存在outDirGSE46224的log.txt里

你可能感兴趣的:(RBP AS生信流程( 四)rMATs)