热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

docker镜像发布及使用的方法

这篇文章主要介绍了docker镜像发布及使用的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker镜像发布及

这篇文章主要介绍了docker镜像发布及使用的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker镜像发布及使用的方法文章都会有所收获,下面我们一起来看看吧。

1)首先系统中安装docker

2)镜像搜索、下载、启动使用方法:
> docker search 编程笔记   #搜索组学大讲堂提供的所有镜像
NAME                           DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
编程笔记/gene-family         gene-family analysis docker image               5                  
编程笔记/rnaseq              RNA-seq analysis docker image build by omics…   3                 
编程笔记/gsds-v2             GSDS 2.0 – Gene Structure Display Server        1                  
编程笔记/reseq               whole genome resequence analysis                1                  
编程笔记/biocontainer-base   Biocontainers base Image centos7                1                  
编程笔记/blast-plus          blast+ v2.9.0                                   0                  
编程笔记/isoseq3             isoseq3 v3.3.0 build by 编程笔记              0                  
编程笔记/bwa                 BWA v0.7.17 build by 编程笔记                 0                  
编程笔记/blastall            legacy blastall v2.2.26                         0                  
编程笔记/sratoolkit          SRAtoolkit v2.10.3 and aspera v3.9.9.177872     0                  
编程笔记/ampliseq-q2         Amplicon sequencing qiime2 v2020.2 image        0                  
编程笔记/ampliseq-q1         Amplicon sequencing qiime1 v1.9.1 image         0                  
编程笔记/samtools            samtools v1.10 build by 编程笔记              0                  
编程笔记/bsaseq              NGS Bulk Segregant Analysis image               0                  
编程笔记/gwas                gwas analysis images                            0                  
> docker pull 编程笔记/ampliseq-q1  #下载扩增子镜像
>docker run --rm -it -m 4G --cpus 1  -v D:\qiime1-16s:/work 编程笔记/ampliseq-q1:latest    #启动并进入镜像

安装软件及版本介绍

OTU分析相关软件
qiime1 v1.9.1
mothur  v.1.25.0
usearch   10.0.240
usearch71 6.1.544
vsearch v2.15.0
序列处理相关分析包
flash v2.15.0 序列合并
bioperl 
biopython
fastqc
multiqc
fastp
qiime分析相关的包
blast-2.2.22
blat-36
cdhit-3.1
muscle-3.8.31
rdpclassifier-2.2
uclust
功能注释相关分析软件
picrust-1.1.4
bugbase
数据分析与可视化相关的R包:
ggplot2
Ternary
DESeq2
edgeR
ggtree
vegan
pheatmap
高级分析相关包
randomForest  机器学习
scikit-learn  机器学习
circos  圈图绘制
Krona  物种丰度圈图
LefSe 差异比较分析

注意:以上软件包的列表只是部分举例,实际安装的包还有更多。

扩增子镜像使用案例

1.数据准备

fastmap.txt文件, 测序数据文件放在data文件夹中,物种注释数据库文件Greengene silva unite等放在database目录,需要这些测试数据的同学可以关注组学大讲堂公众号,并回复16s,即可得到;准备完成之后,目录结构如下:

[root@aefe86d682b1  13:58:49 /work/amplicon_demo]# tree 
 data
    |-- ERR3975186_1.fastq.gz
    |-- ERR3975186_2.fastq.gz
    |-- ERR3975187_1.fastq.gz
    `-- ERR3975187_2.fastq.gz
 fastmap.txt

设置一些环境变量方便后续调用:

dbdir=/work/database
workdir=/work/amplicon_demo
datadir=$workdir/data
fastmap=$workdir/fastmap.txt
mkdir /work/tmp
export TMPDIR=/work/tmp  #防止临时目录存储 不够
######################database
#各大数据库地址:
silva_16S_97_seq=$dbdir/SILVA_132_QIIME_release/rep_set/rep_set_16S_only/97/silva_132_97_16S.fna 
silva_16S_97_tax=$dbdir/SILVA_132_QIIME_release/taxonomy/16S_only/97/taxonomy_7_levels.txt 

greengene_16S_97_seq=$dbdir/gg_13_8_otus/rep_set/97_otus.fasta
greengene_16S_97_tax=$dbdir/gg_13_8_otus/taxonomy/97_otu_taxonomy.txt

silva_18S_97_seq=$dbdir/SILVA_132_QIIME_release/rep_set/rep_set_18S_only/97/silva_132_97_18S.fna 
silva_18S_97_tax=$dbdir/SILVA_132_QIIME_release/taxonomy/18S_only/97/taxonomy_7_levels.txt 

unite_ITS_97_seq=$dbdir/unite_ITS8.2/sh_refs_qiime_ver8_97_04.02.2020.fasta
unite_ITS_97_tax=$dbdir/unite_ITS8.2/sh_taxonomy_qiime_ver8_97_04.02.2020.txt
2.合并双端reads,flash
cd $workdir  #回到工作目录
mkdir 1.merge_pe

for i in  `cat $fastmap |grep -v '#'|cut -f 1` ;do 
    echo "RUN CMD: flash $datadir/${i}_1.fastq.gz $datadir/${i}_2.fastq.gz \
        -m 10 -x 0.2 -p 33 -t 1 \
        -o $i -d 1.merge_pe"

    flash $datadir/${i}_1.fastq.gz $datadir/${i}_2.fastq.gz \
        -m 10 -x 0.2 -p 33 -t 1 \
        -o $i -d 1.merge_pe
done
3.对原始数据进行fastqc质控
cd $workdir  #回到工作目录
mkdir 2.fastqc
#fastqc查看数据质量分布等
fastqc -t 2 $workdir/1.merge_pe/*extendedFrags.fastq  -o $workdir/2.fastqc
#质控结果汇总
cd $workdir/2.fastqc
multiqc .

4.数据质控:对原始序列进行去接头,引物,删除低质量的reads等等

cd $workdir  #回到工作目录
mkdir 3.data_qc
cd  3.data_qc
#利用fastp工具去除adapter
#--qualified_quality_phred the quality value that a base is qualified. 
#            Default 15 means phred quality >=Q15 is qualified. (int [=15])
#--unqualified_percent_limit how many percents of bases are allowed to be unqualified
#--n_base_limit if one read's number of N base is >n_base_limit, 
#            then this read/pair is discarded 
#--detect_adapter_for_pe   接头序列未知  可设置软件自动识别常见接头
#
for i in `cat $fastmap |grep -v '#'|cut -f 1`; do 
    echo "RUN CMD: fastp --thread 1 --qualified_quality_phred 10 \
        --unqualified_percent_limit 50 \
        --n_base_limit 10 \
        --length_required 300 \
        --trim_front1 29 \
        --trim_tail1 18 \
        -i $workdir/1.merge_pe/${i}.extendedFrags.fastq \
        -o ${i}.clean_tags.fq.gz \
        --adapter_fasta $workdir/data/illumina_multiplex.fa -h ${i}.html -j ${i}.json"

    fastp --thread 1 --qualified_quality_phred 10 \
        --unqualified_percent_limit 50 \
        --n_base_limit 10 \
        --length_required 300 \
        --trim_front1 29 \
        --trim_tail1 18 \
        -i $workdir/1.merge_pe/${i}.extendedFrags.fastq \
        -o ${i}.clean_tags.fq.gz \
        --detect_adapter_for_pe -h ${i}.html -j ${i}.json
done
去除嵌合体
cd $workdir  #回到工作目录mkdir 4.remove_chimerascd  4.remove_chimeras
#去除嵌合体
for i in `cat $fastmap |grep -v '#'|cut -f 1`; do      #相同重复序列合并    vsearch --derep_fulllength $workdir/3.data_qc/${i}.clean_tags.fq.gz \        --sizeout --output ${i}.derep.fa    #去嵌合体    vsearch --uchime3_deno ${i}.derep.fa \        --sizein --sizeout  \        --nonchimeras ${i}.denovo.nonchimeras.rep.fa     #相同序列还原为多个    vsearch --rereplicate ${i}.denovo.nonchimeras.rep.fa --output ${i}.denovo.nonchimeras.fadone
#根据参考序列去除嵌合体for i in `cat $fastmap |grep -v '#'|cut -f 1`; do     vsearch --uchime_ref ${i}.denovo.nonchimeras.fa \        --db $dbdir/rdp_gold.fa \         --sizein --sizeout --fasta_width 0 \        --nonchimeras ${i}.ref.nonchimeras.fadone
qiime1分析pick otu 聚类方法
cd $workdir  #回到工作目录
mkdir 5.pick_otu_qiime
cd   5.pick_otu_qiime

#合并fasta文件,并加序列号
for i in `cat $fastmap |grep -v '#'|cut -f 1`; do 
    rename_fa_id.pl  -f $workdir/4.remove_chimeras/$i.ref.nonchimeras.fa \
        -n $i -out $i.fa
done

#合并fa文件到qiime.fasta 之后删除所有单个样本的fa文件
cat *fa >qiime.fasta
rm -f *fa

###方法1:pick_de_novo_otus.py
###输出qiime pick otu 参数,更多:http://qiime.org/scripts/pick_otus.html

echo pick_otus:denovo_otu_id_prefix OTU >> otu_params_de_novo.txt
echo pick_otus:similarity 0.97 >> otu_params_de_novo.txt
echo pick_otus:otu_picking_method uclust >> otu_params_de_novo.txt   #sortmerna, mothur, trie, uclust_ref, usearch, usearch_ref, blast, usearch71, usearch71_ref,sumaclust, swarm, prefix_suffix, cdhit, uclust.
echo assign_taxonomy:reference_seqs_fp $silva_16S_97_seq >> otu_params_de_novo.txt
echo assign_taxonomy:id_to_taxonomy_fp $silva_16S_97_tax >> otu_params_de_novo.txt
echo assign_taxonomy:similarity 0.8 >>otu_params_de_novo.txt
echo assign_taxonomy:assignment_method uclust >>otu_params_de_novo.txt    # rdp, blast,rtax, mothur, uclust, sortmerna如果是ITS/18S数据,建议数据库更改为UNITE,方法改为blast。详细使用说明,请读官方文档:http://qiime.org/scripts/assign_taxonomy.html

pick_de_novo_otus.py -i qiime.fasta -f -o pick_de_novo_otus -p otu_params_de_novo.txt
alpha_diversity 分析
cd $workdir  #回到工作目录
mkdir 8.alpha_diversity
cd   8.alpha_diversity
#alpha多样性指数展示
biom summarize-table  -i $workdir/5.pick_otu_qiime/pick_de_novo_otus/otu_table_clean_rare.biom
echo alpha_diversity:metrics observed_species,PD_whole_tree,shannon,chao1,simpson,goods_coverage > alpha_params.txt
alpha_rarefaction.py -f -i $workdir/5.pick_otu_qiime/pick_de_novo_otus/otu_table_clean.biom -m $fastmap -o ./ -p alpha_params.txt -t $workdir/5.pick_otu_qiime/pick_de_novo_otus/rep_set.tre --retain_intermediate_files --min_rare_depth 40 --max_rare_depth 2032 --num_steps 10

#多样性指数差异比较qiime 自带检验与绘图
compare_alpha_diversity.py \
    -i alpha_div_collated/chao1.txt \
    -o alpha_chao1_stats \
    -m $fastmap \
    -t nonparametric \
    -c city

compare_alpha_diversity.py \
    -i alpha_div_collated/chao1.txt \
    -o alpha_chao1_stats \
    -m $fastmap \
    -t parametric \
    -c city
beta_diversity 分析
cd $workdir  #回到工作目录
mkdir 9.beta_diversity
cd   9.beta_diversity

echo beta_diversity:metrics binary_jaccard,bray_curtis,unweighted_unifrac,weighted_unifrac,binary_euclidean > beta_params.txt

#-e 设置抽平数
beta_diversity_through_plots.py -f -i $workdir/5.pick_otu_qiime/pick_de_novo_otus/otu_table_clean.biom -m $fastmap -o ./ -t $workdir/5.pick_otu_qiime/pick_de_novo_otus/rep_set.tre -e 2844 -p beta_params.txt
#beta多样性adonis检验
compare_categories.py --method adonis -i unweighted_unifrac_dm.txt -m $fastmap -c Treatment -o adonis_out -n 999

关于“docker镜像发布及使用的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“docker镜像发布及使用的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程笔记行业资讯频道。


推荐阅读
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
  • 本文介绍了一道经典的状态压缩题目——关灯问题2,并提供了解决该问题的算法思路。通过使用二进制表示灯的状态,并枚举所有可能的状态,可以求解出最少按按钮的次数,从而将所有灯关掉。本文还对状压和位运算进行了解释,并指出了该方法的适用性和局限性。 ... [详细]
author-avatar
雅婷婉君323
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有