🧑💻:md5值是测序文件或者其它文件检验传输前后数据是否完整的重要指标
现以从NCBI下载的数据集为例说明
-
下载完成后会有下述文件
image.png
文件中有md5checksums.txt 为对应原始的md5值
$ cat md5checksums.txt
41b9c2fabe7ff8a07ea90d8a44762cfc ./GCA_010614865.1_ASM1061486v1_assembly_report.txt
cbb41b998a6f787dcf2e901b2b8a75a7 ./GCA_010614865.1_ASM1061486v1_assembly_stats.txt
ba9347531cb06c0eecac9b27f0e86668 ./GCA_010614865.1_ASM1061486v1_genomic.fna.gz
f53d37be53acf20f5260602109629965 ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
ccaf29fa415387ec51c7dfde3a0b8aba ./GCA_010614865.1_ASM1061486v1_genomic_gaps.txt.gz
f30b503a02eb9663db898c7f3dfb7c83 ./GCA_010614865.1_ASM1061486v1_rm.out.gz
e5281c109653d42ec9e985948ebd6ff6 ./GCA_010614865.1_ASM1061486v1_rm.run
2e240f0efbbc3a123d87675f4fadb93e ./GCA_010614865.1_ASM1061486v1_wgsmaster.gbff.gz
7e7ff6850a5e44f97647742785e2d246 ./annotation_hashes.txt
eb4c13bd5287cd90a3b3a0b4045a9271 ./GCA_010614865.1_ASM1061486v1_feature_count.txt.gz
- 在Linux系统下, 自带有md5sum这个工具,在命令行终端可以直接调用
md5sum
$ md5sum --help
用法:md5sum [选项]... [文件]...
显示或检查 MD5(128-bit) 校验和。
若没有文件选项,或者文件处为"-",则从标准输入读取。
-b, --binary 以二进制模式读取
-c, --check 从文件中读取MD5 的校验值并予以检查
-t, --text 以纯文本模式读取(默认)
Note: There is no difference between binary and text mode option on GNU system.
以下三个选项在进行校验时非常有用:
--quiet 不为校验成功的文件输出OK
--status 不输出任何内容,使用退出状态号显示成功
-w, --warn 对格式不准确的校验和行进行警告
--help 显示此帮助信息并退出
--version 显示版本信息并退出
校验和会按照RFC 1321 规范生成。当进行检查时,给出的输入格式应该和程序的输出
样板格式相同。默认的输出模式时输出一行校验和的校验结果,并有一个字符来
表示文件类型("*"代表二进制," "代表纯文本),并同时显示每个文件的名称。
请向bug-coreutils@gnu.org 报告md5sum 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告md5sum 的翻译错误
要获取完整文档,请运行:info coreutils 'md5sum invocation'
- 检验传输后得到的文件的md5值是否和源文件的md5值一致
$ md5sum ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
f53d37be53acf20f5260602109629965 ./GCA_010614865.1_ASM1061486v1_genomic.gbff.gz
md5sum annotation_hashes.txt
84dfceef9612124152a24231102edc1e annotation_hashes.txt
此例发现 annotation_hashes.txt的md5值和原始的不一致
特别注意,每一次上传或下载文件都会得到对应的md5值,即文件从A机器到B机器然后到C机器文件得到的md5值都不同,只有在C机器中用md5.txt
的md5值和C机器用md5sum
检测得到的md5值
进行校验,吻合则传输过程无损
- 批量校验可在
md5.txt
的当前目录下使用md5sum -c md5.txt
$ md5sum -c md5.txt
Clean/AA-410_1.fq.gz: 确定
Clean/AA-410_2.fq.gz: 确定
Clean/AA-408_1.fq.gz: 确定
Clean/AA-408_2.fq.gz: 确定
Clean/AA-409_1.fq.gz: 确定
Clean/AA-409_2.fq.gz: 确定
网友评论