python编程,获取一段序列的反向互补序列,需要多种方法

获取序列CATGCATCGT的互补反向序列,互补规则是A与T互补,C与G互补,反向大家都知道。。。方法越多愈好,采纳方法最多的。最少10种,结果发到我邮箱51221335... 获取序列CATGCATCGT的互补反向序列,互补规则是A与T互补,C与G互补,反向大家都知道。。。方法越多愈好,采纳方法最多的。最少10种,结果发到我邮箱512213359@qq.com,谢谢。
不需要很复杂的程序,只针对CATGCATCGT这一小段序列,但是要有不同的编程方法,也就是不同的思路吧,方法多的可以加分
展开
 我来答
cydfli
推荐于2018-04-21 · TA获得超过406个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:207万
展开全部
lt='CATGCATCGT'
def func1(liststr):
t=list(liststr);d=[]
dct={'A':'T','T':'A','C':'G','G':'C'}
for x in range(len(t)):
d.append(dct[t.pop()])
return d
其他的都简单,1.直接字符串反向处理,再逐一翻译;2.用正负数来处理,这个对于大量的任务可以提高效率;3.两遍处理,True、False开关;4.列表内替换,然后反向;5.成对换位,不过效率低下; 6.还有就是直接的字符串替换,然后一个切片s[::-1]就OK了 ;
lt='CATGCATCGT'
lt=lt.replace('A','{A}').replace('T','{T}').replace('C','{C}').replace('G','{G}')
result=lt.format(A='T',T='A',C='G',G='C')[::-1]
RonaldWhite
2011-09-29 · TA获得超过303个赞
知道答主
回答量:63
采纳率:100%
帮助的人:60.4万
展开全部
RULE={'A':'T','T':'A','C':'G','G':'C'}
DNA_LIST='CATGCATCGT'
print "".join(map(lambda x:RULE[x],DNA_LIST))[::-1]

s = ""
for i in DNA_LIST:
if i == "A":
s = s+"T"
if i == "T":
s = s+"A"
if i == "C":
s = s+"C"
if i == "G":
s = s+"G"
print s
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
时髦且巍然的小彩虹9514
2011-09-25 · TA获得超过194个赞
知道答主
回答量:483
采纳率:0%
帮助的人:229万
展开全部
#!/usr/bin/perl -w
# Author: yqy_135
# Program name: fasta-re.pl 用于反转(反向互补)fasta格式序列

open (IN,"<$ARGV[0]") || die ("\nError: Couldn't open input file (*.txt) !\n\n");

my $filename = $ARGV[0];
$filename =~ s/\.txt//;
open (OUT,">$filename.fas");

$/= ">";

while (<IN>)
{
next unless (my ($id,$seq) = /(.*?)\n(.*)/s);
$seq =~ s/[\d\s>]//g;#remove digits, spaces, line breaks,...

# reverse $seq;

my @lxm=split(//,$seq);
@lxm = reverse @lxm;
$seq=join "", @lxm;

$seq=~ tr/AGCT/TCGA/;

print OUT ">"."$id\n$seq\n";

};

——————————————————————更新
上面的程序就是针对文件的,只要你是fasta格式就行,用法为
perl fasta-re.pl 你的fasta文件名

自动生成反向的fasta格式文件
追问
不需要那么复杂的,就是简单点,不需要用fasta输入输出文件,就是这小段CATGCATCGT序列,直接获得结果,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aiguo073
2011-09-23 · TA获得超过172个赞
知道答主
回答量:439
采纳率:0%
帮助的人:268万
展开全部
问题补充:如果希望通过点阵图方法发现一条序列中反向互补的序列片段,那么如何若出现反向重复序列,会在点阵图上出现一段和原描点方向相垂直的一系列点。
追问
没那么复杂,就是个python的编程,只不过要多种方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackyoung86
2018-06-26
知道答主
回答量:6
采纳率:0%
帮助的人:4.3万
展开全部
''.join([ 'TACG'['ATGC'.index(x)] for x in 'CATGCATCGT'[::-1]])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式