用snakemake进行RNAseq分析

2023-10-09 09:20
文章标签 分析 进行 rnaseq snakemake

本文主要是介绍用snakemake进行RNAseq分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.下载sra文件

prefetch SRR* -O {outputfile}
prefetch -O output --option-file SRR_Acc_List.txt   

2.sra文件转换fa

--

gzip 转换fa.gz

#定义存放输出数据的文件夹,需要先创建这个文件夹‘fastq’
mkdir fastq
fqdir=/trainee2/Mar7/rna/project/fastq
#转换单个文件
fastq-dump --gzip --split-3 -X 25000 -O ${fqdir} SRR1039510
#批量转换,将样本名写成文件——sample.ID,echo是打印命令,while循环的意义是生成脚本
cat sample.ID | while read id
doecho "fastq-dump --gzip --split-3 -X 25000 -O ${fqdir} ${id}
done >sra2fq.sh
# 提交后台运行命令,脚本文件后缀为.sh,日志文件后缀为.log,运行脚本的命令为sh
nohup sh sra2fq.sh>sra2fq.log &

3.trim_galore

4.下载hg38.fa

for i in $(seq 1 22) X Y M;do echo $i;wget http://hgdownload.cse.ucsc.edu/goldenPath/hg38/chromosomes/chr${i}.fa.gz;

5.STAR构建索引

使用实验室服务器,可以用STAR进行比对,STAR对内存的要求30G(human),使用STAR构建基因组索引,需要准备的数据是基因组文件和注释文件。

STAR(Spliced Transcripts Alignments to a Reference,STAR)软件,使用了未压缩后缀阵列中的连续最大可比对种子搜索算法,接着对种子进行聚类和拼接。STAR在比对速度上胜过其他比对软件50多倍,在一个普通的12核服务器上,每小时比对5.5亿2 x 75 bp双端片段到人类基因组上,同时改进了比对敏感性和准确性。除了典型转录本外,STAR能够发现非典型剪切和嵌合(融合)转录本,并能够比对全长RNA序列。

运行脚本:

STAR  \
--runMode genomeGenerate \
--genomeDir index \
--runThreadN 10 \
--genomeFastaFiles  L.genome.fa \
--sjdbGTFfile L.gff \参数说明:
--runThreadN:线程数。
--runMode genomeGenerate:构建基因组索引。
--genomeDir:索引目录。
--genomeFastaFiles:基因组文件。
--sjdbGTFfile:基因组注释文件。
--sjdbOverhang:reads长度减1。

另外一种:

## 构建基因组索引
STAR --runThreadN 6 --runMode genomeGenerate\--genomeDir index_dir \
--genomeFastaFiles genome.fasta \
--sjdbGTFfile genome.gtf \
--sjdbOverhang 149

--runThreadN:线程数。
--runMode genomeGenerate:构建基因组索引。
--genomeDir:索引目录。(index_dir一定要是存在的文件夹,需提前建好)
--genomeFastaFiles:基因组文件。
--sjdbGTFfile:基因组注释文件。
--sjdbOverhang:reads长度减1。

6.snakemake运行:

snakemake -s file.py -n -p
## -n 不运行,仅检查逻辑是否有误
## -p 把每一步提交的命令行展示出来
snakemake -s file.py --dag | dot -Tpdf > test_dag.pdf
## --dag 生成拓扑图
## 生成pdf
snakemake -s file.py -p -j 2 &
## -j 同时运行的数

7.nohup后台运行

# 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 my1.log 文件中
nohup sh test.sh > /home/dir1/dir2/my1.log 2>&1 & 
nohup sh test.sh &> /home/dir1/dir2/my1.log &

jobs命令:功能:查看当前终端后台运行的任务,jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。

ps命令:功能:查看当前的所有进程、ps -aux | grep “test.sh”   #a:显示所有程序  u:以用户为主的格式来显示  x:显示所有程序,不以终端机来区分。

8.bigWigToBedGraph

conda install -c bioconda ucsc-bigwigtobedgraph

9.bam2wig.py

conda install -c bioconda ucsc-wigtobigwig

还需要安装rseqc包

10.安装R环境及R包

conda info --envs # 查看环境
conda create -n R3.5  # 创建名为R3.5的环境  ##我用的rbase
conda activate R3.5  
conda list            #查看当前安装的软件
####坑人!!!!conda install r-base=4.2.1 #安装R语言 ##安最新版本
conda install r ##直接安装r,不要r-base
conda install r-stringi # R包 以 r- 开头 
conda deactivate # 退出当前环境
  • 安装指定版本

    • conda install numpy=1.11:即安装能模糊匹配到numpy版本为1.11

    • conda install numpy==1.11:即精确安装numpy为1.11的版本

conda install r-ggplot2  ##【r-R包名】的方式用conda安装R包install.packages('stringr', repos='http://cran.us.r-project.org')   ##也可这样安装
install.packages('ggplot2', repos='http://cran.us.r-project.org')
install.packages('xlsx', repos='http://cran.us.r-project.org')
install.packages('dplyr', repos='http://cran.us.r-project.org')
install.packages('optparse', repos='http://cran.us.r-project.org')

这篇关于用snakemake进行RNAseq分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171868

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

使用zabbix进行监控网络设备流量

《使用zabbix进行监控网络设备流量》这篇文章主要为大家详细介绍了如何使用zabbix进行监控网络设备流量,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装zabbix配置ENSP环境配置zabbix实行监控交换机测试一台liunx服务器,这里使用的为Ubuntu22.04(

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re