On Thu, Aug 5, 2010 at 10:07 AM, Vikram K <kpguy1...@gmail.com> wrote:
> Suppose i have this string:
> z = 'AT/CG'
>
> How do i get this list:
>
> zlist = ['A','T/C','G']

One solution, please verify:

def group_seq(seq):
    seq_out = []
    skip = 0
    seq_len = len(seq)

    for i,char in enumerate(seq):
        if skip > 0:
            skip = skip - 1
            continue
        if seq_len <= i+1:
            seq_out.append(char)
            break
        if seq[i+1] == '/':
            seq_out.append(char+seq[i+1]+seq[i+2])
            skip = 2
        else:
            seq_out.append(char)
    return seq_out

if __name__ == "__main__":
    seq = "AT/CG"
    print seq, group_seq(seq)
    seq = "A/UT/CG"
    print seq, group_seq(seq)
    seq = "A/UT/CG/A"
    print seq, group_seq(seq)
    seq = "AT/CGAAA"
    print seq, group_seq(seq)
    seq = "AT/CGAAG/CG/TCA"
    print seq, group_seq(seq)

Regards,
Baiju M
_______________________________________________
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to