美文网首页
snakemake学习(一)

snakemake学习(一)

作者: 花生学生信 | 来源:发表于2023-07-29 21:36 被阅读0次

构建RNA-seq转录组分析流程

###测试脚本
snakemake -s Snakefile -p -j 10 --dry-run
$> snakemake -k -j 10 --cores 60 -s  Snakefile --rerun-incomplete  

文件目录
[图片上传失败...(image-6a577d-1690724052432)]

# snakemake-mRNA 转录组分析流程
## 创建分析环境


`
conda create -n rnaseq python=3 snakemake fastp seqkit hisat2 stringtie gffcompare cufflinks rseqc mirdeep2 miranda rsem trinity bioconductor-deseq2 bioconductor-edger bioconductor-genomeinfodb bioconductor-genomeinfodbdata  bioconductor-clusterprofiler  r-tidyverse r-ggthemes r-ggsci r-ggpubr r-argparse r-slickr r-dt r-kableExtra r-prettydoc r-rmdformats r-pheatmap
`


## 流程使用教程
### 激活分析环境


``shell
# 激活分析环境
conda activate rnaseq
``


### 将软件脚本复制到工作目录


```shell
# 后续升级软件后省略该步骤
# workdir 为项目的工作目录,报告会在此目录生成
cd workdir
cp -r /nfs1/public2/User/wzc/apps/snakemake_pipeline/snakemake-mRNA/* .
``


### 生成或修改配置文件
配置文件要放到当前的工作目录中。

1. 修改`config.yaml` 

一般修改参考基因组和注释文件以及groups(分组类别)的值如下:


``
metadata: sample-metadata.txt
diff_lst: diff.lst
groups:
  - group
  - other

ref:
  index: "/home/database/mouse/Ensembl/hisat2_index/genome_tran"
  genome: "/home/database/mouse/Ensembl/Mus_musculus.GRCm38.dna.primary_assembly.fa"
  annotation: "/home/database/mouse/Ensembl/Mus_musculus.GRCm38.94.gtf"
``


2. 生成 `sample-metadata.txt`

该文件是客户填写的样本信息表,包含了分组信息,我们需要加上数据的路径,示例如下:


``shell
SampleID    group   fq1 fq2
B1  B   raw_data/B1.R1.fq.gz    raw_data/B1.R2.fq.gz
B2  B   raw_data/B2.R1.fq.gz    raw_data/B2.R2.fq.gz
B3  B   raw_data/B3.R1.fq.gz    raw_data/B3.R2.fq.gz
B4  B   raw_data/B4.R1.fq.gz    raw_data/B4.R2.fq.gz
D1  D   raw_data/D1.R1.fq.gz    raw_data/D1.R2.fq.gz
D2  D   raw_data/D2.R1.fq.gz    raw_data/D2.R2.fq.gz
D3  D   raw_data/D3.R1.fq.gz    raw_data/D3.R2.fq.gz
D4  D   raw_data/D4.R1.fq.gz    raw_data/D4.R2.fq.gz
``


注意:该版本样本列名必须为`SampleID`.

3. 生成 `diff.lst`

该文件是客户填写的差异分析方案,示例如下:


``shell
B_vs_D  group   B   D
``


注意:第一列是差异分析方案名,必须以`_vs_`分割;第二列是分组类别; 后两列是case组和control组;最后一点要注意顺序。


### 软件运行
运行命令如下:


``shell
# 本地运行
snakemake -k -j 50 
# 集群运行
snakemake -k -j 50 -c 'qsub -V -cwd'
``

运行成功后,会在当前目录生成`report.html`,即为该项目的报告。

## 报告交付 
目前采用百度网盘交付报告,使用[BaiduPCS-Go](https://github.com/iikira/BaiduPCS-Go)软件上传,具体命令如下:


`shell
# 进入网盘交互模式
BaiduPCS-Go
# 在网盘创建报告文件夹
mkdir -p HTXXXXX/map/
# 上传数据
upload --norapid  map/QC HTXXXXX/map/
upload --norapid raw_data clean_data Expression Diffexp Isoform_Alternative_Splicing novel_trans HTXXXXX
``
上传完毕后可以生成共享链接交付客户下载。
``





相关文章

  • snakemake学习

    DAG(directed acyclic graph):有向无环图 条件:1. 每个顶点出现且只出现一次。2. 若...

  • snakemake -- 学习

    snakemake document[https://snakemake.readthedocs.io/en/st...

  • snakemake 学习(1)

    1、安装 Snakemake可以在PyPi以及Bioconda上获得,也可以从源代码获得。您可以使用以下方法之一安...

  • snakemake 学习(0)

    1. snkemake介绍 Snakemake工作流管理系统是一种创建可重复和可扩展的数据分析的工具。工作流程通过...

  • snakemake 学习(2)

    举一个小例子: 通过在Snakefile中指定规则来定义Snakemake工作流。 规则通过指定如何从输入文件集创...

  • Snakemake - 任务投递参数

    SnakeMake - 使用 snakemake主体是通过一个*.smk完成 相关命令: --dag --forc...

  • 流程管理工具snakemake学习笔记杂记02

    snakemake学习笔记007~slurm的cluster提交任务 主要参考 https://eriqande....

  • Shell 使用多线程提交任务-FIFO

    参考: 学习snakemake,三步轻松搭建生信流程![https://zhuanlan.zhihu.com/p/...

  • snakemake 学习笔记1

    1, snakemake介绍 Snakemake是用Python3写的一个流程化工具, 非常方便. 官网上的例子有...

  • snakemake 学习笔记3

    目标 这次, 我要实现这个路程图. 目标介绍 第一: 生成1.txt , 2.txt, 3.txt 第二: 向每个...

网友评论

      本文标题:snakemake学习(一)

      本文链接:https://www.haomeiwen.com/subject/ljpjpdtx.html