hi ,
i have created a script which calls a database function(sub_id) and this function returns multiple columns , say its return 12 columns in database , but when i created its tool(function) in galaxy , i am able to return only 1 column(username) in galaxy tool which is not desirable result for me.
i want to know how can i return all column from my database function(sub_id) and print its result in separate file(bed format) which should be shown history panel , here is my code

function.py file

import sys, os.path, logging
from galaxy import eggs
import pkg_resources
from galaxy.model import *
from sqlalchemy import *

def load_db_values():
    pkg_resources.require( "psycopg2" )
    engine = create_engine('postgresql://postgres:@132.100.1.1:5432/users')
    connection = engine.connect()
    result_set = connection.execute( "select * from sub_id(5,10,10)" )
    db = []
    for row in result_set:
        db += [(row ['username'],str(row[ 'userid' ]), False),]      
    connection.close()
    return db

def __main__():
    columns = [int(x) for x in sys.argv[1].strip().split(',')]
    for col in columns:
        print col

if __name__ == "__main__": __main__()


function.xml file

<tool id="FA" name="function" version="2.0.0">
  <description>function</description>
  <command interpreter="python">function.py $cols </command>
  <code file="function.py" />
  <inputs>
    <param name="cols" type="select" multiple="true" display="checkboxes"
    label="Start" help="any help" dynamic_options="load_db_values()"
      >
    <validator type="no_options" message="You must pick at least one value." />
    </param>
  </inputs>
 <outputs>
   <data format="bed" name="out_file1"  />
  </outputs>
</tool>

function.py and function.xml files are located in galaxy-dist/tools/user

tool_config
<section name="Function" id="FA">
<tool file ="user/function.xml/>
</section>

thanks