[BangPypers] string to list query

Baiju M mbaiju at zeomega.com
Thu Aug 5 08:58:28 CEST 2010


On Thu, Aug 5, 2010 at 10:07 AM, Vikram K <kpguy1975 at 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


More information about the BangPypers mailing list