mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge pull request #2939 from jj-umn/patch-4
API access to genome fasta index and sequence
This commit is contained in:
@@ -43,3 +43,35 @@ class GenomesController( BaseAPIController ):
|
||||
else:
|
||||
rval = self.app.genomes.chroms( trans, dbkey=id, num=num, chrom=chrom, low=low )
|
||||
return rval
|
||||
|
||||
@web.expose_api_raw_anonymous
|
||||
def indexes(self, trans, id, **kwd):
|
||||
"""
|
||||
GET /api/genomes/{id}/indexes?type={table name}
|
||||
|
||||
Returns all available indexes for a genome id for type={table name}
|
||||
For instance, /api/genomes/hg19/indexes?type=fasta_indexes
|
||||
"""
|
||||
index_extensions = {'fasta_indexes': '.fai'}
|
||||
id = get_id( id, kwd.get( 'format', None ) )
|
||||
index_type = kwd.get('type', None)
|
||||
|
||||
tbl_entries = self.app.tool_data_tables.data_tables[index_type].data
|
||||
index_file_name = [x[-1] for x in tbl_entries if id in x].pop()
|
||||
|
||||
if_open = open(index_file_name + index_extensions[index_type], mode='r')
|
||||
return if_open.read()
|
||||
|
||||
@web.expose_api_raw_anonymous
|
||||
def sequences(self, trans, id, num=None, chrom=None, low=None, high=None, **kwd ):
|
||||
"""
|
||||
GET /api/genomes/{id}/sequences
|
||||
|
||||
This is a wrapper for accepting sequence requests that
|
||||
want a raw return, not json
|
||||
"""
|
||||
id = get_id( id, kwd.get( 'format', None ) )
|
||||
reference = is_true( kwd.get( 'reference', False ) )
|
||||
assert reference
|
||||
region = self.app.genomes.reference( trans, dbkey=id, chrom=chrom, low=low, high=high )
|
||||
return region.sequence
|
||||
|
||||
Reference in New Issue
Block a user