shell实现DNA转录和翻译
来源:互联网 发布:黑马程序员有公司要么 编辑:程序博客网 时间:2024/05/21 22:34
查找不少于3000个碱基对的DNA序列保存到文件,编程将这些DNA序列翻译为氨基酸,将翻译好的氨基酸链保存到文件中,并计算每种氨基酸的含量。
翻译方法:DNA——>RNA——>氨基酸#!/bin/basha=`cat DNA.txt`length=${#a}echo "DNA.txt文件中含脱氧核糖核酸个数为:"$lengthj=0for(( i=0;i<"$length";i++))doarray[$i]=${a:$j:1} #从第j个位置每次取1赋给数组j=$(($j+1)) #j每次加1,移动位置case ${array[$i]} in A) echo -n "U">> RNA.txt ;; T) echo -n "A">> RNA.txt ;; C) echo -n "G">> RNA.txt ;; G) echo -n "C">> RNA.txt ;; *) echo $i echo ${array[$i]}esacdoneb=`cat RNA.txt`le=${#b}echo "RNA.txt文件中含核糖核酸个数为:" $lem=0for ((n=0;n<"$length";n++))doarr[$n]=${b:$m:1} #30行m=$(($m+1))donek=0;sum=0;ben=0;liang=0;si=0;lu=0;ban=0;se=0;pu=0;zu=0;guan=0;zhong=0;jing=0;jia=0;yi=0;su=0;tian=0;lai=0;xie=0;bing=0;gu=0;gan=0;while(( $k<$length ))docase ${arr[$k]} inU) case ${arr[$k+1]} in U) case ${arr[$k+2]} in U) echo -n "苯丙氨酸——">> protein.txt ben=$(($ben+1)) ;; C) echo -n "苯丙氨酸——">> protein.txt ben=$(($ben+1)) ;; A) echo -n "亮氨酸—— " >> protein.txt liang=$(($liang+1)) ;; G) echo -n "亮氨酸——" >> protein.txt liang=$((liang+1)) ;; esac ;; C) echo -n "丝氨酸——" >> protein.txt si=$(($si+1)) ;; A) case ${arr[$k+2]} in U) echo -n "酪氨酸——">> protein.txt lu=$(($lu+1)) ;; C) echo -n "酪氨酸——">> protein.txt lu=$(($lu+1)) ;; A) echo -n "终止——">> protein.txt zhong=$(($zhong+1)) ;; G) echo -n "终止——">> protein.txt zhong=$(($zhong+1)) ;; esac ;; G) case ${arr[$k+2]} in U) echo -n "半胱氨酸——">> protein.txt ban=$(($ban+1)) ;; C) echo -n "半胱氨酸——">> protein.txt ban=$(($ban+1)) ;; A) echo -n "终止——">> protein.txt zhong=$(($zhong+1)) ;; G) echo -n "色氨酸——">> protein.txt se=$(($se+1)) ;; esac ;; esac;;C)case ${arr[$k+1]} in U) echo -n "亮氨酸——" >> protein.txt liang=$(($liang+1)) ;; C) echo -n "脯氨酸——" >> protein.txt pu=$(($pu+1)) ;; A) case ${arr[$k+2]} in U) echo -n "组氨酸——">> protein.txt zu=$(($zu+1)) ;; C) echo -n "组氨酸——">> protein.txt zu=$(($zu+1)) ;; A) echo -n "谷胺酰胺——">> protein.txt guan=$(($guan+1)) ;; G) echo -n "谷胺酰胺——">> protein.txt guan=$(($guan+1)) ;; esac ;; G) echo -n "精氨酸——">> protein.txt jing=$(($jing+1)) ;; esac;;A) case ${arr[$k+1]} in U) case ${arr[$k+2]} in G) echo -n "(起始)甲硫氨酸——">> protein.txt jia=$(($jia+1)) ;; *) echo -n "异亮氨酸——">> protein.txt yi=$(($yi+1)) ;; esac ;; C) echo -n "苏氨酸——" >> protein.txt su=$(($su+1)) ;; A) case ${arr[$k+2]} in U) echo -n "天冬酰胺——">> protein.txt tian=$(($tian+1)) ;; C) echo -n "天冬酰胺——">> protein.txt tian=$(($tian+1)) ;; A) echo -n "赖氨酸——">> protein.txt lai=$(($lai+1)) ;; G) echo -n "赖氨酸——">> protein.txt lai=$(($lai+1)) ;; esac ;; G) case ${arr[$k+2]} in U) echo -n "丝氨酸——">> protein.txt si=$(($si+1)) ;; C) echo -n "丝氨酸——">> protein.txt si=$(($si+1)) ;; A) echo -n "精氨酸——">> protein.txt jing=$(($jing+1)) ;; G) echo -n "精氨酸——">> protein.txt jing=$(($jing+1)) ;; esac ;; esac;;G) case ${arr[$k+1]} in U) echo -n "(起始)缬氨酸——" >> protein.txt xie=$(($xie+1)) ;; C) echo -n "丙氨酸——" >> protein.txt bing=$(($bing+1)) ;; A) case ${arr[$k+2]} in U) echo -n "天冬酰胺——">> protein.txt tian=$(($tian+1)) ;; C) echo -n "天冬酰胺——">> protein.txt tian=$(($tian+1)) ;; A) echo -n "谷氨酸——">> protein.txt gu=$(($gu+1)) ;; G) echo -n "谷氨酸——">> protein.txt gu=$(($gu+1)) ;; esac ;; G) echo -n "甘氨酸——">> protein.txt gan=$(($gan+1)) ;; esac;;esack=$(($k+3))donesum=$(($ben+$liang+$si+$lu+$ban+$se+$pu+$zu+$guan+$jing+$jia+$yi+$su+$tian+$lai+$xie+$bing+$gu+$gan+$zhong))echo "文件protein.txt翻译得到的氨基酸总个数为:"$sum "其中终止个数为" $zhongecho "笨丙氨酸数:" $benecho "亮氨酸数:" $liangecho "丝氨酸数:" $si echo "酪氨酸数:" $luecho "半胱氨酸数:" $banecho "色氨酸数:" $seecho "脯氨酸数:" $puecho "组氨酸数:" $zuecho "谷胺酰胺数:" $guanecho "精氨酸数:" $jingecho "甲硫氨酸数:" $jiaecho "异亮氨酸数:" $yiecho "苏氨酸数:" $suecho "天冬酰胺数:" $tianecho "赖氨酸数:" $laiecho "缬氨酸数:" $xieecho "丙氨酸数:" $bingecho "谷氨酸数:" $guecho "甘氨酸数:" $gan
DNA序列共3819个
https://www.ncbi.nlm.nih.gov/nuccore/1063713465?report=fasta中下载。
阅读全文
0 0
- shell实现DNA转录和翻译
- 是转录因子的DNA结合片段
- 外语转录与翻译的音频
- POJ 1795 DNA Laboratory 已被翻译
- 乔布斯和盖茨的历史性对话(转录)
- 基于eXpress对转录组和基因组进行量化
- 基于eXpress对转录组和基因组进行量化
- 乔布斯和盖茨的历史性对话(转录)
- 乔布斯和盖茨的历史性对话(转录)
- 无参转录组工具评估和流程展示
- 用 Java 和 百度翻译API 实现代码注释翻译
- 转录 随手
- DNA序列问题 c++实现
- QT实现动态翻译和语言切换
- QT实现动态翻译和语言切换
- Shiny和Plotly实现可交互DNA甲基化分析包ChAMP
- DNA
- DNA
- 实现谣传QQ中的手段——“1像素页面保活”
- lintcode--最长上升子序列
- Spark程序的几个优化点
- 汇率换算自然语言理解功能IOS DEMO
- menuconfig详解(3)—— Advanced partition selection
- shell实现DNA转录和翻译
- Eclipse个性化简单配置
- Hbuilder护眼主题分享
- CentOS 6.x和CentOS 7.x的区别
- 网络传输的加密与解密
- 利用Kryo序列化库是你提升Spark性能要做的第一件事
- 完备的最大熵模型算法原理解析
- Ubuntu虚拟机无法连接网络
- 生日蛋糕 POJ