端午节假期,先祝各位 Bio IT 的爱好者们,节日快乐!

做生信的童鞋想要学习 Docker,或者使用 Docker+Pipeline 封装自己的一套数据分析流程,相信一定不能错过胡博强老师在2017年写这篇《[Docker]使用阿里云 + Docker 分析高通量测序数据——RNA-Seq 与 ChIP-Seq. - Boqiang Hu》教程,这个教程同时也以推文的方式发布在了 2017-03-21 生信技能树公众号上,感兴趣的同学可以自己去翻一下。

根据教程+tangEpiNGSInstall 仓库提供的原始测试数据,本人这两天测试跑了一下,发现了一点点小问题。

$ git clone https://github.com/shenweiyan/tangEpiNGSInstall.git$ tree.└── tangEpiNGSInstall    ├── Dockerfile    ├── README.md    ├── settings    │   ├── run_chipseq.py    │   ├── run_chipseq.sh    │   ├── run_mRNA.py    │   ├── run_mRNA.sh    │   ├── scripts_chipseq.py    │   └── scripts_mRNA.py    ├── src    │   └── run_sample.sh    ├── test_fq    │   ├── H3K4me3    │   │   ├── test.1.fq.gz    │   │   └── test.2.fq.gz    │   ├── Input    │   │   ├── test.1.fq.gz    │   │   └── test.2.fq.gz    │   └── sample.tab.xls    └── test_fq_RNA        ├── SampleA1        │   ├── test.1.fastq.gz        │   └── test.2.fastq.gz        └── sample.tab.xls

8 directories, 17 files

$ mkdir -p results database_ChIP/mm10$ chmod 777 results database_ChIP/mm10    # avoiding Permission issue$ tree.├── database_ChIP│   └── mm10├── results└── tangEpiNGSInstall    ├── Dockerfile    ├── README.md    ├── settings    │   ├── run_chipseq.py    │   ├── run_chipseq.sh    │   ├── run_mRNA.py    │   ├── run_mRNA.sh    │   ├── scripts_chipseq.py    │   └── scripts_mRNA.py    ├── src    │   └── run_sample.sh    ├── test_fq    │   ├── H3K4me3    │   │   ├── test.1.fq.gz    │   │   └── test.2.fq.gz    │   ├── Input    │   │   ├── test.1.fq.gz    │   │   └── test.2.fq.gz    │   └── sample.tab.xls    └── test_fq_RNA        ├── SampleA1        │   ├── test.1.fastq.gz        │   └── test.2.fastq.gz        └── sample.tab.xls

11 directories, 17 files

$ docker pull hubq/tanginstall:latest

$ docker run -v /data/docker/train/tangEpiNGSInstall/test_fq:/fastq -v /data/docker/train/results:/home/analyzer/project -v /data/docker/train/database_ChIP/mm10:/home/analyzer/database_ChIP/mm10 -v /data/docker/train/tangEpiNGSInstall/settings/:/settings/ --env ref=mm10 --env type=ChIP hubq/tanginstall:latestINFO  @ 2021-06-10 03:29:48,154: Begin checking input files.INFO  @ 2021-06-10 03:29:48,154: Input database files were all put in /home/analyzer/database_ChIP/mm10.INFO  @ 2021-06-10 03:29:48,154: Input fasta /home/analyzer/database_ChIP/mm10/mm10.fa not find. Now download from UCSCINFO  @ 2021-06-10 03:45:01,604: /home/analyzer/database_ChIP/mm10/mm10.fa generation done!INFO  @ 2021-06-10 03:45:01,605: Fasta were not indexed.INFO  @ 2021-06-10 03:45:02,105: Now build index using bwa.INFO  @ 2021-06-10 03:48:20,683: Building index done!INFO  @ 2021-06-10 03:48:20,683: Genome GTF file were not found.INFO  @ 2021-06-10 03:48:21,184: Now download refGene file from UCSC.INFO  @ 2021-06-10 05:03:38,768: Generate refGene done!INFO  @ 2021-06-10 05:03:38,768: RepeatMask file were not found.INFO  @ 2021-06-10 05:03:39,269: Now download rmsk file from UCSC.INFO  @ 2021-06-10 05:06:03,592: Generate RepeatMask done!Traceback (most recent call last):  File "/home/analyzer/module/ChIP/run_chipseq.py", line 148, in <module>    main()  File "/home/analyzer/module/ChIP/run_chipseq.py", line 126, in main    samp_peak.get_idr_stat()  File "/home/analyzer/module/ChIP/frame/module02_call_peaks.py", line 244, in get_idr_stat    mod_Stat.IDR_Stat()  File "/home/analyzer/module/ChIP/frame/module00_StatInfo.py", line 113, in IDR_Stat    f_idr_out   = open(file_idr_out,"w")IOError: [Errno 2] No such file or directory: '/home/analyzer/project/ChIP_test/StatInfo/IDR_result./home/analyzer/project/ChIP_test/sample.tab.xls'cp: cannot stat `03.2.Peak_mrg/*/*_treat_minus_control.sort.norm.bw': No such file or directorycp: cannot stat `03.3.Peak_idr/*/*.conservative.regionPeak.gz*': No such file or directorycp: cannot stat `StatInfo/*': No such file or directory

出于学习和折腾,针对这个问题,个人在 hubq/tanginstall:latest 的镜像基础上做了一点小调整,并重新打包成一个名为 shenweiyan/tanginstall:latest  的新镜像  push 到了 Docker Hub,抛砖引玉,供大家学习参考。


简单说一下这个镜像的几点细节。

  1. 整个镜像体积比较大,总共约 7.37GB,pull 下来可能比较慢。


  2. 如果没有 ref(hg19/hg38 or mm9/mm10),镜像执行过程中会首先执行下载,然后拆分合并,建立 index。
  • db01.DownloadRef.sh

$ cat db01.DownloadRef.shref=$1dir_database=/home/analyzer/database_ChIP/$refdir_path=/home/analyzer/module/ChIP

cd $dir_database

wget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/bigZips/chromFa.tar.gz

tar -zxvf $dir_database/chromFa.tar.gz

for i in {1..22} X Y Mdo    cat $dir_database/chr$i.fadone  >$dir_database/${ref}.fa && rm $dir_database/chr*fa
  • db02.RefIndex.sh

$ cat db02.RefIndex.shref=$1dir_database=/home/analyzer/database_ChIP/$refbwa_exe=/software/install_packages/bwa-0.7.5a/bwasamtools_exe=/software/install_packages/samtools-0.1.18/samtoolsdiv_bins_exe=/home/analyzer/module/ChIP/bin/div_bins/bed_read

$samtools_exe faidx $dir_database/${ref}.fa

$bwa_exe index $dir_database/${ref}.fa

$dix_bins_exe -b 100  $dir_database/${ref}.fa.fai $dir_database/columns.100.bed$dix_bins_exe -b 1000 $dir_database/${ref}.fa.fai $dir_database/columns.1kb.bed

cut -f 1-2 $dir_database/${ref}.fa.fai >$dir_database/${ref}.fa.len
  • db03.RefGene.sh

$ cat db03.RefGene.shref=$1dir_database=/home/analyzer/database_ChIP/$refbedtools_exe=/software/install_packages/bedtools2/bin/bedtoolsucsc_dir=/software/install_packages/UCSCbin=/home/analyzer/module/ChIP/bindir_path=/home/analyzer/module/ChIP

cd $dir_databasewget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/database/refGene.txt.gz

### remove chromosome fragments(unassembled).for i in {1..22} X Y Mdo    zcat $dir_database/refGene.txt.gz | grep -w chr$idone >$dir_database/tmpmv $dir_database/tmp    $dir_database/refGene.txt

# refGene.bedcat $dir_database/refGene.txt                                              |\awk '{    tag="noncoding";    if($4~/^NM/){tag="protein_coding"};    OFS="\t";    print $3,$5,$6,$2,$4,$10,$11,tag,$13}' /dev/stdin                                                              |\python $bin/s03_genePred2bed.py /dev/stdin                                 |\$bedtools_exe sort -i /dev/stdin >$dir_database/refGene.bed               &&\

# region.Intragenic.bed# For novo lncRNA detection$bin/find_ExonIntronIntergenic/find_ExonIntronIntergenic                    \    $dir_database/refGene.bed                                               \    $dir_database/${ref}.fa.fai >$dir_database/pos.bed                    &&\

grep -v "Intergenic" $dir_database/pos.bed                                 |\    awk '{OFS=" ";print $1,$2,$3,"Intragenic"}' /dev/stdin                 \    >$dir_database/region.Intragenic.bed                                  &&\

# refGene.gtf# For mappingzcat $dir_database/refGene.txt.gz                                          |\cut -f 2-                                                                  |\$ucsc_dir/genePredToGtf file stdin /dev/stdout                             |\grep -w exon                                                               |\$bedtools_exe sort -i /dev/stdin >$dir_database/refGene.gtf               &&\cat $dir_path/database/ERCC.gtf >>$dir_database/refGene.gtf
  • db04.rmsk.sh

$ cat db04.rmsk.shref=$1dir_database=/home/analyzer/database_ChIP/$refbedtools_exe=/software/install_packages/bedtools2/bin/bedtoolsucsc_dir=/software/install_packages/UCSCbin=/home/analyzer/module/ChIP/bindir_path=/home/analyzer/module/ChIP

cd $dir_databasewget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/database/rmsk.txt.gz

zcat $dir_database/rmsk.txt.gz                                             |\awk '{    OFS="\t";    print $6,$7,$8,$2,".",".",".","("$9")",$10,$11,$12 "/" $13,$14,$15,$16,$17}' /dev/stdin                                                              |\tail -n +2  /dev/stdin >$dir_database/chrom.bed

for i in {1..22} X Y Mdo    grep -w chr$i $dir_database/chrom.beddone >$dir_database/tmpmv $dir_database/tmp $dir_database/chrom.bed

$bedtools_exe sort -i   $dir_database/chrom.bed >$dir_database/chrom.sort.bed
  1. 为节省下载时间,建议事先准备好 ${ref}.fa,如果没有,也可以先下载好以下文件。

# db01.DownloadRef.sh:wget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/bigZips/chromFa.tar.gz

# db03.RefGene.sh:wget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/database/refGene.txt.gz

#db04.rmsk.sh:wget http://hgdownload.soe.ucsc.edu/goldenPath/${ref}/database/rmsk.txt.gz
  1. bwa index(db02.RefIndex.sh)非常耗时,个人一个4核16G配置的服务器也跑了大约2.5小时。

终于把 7 年前的 Docker Hub 账号恢复了

2021-06-03

生信服务器 | 更改 CentOS/RHEL 6/7 中的时区

2021-05-27

Galaxy Project | 一些尝试与思考

2021-05-19

又爱又恨的 Microsoft Edge!

2021-04-24

为 Windows 系统替换优雅的苹果字体

2021-02-19

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

使用 Docker 分析高通量测序数据相关推荐

  1. 高通量测序数据质控神器Trimmomatic

    简介 高通量测序下机的原始数据中存在一些低质量数据.接头以及barcode序列等,为消除其对后续分析准确性产生的影响,在数据下机以后对原始数据进行质控处理就成了至关重要的环节.Trimmomatic就 ...

  2. 从NCBI当中SRA数据库中下载高通量测序数据

    从NCBI当中SRA数据库中下载高通量测序数据 NCBI sra 数据下载 用迅雷替代官方的prefetch批量下载SRA测序数据,更快更稳定! 用别人的数据,发自己的文章 由于大多数杂志在文章发表前 ...

  3. MER:1.8万字带你系统了解宏组学实验与分析(高通量测序应用于病原体和害虫诊断——综述与实用性建议)...

    高通量测序应用于病原体和害虫诊断--综述与实用性建议 High‐throughput identification and diagnostics of pathogens and pests: Ov ...

  4. 表观调控高通量测序分析培训开课啦

    在广大粉丝的期待下,<生信宝典>联合<宏基因组>在2018年4月14日在北京鼓楼推出<ChIP系列高通量测序分析专题培训>,为大家提供一条走进生信大门的捷径.为同行 ...

  5. MPB:沈阳生态所李琪组-​土壤线虫群落DNA提取、扩增及高通量测序

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  6. 高通量测序技术和序列拼接算法探析

    高通量测序技术和序列拼接算法探析 时间:2019-05-27 来源:计算机科学 作者:周卫星,石海鹤 本文字数:16853字 摘    要: 高通量测序 (High-throughput Sequen ...

  7. 高通量测序数据分析:RNA-seq

    本文围绕RNA-seq学习路线进行生信入门,主要内容有: ☆ RNA-seq方法原理 ☆ RNA-seq的生物信息分析 1.数据获取 测序数据下载与处理(SRA Toolkit) 测序数据质控与过滤( ...

  8. mysql like反义_[转载]关于小RNA高通量测序数据分析方法的研究

    1 引言 小RNA(small RNAs)主要指长度在18-30nt的一类非编码RNA(ncRNAs),在真核生物中,具有基因表达调控功能的小RNA主要有微小RNA(microRNAs,miRNAs) ...

  9. 高通量测序技术的原理及各平台优势和实践应用的分析

    高通量测序技术的原理及各平台优势和实践应用的分析 2020.9.01 2060 随着人类基因组计划(human genome project )在2003年顺利完成,基因组测序技术取得了长足的进步,这 ...

最新文章

  1. 文档信息的向量化-词袋模型、gensim实现和词条分布
  2. 代码变油画,精细到毛发,这个前端小姐姐只用HTML+CSS,让美术设计也惊叹丨GitHub热榜...
  3. 【python】常用内建模块
  4. jsp页面 如何通过el表达式获取request属性值
  5. netty权威指南学习笔记三——TCP粘包/拆包之粘包现象
  6. 挨批评了!Chrome 对用户隐私保护还不如 IE?
  7. HTTP中ip地址伪造的问题以及解决办法
  8. 未解bug001:SSM整合的过程中单元测试用Junit5复合注解整合失败
  9. 快逸报表数据库密码加密解决方案
  10. Protel99SE 50个常见问题解决方法与技巧
  11. navicat中文破解版,navicat for mysql10.0.11简体中文破解版
  12. html链接鼠标在悬停颜色,如何让HTML链接显示悬停样式?
  13. uint8_t范围_uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结
  14. js+jQuery 打造我的快乐小农场
  15. ubuntu下 分辨率设置
  16. 安装pywifi的坑
  17. 京东金融云发布了,这和人工智能有什么关系?
  18. Unity 调用系统自带的虚拟键盘
  19. android微信第三方登陆混淆,Android 第三方应用接入微信平台研究情况分享(二)
  20. 如何应对大数据的三大挑战?

热门文章

  1. 面试官:Java如何绑定线程到指定CPU上执行?
  2. 因为一条SQL,程序员差点被祭天......
  3. 某程序员吐槽:媳妇要给孩子报少儿编程班,将来继续做程序员!以后要看到穿着纸尿裤的P7!...
  4. 面试官:不会看 Explain执行计划,简历敢写 SQL 优化?
  5. UML科普文,一篇文章掌握14种UML图
  6. 一份可以同时满足传统与互联网业务的Dev平台攻略
  7. 企业如何进行团队协作?
  8. 客服团队OKR怎么写?看最新客服OKR模板
  9. Leangoo 甘特图 6.0.2 版发布
  10. 西瓜创客+Leangoo敏捷实践企业案例分享