对齐FASTA整列裁剪
按明确缺失字符集合和阈值删除alignment整列,保留每条序列、完整header及全部原列到新列映射。
- 1添加输入
- 2调整设置
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
对全部等宽序列应用同一列决定。先检查缺失数量和保留坐标,再下载投影后的alignment;只有明确选择N/X时才将其计为缺失。
如何使用
- 选择或粘贴一份等宽aligned FASTA,明确缺失字符集合和整列规则。
- 运行后检查原列、保留列及删除列数量;涉及位置时核对完整列映射。
- 下载投影FASTA和完整JSON/CSV,将原件及坐标一起交接。
支持范围与限制
单份等宽UTF-8 aligned FASTA最多10 MiB,可含BOM与LF/CRLF;最多10,000行序列、100,000原列、8,000,000总residue位点,完整header最多65,536个UTF-16单位,非空物理序列片段最多200,000。完整JSON、CSV和FASTA合计最多40 MiB。
residue支持ASCII大小写字母、*、?、.与-;完整UTF-8 header、重复ID和来源跨度分别保留。孤立CR、不支持字符、不等宽以及header控制字符会拒绝;原件文本保留空行。
明确选择缺失字符及“任一缺失”或0–100整数百分比。百分比按缺失数×100 >= 行数×阈值整列删除;90%时10行中9个缺失删除、8个保留,0%时删除全部列。
N/X歧义字符默认不是gap,只有选择后才计为缺失。不执行alignment、关系推断或最佳生物学裁剪。引用需求中的220MB文件超出此10MiB profile。
完整JSON保存原件/hash、每个完整header、物理来源跨度、全部missingCounts、完整零基列映射及每条投影序列。CSV覆盖每个原列,新坐标null/空表示已删除;不会静默截断膨胀的数百万原因索引。
零列输出为明确有效状态:每个原header仍存在,序列为空。输出FASTA使用LF,原LF/CRLF/BOM可由报告原文重建。预览200行、每格2,000个UTF-16单位;大报告复制为标注预览,完整下载原子交付。
操作示例
示例输入
>row1 A-- >row2 A-- >row3 A-- >row4 A-- >row5 A-- >row6 A-- >row7 A-- >row8 A-- >row9 A-C >row10 ACC
示例参数
{"secondary":"","params":{"missingCharacters":"-","rule":"percentage","percent":90,"spreadsheetSafe":true}}示例输出
{"source":{"name":"pasted.txt","bytes":101,"sha256":"989e4f0278a17af599cc19fb61849719d8910618570894ee9301336b3deab116","encoding":"UTF-8","bomRetained":false},"sourceText":">row1\nA--\n>row2\nA--\n>row3\nA--\n>row4\nA--\n>row5\nA--\n>row6\nA--\n>row7\nA--\n>row8\nA--\n>row9\nA-C\n>row10\nACC\n","summary":{"rows":10,"inputColumns":3,"outputColumns":2,"removedColumns":1,"inputCells":30,"maxHeaderUTF16":5,"physicalSequenceFragments":10,"status":"aligned-columns-projected"},"missingCharacters":["-"],"threshold":90,"comparison":"greater-than-or-equal-integer-cross-product","coordinates":"zero-based","causes":"complete per-column missing count; raw source determines each contributing row","missingCounts":[0,9,8],"columnMap":[0,null,1],"records":[{"header":"row1","sequence":"A-","sourceHeader":{"utf8Start":1,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":6,"utf8Bytes":3,"line":2}]},{"header":"row2","sequence":"A-","sourceHeader":{"utf8Start":11,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":16,"utf8Bytes":3,"line":4}]},{"header":"row3","sequence":"A-","sourceHeader":{"utf8Start":21,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":26,"utf8Bytes":3,"line":6}]},{"header":"row4","sequence":"A-","sourceHeader":{"utf8Start":31,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":36,"utf8Bytes":3,"line":8}]},{"header":"row5","sequence":"A-","sourceHeader":{"utf8Start":41,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":46,"utf8Bytes":3,"line":10}]},{"header":"row6","sequence":"A-","sourceHeader":{"utf8Start":51,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":56,"utf8Bytes":3,"line":12}]},{"header":"row7","sequence":"A-","sourceHeader":{"utf8Start":61,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":66,"utf8Bytes":3,"line":14}]},{"header":"row8","sequence":"A-","sourceHeader":{"utf8Start":71,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":76,"utf8Bytes":3,"line":16}]},{"header":"row9","sequence":"AC","sourceHeader":{"utf8Start":81,"utf8Bytes":4},"sourceSequenceSpans":[{"utf8Start":86,"utf8Bytes":3,"line":18}]},{"header":"row10","sequence":"AC","sourceHeader":{"utf8Start":91,"utf8Bytes":5},"sourceSequenceSpans":[{"utf8Start":97,"utf8Bytes":3,"line":20}]}],"scope":"One declared equal-width alignment; ASCII residues [A-Za-z*?.-], full UTF8 headers and duplicate IDs preserved. N/X count only if explicitly selected. No alignment, inference or biological optimality. 220MB source use case is outside the10MiB input profile."}出现问题时
修复不等宽或不支持字符,确认缺失集合与整数阈值。超限时减少原件、位点、片段或完整输出体量,保留原alignment;取消不输出部分FASTA或映射。
常见问题
是否逐条删除每个序列中的gap?
不是,对全部行应用同一个列mask,保持alignment。示例删除90%缺失列,保留80%缺失列。
N和X默认计为缺失吗?
不计,默认集合只有-。只有接收任务明确将N/X定义为缺失时才加入;这会改变共同列mask。
全部输出列都能消失吗?
可以,结果明确显示零输出列,每个完整header仍输出为空序列。0%按>=规则会删全部列,请在下游使用前确认阈值。