一个不成熟的小脚本,ATAC数据一键预处理从fastq到treated bam

    数据从下机fq.gz文件到可用的 .bam文件,每次都需要运行去接头,比对,去复,去MT,shift,排序等...

    尽管俺把他们都写在了一个shell中,但是每次还是需要修改一些输入输出的参数,并且数据的输出位置也比较混乱,于是写了下面这个省事脚本。

    这个脚本......非常潦草......但是能用......稍微方便了一些的吧......记录学习的过程......

    【atac-single.sh】对ATAC的fq.gz文件进行一键前期处理,得到可用的bam文件,文件在最下方......

    脚本流程如下

    1、【trim_galore】命令去接头

    2、【bwa】进行比对

    3、【samtools】进行bam转换

    4、【picard】去除Duplication

    5、【samtools】进行bam filter,具体参数参考脚本

    6、【deeptools】进行ATAC bam shift

    7、【samtools】排序并创建索引,得到最终处理好的bam及索引文件

    脚本就随便取了个名字叫atac-single.sh,设置了7个参数,分别是:

    [-1] the first fastq files      [-2] the second fastq files      [-o] the output directory,must be ended with [/]      example:[/home/mypath/]      [-a] path to the reference fasta file, for mouse it can be mm10.fa      [-p] processes to uss, default:1      [-g] genomesize file      [-j] path to picard.jar file  

    用法:

atac-single.sh -1 [1.fq.gz] -2 [2.fq.gz] -o [output_dir] -a [ref.fa] -g [genome_size_file] -j [path_to_picard.jar] -p [processes number]

    用户只需要指定输出文件夹,脚本会在该文件夹下自动创建Trim,MAP, prebam, shifted四个文件夹,分别存放Trim后的fq, Map后的sam文件,预处理的bam文件,最终的经过ATAC SHIFT的bam文件。

    Example:

outputdir=/path/to/atac/M25/ #定义输出文件夹,必须以“/” 结尾bwaindex=/path/to/database/mm10/index_bwa/mm10.fa #定义参考基因组picardrun=/path/to/picard-2.23.9-0/picard.jar #定义picard位置genomesize=/path/to/mm10.chrom.sizes #定义参考基因组大小文件位置run=/path/to/atac-single.sh #定义执行脚本的位置$run -1 prefix_R1.fq.gz -2 prefix_R2.fq.gz \ -o $outputdir  -a $bwaindex -p 4 -g $genomesize -j $picardrun 

    脚本将使用标准输出提示目前正在进行的步骤,可使用nohup将标准输出导向新文件。

    最后输出的bam文件可直接进行 callpeak

    不过,暂时没有error.log文件输出,因为还不知道咋写,想和会写的同志交个朋友,咳咳……

    在自己的服务器运行了一下,成功运行~以后再也不用繁琐的修改设置了,学习的时间又多出了几分钟~

    后面想写一下直接从fq.gz到matrix的懒人脚本,但是暂时还没有学习怎么使用子命令对预处理,callpeak, count matrix等进行分步操作,先记录到这里吧......继续学习......

atac-single.sh 脚本已上传到 github,欢迎交流~

atac-single.sh

https://github.com/wulisling/atac-pre

本文使用 文章同步助手 同步

公众号原文

你可能感兴趣的:(一个不成熟的小脚本,ATAC数据一键预处理从fastq到treated bam)