R:基因的蛋白序列多行转单行
从Phytozome上导出来的,这个用于后续的基因家族分析,通过此脚本将序列变为一行
# 清除所有变量
rm(list = ls())
# 设置工作目录
setwd("C:/Users/Administrator/Desktop")
# 定义读取和处理序列数据的函数
process_sequences <- function(file_path) {
# 读取文件内容
lines <- readLines(file_path)
# 初始化变量
output <- c() # 存储处理后的序列
current_header <- "" # 当前序列标题
sequence_data <- "" # 当前序列数据
for (line in lines) {
if (grepl("^>", line)) { # 如果是序列头
if (sequence_data != "") {
# 如果当前序列数据非空,则将标题和序列数据组合后添加到输出中
output <- c(output, current_header, sequence_data)
sequence_data <- "" # 重置序列数据
}
current_header <- line # 更新当前序列标题
} else {
# 不是标题行,则将其视为序列数据,累积到序列数据变量中
sequence_data <- paste0(sequence_data, line)
}
}
# 确保最后一个序列也被正确处理
if (sequence_data != "") {
output <- c(output, current_header, sequence_data)
}
return(output)
}
# 指定输入文件名
input_file_name <- "mart_export.txt"
# 使用函数处理文件
output_sequences <- process_sequences(input_file_name)
# 指定输出文件名
output_file_name <- "processed_sequences.txt"
# 将处理后的序列保存到新文件中
writeLines(output_sequences, output_file_name)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)