import colorsys, sys, csv, os
from pymol import cmd

#################################
#
# use the correct path to you csv
# file. A row of this file should be like this:
# DOMAIN_NAME START_POSITION END_POSITION
# you can use more rows, 
# and separator is TAB
#
#################################

inputCSV = "/path/to/csv/file.csv"

colors = ['red', 'green', 'blue', 'yellow', 'violet', 'cyan',    \           'salmon', 'lime', 'pink', 'slate', 'magenta', 'orange', 'marine', \	   'olive', 'purple', 'teal', 'forest', 'firebrick', 'chocolate',    \	   'wheat', 'grey' ]
  
freader = csv.reader(open( "/Users/matteo/Desktop/test.csv" ),delimiter='\t')
cmd.color('white','all')
co = 0
domains = {}
for row in freader:
	dom = row[0]
	start = row[1]
	stop = row[2]
	
	selec = "resi "+str(start)+"-"+str(stop)
	if dom in domains.keys():
		cmd.color(domains[dom],selec)
		print dom, domains[dom]
	else:
		cmd.color(colors[co],selec)
		domains[dom] = colors[co]
		print dom, colors[co]
		co += 1
	
	