Docker怎么实现Samtools截取基因组序列
Docker怎么实现Samtools截取基因组序列
这篇文章主要讲解了“Docker怎么实现Samtools截取基因组序列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么实现Samtools截取基因组序列”吧!
Samtools是一个用于操作sam和bam文件的工具软件,能够对比对文件进行二进制查看、格式转换、排序及合并等,结合sam格式中的flag、tag等信息,还可以完成比对结果的统计汇总,是处理sam和bam文件(例如:转录组Tophat分析软件输出的比对结果为.bam文件,而重测序中BWA、bowtie等比对软件则主要输出为.sam文件)不可或缺的神器!
下载镜像并运行
安装好Docker后,搜索我们恰卡编程网提供的docker镜像,其中便有安装好samtools软件的镜像。
$dockersearch恰卡编程网NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED恰卡编程网/gene-familygene-familyanalysisdockerimage2恰卡编程网/isoseq3isoseq3v3.3.0buildby恰卡编程网0恰卡编程网/bwaBWAv0.7.17buildby恰卡编程网0恰卡编程网/rnaseqRNA-seqanalysisdockerimagebuildbyomics…0恰卡编程网/samtoolssamtoolsv1.10buildby恰卡编程网0恰卡编程网/biocontainer-baseBiocontainersbaseImagecentos70恰卡编程网/blast-plusblast+v2.9.00恰卡编程网/blastalllegacyblastallv2.2.260恰卡编程网/sratoolkitSRAtoolkitv2.10.3andasperav3.9.9.1778720
下载镜像。
$dockerpull恰卡编程网/samtoolsUsingdefaulttag:latestlatest:Pullingfrom恰卡编程网/samtoolsab5ef0e58194:Alreadyexists417469905807:Alreadyexistsed09842cc19f:Alreadyexistsf860268ff83f:Alreadyexistsf87dd41136a6:Alreadyexists90091b4f5d91:Alreadyexists6485f44fc594:Pullingfslayerlatest:Pullingfrom恰卡编程网/samtoolsab5ef0e58194:Alreadyexists417469905807:Alreadyexistsed09842cc19f:Alreadyexistsf860268ff83f:Alreadyexistsf87dd41136a6:Alreadyexists90091b4f5d91:Alreadyexists6485f44fc594:PullcompleteDigest:sha256:e641dd5b9f60d8f9d01f0d109eff72d15836d0d59a753e3e35677b1200adc4a1Status:Downloadednewerimagefor恰卡编程网/samtools:latest
下载完成后可以检查一下。
$dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZE恰卡编程网/samtoolslatest9373e18781bf8daysago2.04GB恰卡编程网/blast-pluslatest0220cac51a6e8daysago2.55GB
之后在电脑的D盘创建samtools文件夹,并粘贴需要的染色体fasta文件。如果docker是windows Toolbox版本,需要挂载D盘到虚拟机,具体操作可参考 Docker 工具安装(windows Toolbox版本)详解版!
进入虚拟机。
$dockerrun--rm-v/d/samtools:/work-it恰卡编程网/samtools:latest#这里我使用的Docker是windowsToolbox版本#######################################################欢迎使用组学大讲堂提供的docker镜像##问题交流请访问:www.恰卡编程网.com#######################################################Linux新手建议学习课程:-->https://www.恰卡编程网.com/article/702搭建实验室生信分析平台与docker使用详情见课程:-->https://www.恰卡编程网.com/article/1181[root@0e9f42f25cc110:16:46/work]#
查看工作目录。
#lltotal117M-rwxrwxrwx11000ftp117MApr2310:19Arabidopsis_thaliana.TAIR10.31.dna.toplevel.fa
samtools提取序列
samtools faidx 能够对fasta序列建立一个后缀为.fai 的文件,根据这个.fai 文件和原始的fasta文件,能够快速的提取任意区域的序列。用法:
samtoolsfaidxArabidopsis_thaliana.TAIR10.31.dna.toplevel.fa
该命令对输入的fasta序列有一定要求:对于每条序列,除了最后一行外,其他行的长度必须相同。
>oneATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT>twoanotherchromosomeATGCATGCATGCATGCATGCATGCATGC
最后生成的.fai文件如下, 共5列,\t分隔;
Pt15447846061Mt36692415706160614185850565301046061219698289194249146061323459830394515116061526975502633023426061130427671907274396061
第一列 NAME:序列的名称,只保留“>”后,第一个空白之前的内容;
第二列 LENGTH:序列的长度,单位为bp;
第三列 OFFSET:第一个碱基的偏移量,从0开始计数,换行符也统计进行;
第四列 LINEBASES:除了最后一行外,其他代表序列的行的碱基数,单位为bp;
第五列 LINEWIDTH : 行宽,除了最后一行外,其他代表序列的行的长度,包括换行符,在windows系统中换行符为\r\n, 要在序列长度的基础上加2;
最后指定要提取的序列或序列在染色体上的位置,即可提取出需要的序列:
samtoolsfaidxArabidopsis_thaliana.TAIR10.31.dna.toplevel.faPt>Pt.fa#提取叶绿体序列samtoolsfaidxArabidopsis_thaliana.TAIR10.31.dna.toplevel.faPt:100-1000>Pt.fa#提取叶绿体第100到1000碱基的序列
感谢各位的阅读,以上就是“Docker怎么实现Samtools截取基因组序列”的内容了,经过本文的学习后,相信大家对Docker怎么实现Samtools截取基因组序列这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!
推荐阅读
-
Linux如何在命令行下创建和管理 Docker 网络
-
Linux如何在系统启动时自动运行 Docker 容器
-
容器化最佳实践:Docker 与 Kubernetes 在微服务架构中的协同设计
-
Docker 镜像优化指南:分层构建、瘦身技巧与多阶段编译实践
-
Docker 新手入门:容器创建、镜像打包与数据卷管理基础
-
Docker 容器 CPU 占用过高:资源限制策略与进程分析工具使用
-
IntelliJ IDEA 远程开发:连接 SSH 服务器与 Docker 容器的配置指南
IntelliJIDEA远程开发:连接SSH服务器与Docker容器的配置指南在现代软件开发中,远程开发已经成为一种常...
-
用 VS Code+Docker 构建全栈开发环境:从本地调试到云端部署全流程
-
Docker 镜像分层原理:UnionFS 机制与缓存利用最佳实践
-
IntelliJ IDEA+Docker:微服务项目的本地调试与容器化部署流程