当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 基因序列转换脚本[bash]
帖子发表于 : 2011-03-19 18:02 

注册: 2009-10-23 23:46
帖子: 58
送出感谢: 0 次
接收感谢: 0 次
蛋疼没事就整了个, 缺点是你的文本里面不能有“大”和“小”字,没有去空格和换行符。
代码:
#! /bin/bash -
#
# 此脚本可反转基因字符序列,并能转换成互补基因序列。
# 可用于测序序列分析,特别适合懒得开或者没有下载序列分析软件。
# Make it for fun. ekeyme

# Set separator = newline
IFS='
'

PATH=/usr/local/bin:/bin:/usr/bin
export PATH

rev=no
com=no

usage() {
   cat <<EOF
用法:
      seq [-c|-r|--help] gene_sequence_file

选项:   -c 转换基因序列,呈现其互补序列
      -r 反转基因序列

!注:   不提供如何选项,不作改变。
EOF
   exit
}

complement() {
   seq=`echo "$1" | sed \
      -e 's/A/大/g' -e 's/a/小/g' \
      -e 's/T/A/g' -e 's/t/a/g' \
      -e 's/大/T/g' -e 's/小/t/g' \
      -e 's/G/大/g' -e 's/g/小/g' \
      -e 's/C/G/g' -e 's/c/g/g' \
      -e 's/大/C/g' -e 's/小/c/g' \
      `
}

while [ $# -gt 0 ]
do
   case $1 in
   -c ) com=yes
      ;;
   -r ) rev=yes
      ;;
   --help ) usage
      ;;
   -* ) echo "无法识别选项: $1" >&2
       exit 1
      ;;
   * ) break
      ;;
   esac
   shift
done

[ -z $1 ] && {
   echo "没有可用基因序列!" >&2
   exit 1
   }
[ -f $1 ] && seq=`cat $1` || seq="$1"

[ "$com" = yes ] && complement "$seq"
[ "$rev" = yes ] && seq=`echo "$seq" | rev`

echo "$seq"

:em06


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 基因序列转换脚本[bash]
帖子发表于 : 2011-03-19 18:18 

注册: 2010-09-27 12:59
帖子: 2061
送出感谢: 0 次
接收感谢: 0 次
基因啥的 。不懂
:em06 :em11


_________________
生活里,有很多转瞬即逝,像在车站的告别,刚刚还相互拥抱,转眼已各自天涯。很多时候,你不懂,我也不懂,就这样,说着说着就变了,听着听着就倦了,看着看着就厌了,跟着跟着就慢了,走着走着就散了,爱着爱着就淡了,想着想着就算了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译