我突然发现我们的超算上有大名顶顶的ENCODE数据库ATAC-seq的分析流程,对于个人而言也可以轻松安装并进行调用。用户只要提供一个样本信息的json文件,按照他的示例进行排列就行了。
下面是我自己的json文件批量产生的代码:
json_dir=/your_dir/jsons
fastq_dir=/your_dir/atac_seq/fastq
cd ${fastq_dir}
for i in $(ls $pwd *.fastq.gz | sed s/_[12].fastq.gz// | sort -u);do
json_file="${json_dir}/${i}.json.1.9.0"
echo "{
\"atac.pipeline_type\" : \"atac\",
\"atac.genome_tsv\" : \"/fdb/encode-atac-seq-pipeline/v3/mm10/mm10.tsv\", #https://storage.googleapis.com/encode-pipeline-genome-data/genome_tsv/v3/mm10.tsv (自行下载并改下路径)
\"atac.mito_chr_name\": \"chrM\",
\"atac.fastqs_rep1_R1\" :
[\"${fastq_dir}/${i}_1.fastq.gz\"],
\"atac.fastqs_rep1_R2\" :
[\"${fastq_dir}/${i}_2.fastq.gz\"],
\"atac.paired_end\" : true,
\"atac.multimapping\" : 4,
\"atac.auto_detect_adapter\" : true,
\"atac.smooth_win\" : 73,
\"atac.enable_idr\" : true,
\"atac.idr_thresh\" : 0.05,
\"atac.title\" : \"${i}\",
\"atac.description\" : \"ATAC-seq on Mus musculus C57BL/6"
}
"> $json_file
done
然后批量递交就好了
#!/bin/bash
#SBATCH --job-name=sbatch.atac_seq.job
#SBATCH --time=1:00:00
#SBATCH --cpus-per-task=2
#SBATCH --mem=2g
dir=/your_dir
json_dir=${dir}/scripts/jsons
job_dir=${dir}/jobs
log_dir=${dir}/logs
mkdir -p ${job_dir}
mkdir -p ${log_dir}
cd ${json_dir}
threads=5
for i in $(ls $pwd *.json.1.9.0);do
job_file="${job_dir}/${i%.json.1.9.0*}.atac_seq.job"
echo "#!/bin/bash
#SBATCH --job-name=${i%.json.1.9.0*}.atac_seq.job
#SBATCH --output=$log_dir/${i%.json.1.9.0*}.out
#SBATCH --time=24:00:00
#SBATCH --cpus-per-task=${threads}
#SBATCH --mem=20g
module load encode-atac-seq-pipeline/1.9.0
caper run \$EASP_WDL -i ${json_dir}/${i}
" > $job_file
sbatch $job_file
done
网友评论