Hi , Here is my first usable Python code. The code works. Here is what I'm trying to do. I have two huge text files. After some processing, One is 12M (file A) and the other 1M (file B) . The files have columns which are of interest to me.
I 'm trying to match entries of column [0] on file A and B If it is true proceed to find entries (Rows in file A) in range provided by columns [1] [2] and [3] [4] in file B. Column [1] and [3] define the lower bounds of the range Column [3] and [4] define the upper bounds of the range I also have put a variation of value so that I can lookup +/- var. #/bin/python import sys, os, csv, re x = 0 #Define Zero for now var = 1000000 #Taking the variation # This programme finds the SNPs from the range passed # csv splits columns and this file is tab spaced fis = csv.reader(open("divs.map", "rb"), delimiter='\t', quoting=csv.QUOTE_NONE) for row in fis: # csv splits columns and this file is "," spaced gvalues = csv.reader(open("genvalues", "rb"), delimiter=',', quoting=csv.QUOTE_NONE) for gvalue in gvalues: # To see Columns (chr) Match if row[0] == gvalue[0]: # If Column 3 (range) is Zero print row if int(gvalue[3]) == x: a = int(gvalue[1]) - var b = int(gvalue[2]) + var + 1 if int(a <= int(row[3]) <= b): print row # If Column 3 (range) is not zero find matches and print row else: a = int(gvalue[1]) - var b = int(gvalue[2]) + var + 1 if int(a <= int(row[3]) <= b): print row c = int(gvalue[3]) - var d = int(gvalue[4]) + var + 1 if int(c <= int(row[3]) <= d): print row ----------------------------------------------------- Question1 : Is there a better way ? Question2 : For now I'm using shells time call for calculating time required. Does Python provide a more fine grained check. Question 2: If I have convert this code into a function. Should I ? def parse(): ... ... ... ... parse () ____________________________________________________________________________________ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. http://tc.deals.yahoo.com/tc/blockbuster/text5.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor