从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)
标签:多行,基因,单行,序列,数据,蛋白 From: https://www.cnblogs.com/wzbzk/p/18053306