You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell为多份.faa文件的>开头行添加文件名并合并

解决方案

你不需要先修改文件扩展名,可以直接一步完成表头添加文件名+合并文件+设置UTF8编码的操作,以下是适合新手的完整PowerShell脚本:

# 1. 设置你的FASTA文件所在目录(替换成实际路径,有空格的话用引号括起来)
$directory = "C:\你的FASTA文件目录"
# 2. 设置最终合并后的输出文件名
$outputFile = Join-Path $directory "merged_all.faa"

# 3. 如果输出文件已存在,先删除(避免重复内容)
if (Test-Path $outputFile) { Remove-Item $outputFile }

# 4. 遍历所有.faa文件并处理
Get-ChildItem -Path $directory -Filter *.faa -File | ForEach-Object {
    $currentFileName = $_.Name  # 获取当前处理的文件名
    # 读取当前文件的每一行,逐一处理
    Get-Content -Path $_.FullName | ForEach-Object {
        # 判断是否是FASTA表头行(以>开头)
        if ($_ -match '^>') {
            # 在表头末尾添加文件名信息,格式可自定义,比如改成">$currentFileName $_"会把文件名放在表头最前面
            "$_ [来源文件:$currentFileName]"
        } else {
            # 非表头行(蛋白质序列)直接保留原内容
            $_
        }
    }
    # 每个文件处理完后加一个空行,防止不同文件的序列连在一起
    ""
} | Set-Content -Path $outputFile -Encoding UTF8

关键说明:

  • 直接处理.faa文件,省去了改扩展名的多余步骤
  • 表头修改的格式可以自己调整:比如你想把文件名放在表头最前面,就把"$_ [来源文件:$currentFileName]"改成">$currentFileName $_"
  • 最终输出的文件已经是UTF8编码,直接可以在R里处理,不需要额外转码
  • 脚本会自动给每个文件的所有表头添加对应文件名,避免合并后分不清序列来源

内容的提问来源于stack exchange,提问作者Traitor Legions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:52:21