24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1577  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

张俊亚

木虫 (正式写手)

[求助] 求人写个程序,生物信息学分析方面的要求用perl或者python来写!已有4人参与

要求其实很简单,具体的理论我就拿个例子来讲吧!是生物信息学方面的!
fasta格式的文件
>1
ATCAGATATATATCGGCGG.................
>2
....
>45000
ATCAGTATCACAGTG...................,.......
一般能够有几万条序列,从这样的fasta格式文件中,找到以ATCAG(假设,要求这个序列可以自由设定)为开头的序列,并将其变成其反向互补序列(就是把整条序列反过来然后按A-T,C-G转换就行)。最好用python和perl来写,求高手指点!谢谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bovine

铜虫 (正式写手)

【答案】应助回帖

CODE:
#!/usr/bin/perl -w
use strict;
use autodie;

open IN,'<',$ARGV[0];
open OUT,'>',$ARGV[1];

while (<IN>){
        next if /^>/;
        if (/^ATCAG/){
                $_ = reverse $_;
                $_ =~ tr/ATCG/TAGC/;
                print OUT "$_\n";
        }
}

5楼2014-06-13 21:22:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

yuehedou

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
#! /usr/bin/perl

while (<>) {
    my $id = $_;
    chomp (my $seq = <>);
    if ($seq =~ /ATCAG/) {
        print $id;
        my @bases = split //, $seq;
        foreach (reverse @bases) {
            s/A/T/ or s/T/A/ or s/G/C/ or s/C/G/;
            print "$_";
        }
        print "\n";
    }
}

你试试
每天都为自己的无知而羞耻!
2楼2014-06-08 21:02:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuehedou

木虫 (小有名气)

)))木虫会把右括号转化为笑脸??
每天都为自己的无知而羞耻!
3楼2014-06-08 21:05:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

^gary^

木虫 (小有名气)

【答案】应助回帖

用python试了一下,交流一下
===================================================
#!/usr/bin/python
fasta=open('yourfile')
fastalist=fasta.readlines()
fasta.close()
linenum=0
def rev(a):
    b=a[::-1]
    c=''
    for ii in b:
        if ii=='A':
            c=c+'T'
        if ii=='T':
            c=c+'A'
        if ii=='C':
            c=c+'G'
        if ii=='G':
            c=c+'C'
    return c
while linenum<len(fastalist):
    print fastalist[linenum][:-1]
    if fastalist[linenum+1][:5]=='ATCAG':
        print rev(fastalist[linenum+1])
    else:
        print fastalist[linenum+1][:-1]
    linenum+=2
4楼2014-06-12 15:23:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见