GenBank CDS声明蛋白导出
按字面qualifier值筛选CDS并导出唯一声明translation,保留全部特征状态、重复qualifier与原件字节位置。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
从完整GenBank读取现有蛋白声明。缺失、空值与重复translation都有明确状态;不从DNA重新计算蛋白。
如何使用
- 选择完整GenBank文件或粘贴UTF-8文本,设置qualifier key、字面值及contains/equals规则。
- 查看匹配与导出数量,并核对每个无法导出的CDS状态,不假设每个匹配都有蛋白。
- 下载proteins.faa、完整报告与original.gb;交接声明location时一并保留原件。
支持范围与限制
单份UTF-8核酸GenBank,支持BOM与LF/CRLF,上限10MiB;最多10,000记录、100,000特征、20,000匹配CDS、全部特征合计8,000,000个声明translation ASCII字符、300,000物理行。原件、JSON、CSV、FASTA完整合计上限40MiB。
物理行与声明location各限65,536个UTF-16单元;每特征最多100,000个qualifier;每个普通qualifier解码值最多1,048,576个UTF-16单元。筛选key为最多128单元的ASCII标识符,字面值最多4,096单元。所有预算共同生效,输入与输出总限约束组合容量。
识别核酸LOCUS前缀、准确ASCII固定FEATURES列和完整ORIGIN/CONTIG加//结构。未验证完整INSDC header、DNA内容与长度、location解释、密码子、翻译表、生物有效性或外部引用。蛋白LOCUS、单独CR、非法UTF-8、不支持缩进或translation字符会拒绝。
contains/equals按大小写敏感字面值匹配,不执行正则。缺qualifier和未匹配分别显示;仅恰好一个非空translation声明导出。没有声明为missing,一个空声明为empty,任何重复声明为ambiguous,即使其中一个为空也不擅选。
完整JSON保留全部已解析记录与特征、按顺序重复qualifier与flags、引号形态、声明location及准确UTF-8字节跨度。FASTA header可逆包含记录/特征索引、LOCUS、全部ID与location;只移除现有translation内空白,不推断蛋白生物有效性。
CSV包含每个CDS状态,为类似公式的文本加单引号防护;JSON保留原值。表格仅预览前200行,长单元格前2,000个UTF-16单元。超过20,000单元的复制内容是报告预览,下载仍完整;原件BOM、LF/CRLF字节精确保留。
操作示例
示例输入
LOCUS scaffold_10 12 bp DNA linear UNA 01-JAN-2000
DEFINITION Synthetic test record; declared translations are not recomputed.
ACCESSION SYNTH0001
VERSION SYNTH0001.1
KEYWORDS .
FEATURES Location/Qualifiers
CDS 13110..15500
/ID="id"
/NRPS_PKS="Domain: PKS_KR"
/translation="MKL*"
/NRPS_PKS="type: other"
CDS join(3252..3263,3321..3443,3493..4428)
/ID="id"
/NRPS_PKS="Domain: PKS_KR"
/translation="MKL*"
/ID="CDS_13111"
ORIGIN
1 acgtacgtacgt
//
示例参数
{"secondary":"","params":{"qualifierKey":"NRPS_PKS","literal":"PKS_","mode":"contains"}}示例输出
{"profile":"UTF8 nucleic GenBank LOCUS/FEATURES and declared CDS translations; not full INSDC/schema/sequence/location/biological validation","selection":{"qualifierKey":"NRPS_PKS","literal":"PKS_","mode":"contains","valueMatching":"literal-case-sensitive"},"source":{"encoding":"UTF-8","bytes":707,"bomRetained":false},"records":[{"index":0,"locus":"scaffold_10","declaredLengthToken":"12","accession":["SYNTH0001"],"version":"SYNTH0001.1","featureIndexes":[0,1],"source":{"utf8Start":0,"utf8Bytes":707}}],"features":[{"index":0,"record":0,"key":"CDS","qualifiers":[{"key":"ID","quoted":true,"flag":false,"source":{"utf8Start":294,"utf8Bytes":30},"value":"id"},{"key":"NRPS_PKS","quoted":true,"flag":false,"source":{"utf8Start":324,"utf8Bytes":48},"value":"Domain: PKS_KR"},{"key":"translation","quoted":true,"flag":false,"source":{"utf8Start":372,"utf8Bytes":41},"value":"MKL*"},{"key":"NRPS_PKS","quoted":true,"flag":false,"source":{"utf8Start":413,"utf8Bytes":45},"value":"type: other"}],"source":{"utf8Start":260,"utf8Bytes":198},"declaredLocation":"13110..15500"},{"index":1,"record":0,"key":"CDS","qualifiers":[{"key":"ID","quoted":true,"flag":false,"source":{"utf8Start":518,"utf8Bytes":30},"value":"id"},{"key":"NRPS_PKS","quoted":true,"flag":false,"source":{"utf8Start":548,"utf8Bytes":48},"value":"Domain: PKS_KR"},{"key":"translation","quoted":true,"flag":false,"source":{"utf8Start":596,"utf8Bytes":41},"value":"MKL*"},{"key":"ID","quoted":true,"flag":false,"source":{"utf8Start":637,"utf8Bytes":37},"value":"CDS_13111"}],"source":{"utf8Start":458,"utf8Bytes":216},"declaredLocation":"join(3252..3263,3321..3443,3493..4428)"}],"cds":[{"featureIndex":0,"recordIndex":0,"locus":"scaffold_10","ids":["id"],"declaredLocation":"13110..15500","predicateQualifierIndexes":[1,3],"matchingQualifierIndexes":[1],"translationQualifierIndexes":[2],"status":"exported"},{"featureIndex":1,"recordIndex":0,"locus":"scaffold_10","ids":["id","CDS_13111"],"declaredLocation":"join(3252..3263,3321..3443,3493..4428)","predicateQualifierIndexes":[1],"matchingQualifierIndexes":[1],"translationQualifierIndexes":[2],"status":"exported"}],"proteinManifest":[{"featureIndex":0,"header":"r=0|f=0|locus=scaffold_10|cds=%5B%22id%22%5D|location=13110..15500","aminoAcids":4},{"featureIndex":1,"header":"r=0|f=1|locus=scaffold_10|cds=%5B%22id%22%2C%22CDS_13111%22%5D|location=join(3252..3263%2C3321..3443%2C3493..4428)","aminoAcids":4}],"summary":{"records":1,"features":2,"cds":2,"matchedCDS":2,"exportedProteins":2,"exportedAminoAcids":8,"declaredTranslationCharacters":8,"physicalLines":19,"unavailableMatches":0},"unreviewed":["ORIGIN/CONTIG nucleotide content and length","location interpretation/extraction","other record headers","codon_start/transl_table consistency","biological protein validity","external references"]}出现问题时
提供完整核酸记录并确认固定列和编码;在原始数据中核实筛选或重复声明,不删除证据猜选蛋白。超限时减少输入或完整交付规模。取消或失败不发布部分文件。
常见问题
会从DNA翻译蛋白吗?
不会;只导出现有声明translation。DNA、密码子设置与translation一致性未审查。
translation出现两次怎么办?
任何重复声明都标记ambiguous并不导出,包括一个为空、另一个非空的情况。所有声明仍在完整报告中。
会解释location吗?
不会;join、complement、模糊位置与远端location按声明字符串及原件位置保留,不用于提取核酸。