comparison data_manager/data_manager_fetch_motifs.py @ 4:75d825e1b00d draft

Uploaded
author jeremyjliu
date Wed, 28 Jan 2015 22:39:46 -0500
parents d5faf2b51b07
children 6621a6ac8bb4
comparison
equal deleted inserted replaced
3:8bf194e522bf 4:75d825e1b00d
17 from galaxy.util.json import from_json_string, to_json_string 17 from galaxy.util.json import from_json_string, to_json_string
18 18
19 CHUNK_SIZE = 2**20 #1mb 19 CHUNK_SIZE = 2**20 #1mb
20 20
21 def download_motif_databases( data_manager_dict, params, target_directory, motif_db ): 21 def download_motif_databases( data_manager_dict, params, target_directory, motif_db ):
22 TEST_DOWNLOAD_URL = 'http://gehlenborg.com/wp-content/uploads/motif/pouya_test_motifs.bed.bgz' 22 TEST_BGZ_URL = 'http://gehlenborg.com/wp-content/uploads/motif/pouya_test_motifs.bed.bgz'
23 #TO DO: Add tbi file 23 TEST_TBI_URL = 'http://gehlenborg.com/wp-content/uploads/motif/pouya_test_motifs.bed.bgz.tbi'
24 POUYA_BGZ_URL = ''
25 POUYA_TBI_URL = ''
26 JOLMA_BGZ_URL = ''
27 JOLMA_TBI_URL = ''
28 MM9_BGZ_URL = ''
29 MM9_TBI_URL = ''
24 30
25 url = TEST_DOWNLOAD_URL 31 bgz_reader = urllib2.urlopen( TEST_BGZ_URL )
26 fasta_reader = urllib2.urlopen( url ) 32 bgz_data_table_entry = _stream_fasta_to_file( bgz_reader, target_directory, params,
27 33 "test_bgz", "pouya_test_motifs.bed.bgz" )
28 data_table_entry = _stream_fasta_to_file( fasta_reader, target_directory, params ) 34 _add_data_table_entry( data_manager_dict, 'motif_databases', bgz_data_table_entry )
29 _add_data_table_entry( data_manager_dict, 'motif_databases', data_table_entry ) 35
36 tbi_reader = urllib2.urlopen( TEST_TBI_URL )
37 tbi_data_table_entry = _stream_fasta_to_file( tbi_reader, target_directory, params,
38 "test_tbi", "pouya_test_motifs.bed.bgz" )
39 _add_data_table_entry( data_manager_dict, 'motif_databases', tbi_data_table_entry )
30 40
31 def _add_data_table_entry( data_manager_dict, data_table, data_table_entry ): 41 def _add_data_table_entry( data_manager_dict, data_table, data_table_entry ):
32 data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} ) 42 data_manager_dict['data_tables'] = data_manager_dict.get( 'data_tables', {} )
33 data_manager_dict['data_tables'][data_table] = data_manager_dict['data_tables'].get( data_table, [] ) 43 data_manager_dict['data_tables'][data_table] = data_manager_dict['data_tables'].get( data_table, [] )
34 data_manager_dict['data_tables'][data_table].append( data_table_entry ) 44 data_manager_dict['data_tables'][data_table].append( data_table_entry )
35 return data_manager_dict 45 return data_manager_dict
36 46
37 def _stream_fasta_to_file( fasta_stream, target_directory, params, close_stream=True ): 47 def _stream_fasta_to_file( fasta_stream, target_directory, params, close_stream=True,
48 fasta_base_filename, value, name ):
38 fasta_base_filename = "pouya_test_motifs.bed.bgz" 49 fasta_base_filename = "pouya_test_motifs.bed.bgz"
39 fasta_filename = os.path.join( target_directory, fasta_base_filename ) 50 fasta_filename = os.path.join( target_directory, fasta_base_filename )
40 fasta_writer = open( fasta_filename, 'wb+' ) 51 fasta_writer = open( fasta_filename, 'wb+' )
41 52
42 while True: 53 while True:
47 fasta_writer.write(buffer) 58 fasta_writer.write(buffer)
48 59
49 fasta_stream.close() 60 fasta_stream.close()
50 fasta_writer.close() 61 fasta_writer.close()
51 62
52 return dict( value="test", name="Test Pouya Subset (hg19)", path=fasta_base_filename ) 63 return dict( value=value, name=name, path=fasta_base_filename )
53 64
54 def main(): 65 def main():
55 #Parse Command Line 66 #Parse Command Line
56 parser = optparse.OptionParser() 67 parser = optparse.OptionParser()
57 parser.add_option( '-m', '--motif_db', dest='motif_db', action='store', type="string", default=None, help='motif_db' ) 68 parser.add_option( '-m', '--motif_db', dest='motif_db', action='store', type="string", default=None, help='motif_db' )