首页 > 其他分享 >R:基因的蛋白序列多行转单行

R:基因的蛋白序列多行转单行

时间:2024-03-05 09:44:15浏览次数:19  
标签:多行 基因 单行 序列 数据 蛋白

从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

相关文章

  • R语言多元Copula GARCH 模型时间序列预测|附代码数据
    原文链接  http://tecdat.cn/?p=2623原文出处:拓端数据部落公众号 最近我们被要求撰写关于CopulaGARCH的研究报告,包括一些图形和统计输出。和宏观经济数据不同,金融市场上多为高频数据,比如股票收益率序列。直观的来说,后者是比前者“波动”更多且随机波动的序列,在一元或多元......
  • 基因序列中的一些名词区别
      1.基因分为编码区和非编码区,编码区包含外显子和内含子,一般非编码区具有基因表达的调控功能,如启动子在非编码区。编码区则转录为mRNA并最终由外显子部分翻译成多肽(蛋白质)。2. 内含子(intron)是真核生物细胞DNA中的间插序列。这些序列被转录在前体RNA中,经过剪接被去除,最终不存......
  • 序列分割
    我们像往常一样考虑如何分组,但是我们发现在计算答案的过程中,当分的组确定的话,答案跟切的顺序是否有关如果有关的话,那么这个DP将变得非常难,所以我们估计是无关的,但是一下子就证明一般性不太好证,所以我们先手搓几组\(k\)比较小的情况当\(k=2\)的时候,假设最后分的组的每一组的元素......
  • 基于CNN-GRU-Attention的时间序列回归预测matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述        CNN-GRU-Attention模型结合了卷积神经网络(CNN)、门控循环单元(GRU)和注意力机制(Attention)来进行时间序列数据的回归预测。CNN用于提取时间序列的局部特征,GRU用于捕获时间序列的长期......
  • #SOR-序列超松弛算法
    \(\textbf{SOR(SuccessiveOver-Relaxation)}\)算法是一种用于解线性方程组的迭代方法,它通过引入松弛因子来加快收敛速度。SOR算法的基本步骤如下:将系数矩阵\(A\)分解为\(A=D-L-U\),其中D是A的对角线元素构成的对角矩阵,\(L\)是\(A\)的下三角部分(不含对角线)构成的矩阵,\(U\)是\(A\)......
  • C#序列化和反序列化
    在C#编程中,序列化和反序列化是两个核心概念,它们分别代表着将对象状态转换为可以存储或传输的形式(通常是字节流),以及将这种形式的数据恢复为原始对象状态的过程。简单来说,序列化就是将对象转换为流(如文件、网络流等),而反序列化则是将这些流转换回原始对象。为什么要序列化和反序列化......
  • 论文精读:基于图神经网络的时间序列模型(综述)
    论文精读:基于图神经网络的时间序列模型(预测任务部分)论文链接:https://arxiv.org/abs/2307.03759一、摘要时间序列数据的复杂在于涉及时间和变量之间的复杂相互作用以及变量之间的关系。与其他深度学习方法相比,图神经网络(GraphNeuralNetworks,GNNs)可以明确地建模变量间关系(多元......
  • 基于CNN+LSTM深度学习网络的时间序列预测matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022a 3.算法理论概述      时间序列预测是指利用历史数据来预测未来数据点或数据序列的任务。在时间序列分析中,数据点的顺序和时间间隔都是重要的信息。CNN+LSTM网络结合了卷积神经网络(CNN)的特征提取能力和长......
  • P6185 序列 题解
    如果发现自己莫名其妙错了,可能是代码UB,还开O2!!!!!!!!!!!传送门首先,对于每个操作2,将\(u_i,v_i\)连边。连边之后每个连通块内部可以在总和不变的情况下任意改变。用并查集将每个连通块缩点,然后对于每个操作1,将\(u_i,v_i\)连边。得到的图又会分成若干个连通块。判断整个图是否可行,只......
  • 松散子序列
    题目: importosimportsysimportmathimportrefrombisectimport*fromheapqimport*input=lambda:sys.stdin.readline().rstrip('\r\n')defI():returninput()defII():returnint(input())defLII():returnlist(map(int,input.spli......