应用场景:kobas3.0的注释库中,有很多关系对应表。如果你单独把它提取出来,用来做自己的注释也是不错的。
假设你需要nta.db中的表格信息如何做?
第一步:查看这个文件中有哪些表格。
node17:~>sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db
#SQLite version 3.13.0 2016-05-18 10:57:30
#Enter ".help" for usage hints.
sqlite> .tables
Diseases GeneGis GeneUniprotkbAcs Orthologs
GeneDiseases GeneGos Genes Pathways
GeneEnsemblGeneIds GeneGoslims Gos
GeneEntrezGeneIds GenePathways Goslims
#有了这些表格信息,就可以批量导出了。
先退出sqlite运行环境。
sqlite> .quit
第二步:在txt文本中编辑好脚本信息,最后复制粘贴到shell中运行即可。
sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db <<EOF
.output nta_Gos.txt
.headers on
.separator "\t" "\r\n"
select * from Gos;
.output stdout
.output nta_GenePathways.txt
.headers on
.separator "\t" "\r\n"
select * from GenePathways;
.output stdout
.quit
EOF
这里解释一下每句都是什么意思
.output nta_GenePathways.txt ##sqlite语句:意思是后续内容将输出至文本nta_GenePathways.txt。目录是当前目录。
.headers on #显示表头
.separator "\t" "\r\n" #设置列与行的分隔符。列设为tab,行设置为"\r\n"。
select * from GenePathways; #sql语句,把表格里的内容都显示出来。
.output stdout #屏幕上的内容输出至设定文件中,并结束此次输出。
类似的内容也可以这样改。
sqlite3 ~/biosoft/kobas-3.0/sqlite3/nta.db <<EOF #准备对ntab.db开始执行以下操作。
这里就是你想要对sqlit3数据库进行操作的具体内容。
.quit ##退出sqlite运行环境。
EOF #操作完毕后,别忘执行退出。