diff maaslin_format_input_selector.py @ 0:e0b5980139d9

maaslin
author george-weingart
date Tue, 13 May 2014 22:00:40 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/maaslin_format_input_selector.py	Tue May 13 22:00:40 2014 -0400
@@ -0,0 +1,137 @@
+#!/usr/bin/env python
+
+"""
+Author: George Weingart
+Description: Dynamically read columns from input file for UI
+"""
+
+#####################################################################################
+#Copyright (C) <2012>
+#
+#Permission is hereby granted, free of charge, to any person obtaining a copy of
+#this software and associated documentation files (the "Software"), to deal in the
+#Software without restriction, including without limitation the rights to use, copy,
+#modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+#and to permit persons to whom the Software is furnished to do so, subject to
+#the following conditions:
+#
+#The above copyright notice and this permission notice shall be included in all copies
+#or substantial portions of the Software.
+#
+#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+#INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+#PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+#HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+#OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+#SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#####################################################################################
+
+__author__ = "George Weingart"
+__copyright__ = "Copyright 2012"
+__credits__ = ["George Weingart"]
+__license__ = "MIT"
+__maintainer__ = "George Weingart"
+__email__ = "george.weingart@gmail.com"
+__status__ = "Development"
+
+import sys,string,time
+from pprint import pprint
+
+def red(st,l):
+	if len(st) <= l: return st 
+	l1,l2 = l/2,l/2
+	return st[:l1]+".."+st[len(st)-l2:]
+
+def get_cols(data,full_names):
+	if data == "": return []
+	max_len =32 
+        fname = data.dataset.file_name
+	input_file = open(fname)
+	input_lines = input_file.readlines()
+	input_file.close()
+	table_lines = []
+	for x in input_lines:
+		first_column = x.split('\t')[0]
+		table_lines.append(first_column)
+
+	opt = []
+	rc = ''
+	lines = []
+        try:
+		lines = [(red((rc+v.split()[0]),max_len),'%d' % (i+1),False) for i,v in enumerate(table_lines) if v]
+
+	except:
+		l1 = '*ALL*'
+		l2 = 1
+		l3 = False
+		MyList = [l1,l2,l3]
+		lines.append(MyList)
+	return opt+lines
+
+def get_cols_add_line(data,full_names,lastmeta):
+	if data == "": return []
+	display_to = 1
+	try:
+		display_to = int(lastmeta)
+	except:		
+		pass
+
+	max_len = 32 
+        fname = data.dataset.file_name
+	input_file = open(fname)
+	input_lines = input_file.readlines()
+	input_file.close()
+	table_lines = []
+	for x in input_lines:
+		first_column = x.split('\t')[0]
+		table_lines.append(first_column)
+	table_lines.insert(0,'-')
+	if  not display_to == 1:
+		del  table_lines[display_to + 1:]
+
+
+	opt = []
+	rc = ''
+	lines = []
+        try:
+		lines = [(red((rc+v.split()[0]),max_len),'%d' % (i+1),False) for i,v in enumerate(table_lines) if v]
+
+	except:
+		l1 = '*ALL*'
+		l2 = 1
+		l3 = False
+		MyList = [l1,l2,l3]
+		lines.append(MyList)
+	return opt+lines
+
+def get_cols_features(data,full_names,lastmeta):
+	if data == "": return []
+	display_from = 1
+	try:
+		display_from = int(lastmeta)
+	except:		
+		pass
+	max_len = 32 
+        fname = data.dataset.file_name
+	input_file = open(fname)
+	input_lines = input_file.readlines()
+	input_file.close()
+	table_lines = []
+	for x in input_lines:
+		first_column = x.split('\t')[0]
+		table_lines.append(first_column)
+	
+	opt = []
+	rc = ''
+	del table_lines[:display_from]
+	lines = []
+        try:
+		lines = [(red((rc+v.split()[0]),max_len),'%d' % (i+1),False) for i,v in enumerate(table_lines) if v]
+
+	except:
+		l1 = '*ALL*'
+		l2 = 1
+		l3 = False
+		MyList = [l1,l2,l3]
+		lines.append(MyList)
+	return opt+lines