Mercurial > repos > jeremyjliu > region_motif_data_manager
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' ) |