wang7131984 于 2009-05-20 15:05:28发表:

提供一种解法吧,就是把文本的格式改改

比如

>xxxx

yyyyyyyyyyyy

你就把它变成

char_num#>xxxxx#yyyyyyyyyyyyyyyyyy

然后你就可以排序.

最后将它还原为原来的格式

以下是使用ruby的实现

file = File.open "fasta"

list = []

loop do

key = file.gets

value = file.gets

break if value == nil

line = value.size.to_s << "#" << key << "#" << value

#这里你自己没说清楚,到底序列是指

#>xxxxxx

#yyyyyyyyyyyyy还是指

#yyyyyyyyyyyyyy,所以自己修改,我默认为下一种

list.push line

end

list.sort! #恩,这里有些问题,国内的ruby少的可怜。而我又没有ruby的帮助文档。这里需要修改一下sort的这个算法。因为ruby默认是按照ascii顺序排列的。所以5反而在10的后面。还有另一种方法是使用linux的sort工具 sort -n 可以实现按数字排序,但是中间要生成临时文件,自己实现。

tmpfile =File.open "fasta.tmp", "w"

list.each { |elem| tmp_list = elem.splist ( /#/ ); tmpfile.puts tmp_list[1], tmp_list[2]}

#system "mv fasta.tmp fasta"这句等你确认算法是对的再来执行吧

linux系统fasta程序,求助:如何用命令对fasta格式的序列按长短排序相关推荐

  1. linux系统中如何查看日志 (常用命令)

    linux系统中如何查看日志 (常用命令) cat  tail -f 日 志 文 件 说    明  /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用 ...

  2. 嵌入式Linux系统编程学习之二常用命令

    嵌入式Linux系统编程学习之二常用命令 文章目录 嵌入式Linux系统编程学习之二常用命令 前言 一.常用命令 1.su(用户切换) 2.useradd(添加用户) 3.passwd(修改密码) 4 ...

  3. Linux系统和程序中的DEP和ASLR保护机制

    2014年,OpenSSL加密库中的一个缓冲区溢出漏洞被公开.该缺陷被称为"心脏出血".它使受欢迎的在线服务和软件平台的数亿用户暴露于易受攻击的OpenSSL软件版本中.于是操作系 ...

  4. linux清除文件后df还是满的,Linux系统下用du和df命令清除大文件的方法

    很多用户表示,Linux系统中发现/home目录下剩余空间不足的时候,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间.但是,如何用du和df命令清除大文件呢?下面,U大侠 ...

  5. linux系统如何为软件升级,在Linux系统中怎样才能使用一个命令升级所有软件?...

    今天小编要跟大家分享的有关Linux的文章中,是关于在Linux系统中怎样才能使用一个命令升级所有软件,熟悉Linux系统的小伙伴都知道,让我们的 Linux 系统保持最新状态会用到多种包管理器.比如 ...

  6. linux系统下 压缩和解压缩文件命令

    linux系统下 压缩和解压缩文件命令 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录 2.把/home ...

  7. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  8. linux 关闭scp服务器,Linux系统如何关闭scp和sftp命令

    Linux系统如何关闭scp和sftp命令. sftp介绍 sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的加密方法.sftp ...

  9. 在linux中at 调度出错,linux系统中的调度延迟任务:at 命令

    linux系统中的调度延迟任务:at 命令 主要概念 at命令可以使命令稍后运行 batch命令可以让命令在机器负载较低的情况下运行 可以直接进入命令,或者以脚本形式提交命令 作业中的标准输出用邮件发 ...

最新文章

  1. 计算机应用基础学期教学小结,《计算机应用基础》的教学总结及小结.docx
  2. python3字典详解_python3中字典详解
  3. Silverlight:如何在程序中获取网站的根目录
  4. python中split的用法取第二个分片_python中的split()函数的用法
  5. 有关Nodejs的一些插件介绍
  6. 076_html5事件属性
  7. sklearn中的分类决策树
  8. 通过scatter图寻找噪音
  9. 2019春第十周作业
  10. 电话骗术升级了,提高警惕! (转自公司内部新闻组,真人真事)
  11. ASP.NET Core 2.1 : 图解路由(2.1 or earler)
  12. 归并排序(视频+详解+代码)
  13. python 画线置顶_绘制分支[置顶] python学习~递归函数
  14. 开课吧Java课堂之SortedSet接口如何去用?
  15. vpay平台模式开发 15天交付系统
  16. asp.net 中使用正则表达式提取IMG标签的SRC地址 .
  17. 数据血缘全方位理解实施指南
  18. 淘宝客微信html5,微信H5支付配置
  19. 对路径“C:\inetpub\wwwroot\”的访问被拒绝
  20. 让SpringBoot不需要Controller、Service、DAO、Mapper,卧槽!这款工具

热门文章

  1. 如何删除hao123?
  2. iOS关于APP唤醒和在后台做的事
  3. 04 分布式文件系统以及MapReduce入门程序
  4. 计算机or笔记本,笔记本or台式机 这几款戴尔主机性能上没得挑
  5. 国产桌面操作系统到底怎么做才能有戏?
  6. prometheus-容器健康状况监控
  7. linux 内功修炼之一 cpu
  8. 编码中关于二义性的解释
  9. 人类会被人工智能打败吗?
  10. 基于图像算法的透明容器液面液位识别算法