@@ -148,42 +148,39 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
148
148
return sequence
149
149
}
150
150
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
+ } )
172
170
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 )
176
174
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
+ }
184
181
}
185
182
186
- private async setup ( opts ?: BaseOptions ) {
183
+ private async setupPre2 ( opts ?: BaseOptions ) {
187
184
if ( ! this . setupP ) {
188
185
this . setupP = this . setupPre ( opts ) . catch ( ( e : unknown ) => {
189
186
this . setupP = undefined
@@ -193,6 +190,13 @@ export default class CramAdapter extends BaseFeatureDataAdapter {
193
190
return this . setupP
194
191
}
195
192
193
+ async setup ( opts ?: BaseOptions ) {
194
+ const { statusCallback = ( ) => { } } = opts || { }
195
+ return updateStatus ( 'Downloading index' , statusCallback , ( ) =>
196
+ this . setupPre2 ( opts ) ,
197
+ )
198
+ }
199
+
196
200
async getRefNames ( opts ?: BaseOptions ) {
197
201
const { samHeader } = await this . setup ( opts )
198
202
if ( ! samHeader . idToName ) {
0 commit comments