@@ -148,42 +148,39 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
148148 return sequence
149149 }
150150
151- private async setupPre ( opts ?: BaseOptions ) {
152- const { statusCallback = ( ) => { } } = opts || { }
153- return updateStatus ( 'Downloading index' , statusCallback , async ( ) => {
154- const conf = await this . configure ( )
155- const { cram } = conf
156- const samHeader = await cram . cram . getSamHeader ( )
157-
158- // use the @SQ lines in the header to figure out the mapping between ref
159- // ID numbers and names
160- const idToName : string [ ] = [ ]
161- const nameToId : Record < string , number > = { }
162- samHeader
163- . filter ( l => l . tag === 'SQ' )
164- . forEach ( ( sqLine , refId ) => {
165- const SN = sqLine . data . find ( item => item . tag === 'SN' )
166- if ( SN ) {
167- const refName = SN . value
168- nameToId [ refName ] = refId
169- idToName [ refId ] = refName
170- }
171- } )
151+ private async setupPre ( _opts ?: BaseOptions ) {
152+ const conf = await this . configure ( )
153+ const { cram } = conf
154+ const samHeader = await cram . cram . getSamHeader ( )
155+
156+ // use the @SQ lines in the header to figure out the mapping between ref
157+ // ID numbers and names
158+ const idToName : string [ ] = [ ]
159+ const nameToId : Record < string , number > = { }
160+ samHeader
161+ . filter ( l => l . tag === 'SQ' )
162+ . forEach ( ( sqLine , refId ) => {
163+ const SN = sqLine . data . find ( item => item . tag === 'SN' )
164+ if ( SN ) {
165+ const refName = SN . value
166+ nameToId [ refName ] = refId
167+ idToName [ refId ] = refName
168+ }
169+ } )
172170
173- const readGroups = samHeader
174- . filter ( l => l . tag === 'RG' )
175- . map ( rgLine => rgLine . data . find ( item => item . tag === 'ID' ) ?. value )
171+ const readGroups = samHeader
172+ . filter ( l => l . tag === 'RG' )
173+ . map ( rgLine => rgLine . data . find ( item => item . tag === 'ID' ) ?. value )
176174
177- const data = { idToName, nameToId, readGroups }
178- this . samHeader = data
179- return {
180- samHeader : data ,
181- ...conf ,
182- }
183- } )
175+ const data = { idToName, nameToId, readGroups }
176+ this . samHeader = data
177+ return {
178+ samHeader : data ,
179+ ...conf ,
180+ }
184181 }
185182
186- private async setup ( opts ?: BaseOptions ) {
183+ private async setupPre2 ( opts ?: BaseOptions ) {
187184 if ( ! this . setupP ) {
188185 this . setupP = this . setupPre ( opts ) . catch ( ( e : unknown ) => {
189186 this . setupP = undefined
@@ -193,6 +190,13 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
193190 return this . setupP
194191 }
195192
193+ async setup ( opts ?: BaseOptions ) {
194+ const { statusCallback = ( ) => { } } = opts || { }
195+ return updateStatus ( 'Downloading index' , statusCallback , ( ) =>
196+ this . setupPre2 ( opts ) ,
197+ )
198+ }
199+
196200 async getRefNames ( opts ?: BaseOptions ) {
197201 const { samHeader } = await this . setup ( opts )
198202 if ( ! samHeader . idToName ) {
0 commit comments