#!/usr/bin/python

import sys, re, os, math

if len(sys.argv) < 3 :
        print "Usage: %s  file.dat group_name" % sys.argv[0]
        sys.exit(0)

datfile = sys.argv[1]
datfile_handle = open(datfile, "r")              #Open the file for reading only
datfile_content = datfile_handle.readlines()     #function that convert each line in a string of a list
datfile_handle.close()

group=sys.argv[2]
 
new_ndx = open(group+"_new.ndx", "w");             #Open the file for writing only

found_block= False
lipid=True
ndx=0

for line in datfile_content:
        flag = re.match("^\[\s" + re.escape(group) + "\s\]", line)
        if re.match("^\[\s", line):
                if not re.match("^\[\sDOPC\s\]", line):
                        lipid=False
                if flag:
                        found_block=True
                        continue
                else:
                        found_block=False

        if found_block:
#                linesplit = line[:-1].split()
                linesplit = line.split()
                
                for i in linesplit:
                        ndx+=1
                        new_ndx.write("[ %s%s ]\n" % (str(group), str(ndx)))
                        new_ndx.write(i+"\n")
        else:
                if lipid:
                        new_ndx.write(line)
                else:
                        continue
print(ndx)
