@@ -34,6 +34,7 @@ def parse_args(args):
34
34
help = 'Alignment tool (Diamond / MMseqs2)' ,
35
35
dest = 'mode' ,
36
36
default = None )
37
+ cmd_create_db .add_argument ('--quiet' ,'--quiet' ,action = 'store_true' , help = 'Disable alignment console output' )
37
38
38
39
parser .add_argument ('-i' , '--input' ,
39
40
required = False ,
@@ -102,6 +103,8 @@ def parse_args(args):
102
103
parser .add_argument ('--notaxonomy' , '--notaxonomy' ,action = 'store_true' , help = 'Use this if no need to annotate taxonomy' )
103
104
104
105
parser .add_argument ('--noquality' , '--noquality' ,action = 'store_true' , help = 'Use this if no need to annotate quality' )
106
+
107
+ parser .add_argument ('--quiet' ,'--quiet' ,action = 'store_true' , help = 'Disable alignment console output' )
105
108
106
109
parser .add_argument ('--db' , '--db' ,
107
110
required = False ,
@@ -193,24 +196,36 @@ def expect_file(f):
193
196
if not args .noquality and args .quality :
194
197
expect_file (args .quality )
195
198
196
- def create_db (arguments ):
197
- if not os .path .exists (arguments .output ):
198
- os .makedirs (arguments .output )
199
- out_db = path .join (arguments .output ,"targetdb" )
200
-
201
- if arguments .mode == "diamond" :
199
+ def create_db (args ):
200
+ if not os .path .exists (args .output ):
201
+ os .makedirs (args .output )
202
+ out_db = path .join (args .output ,"targetdb" )
203
+
204
+ if args .quiet :
205
+ diamond_cmd = ['diamond' ,'makedb' ,
206
+ '--in' ,args .target_faa ,
207
+ '-d' ,out_db ,
208
+ '--quiet' ]
209
+ mmseqs_cmd = ['mmseqs' ,'createdb' ,
210
+ args .target_faa ,
211
+ out_db ,
212
+ '-v' ,'0' ]
213
+ else :
214
+ diamond_cmd = ['diamond' ,'makedb' ,
215
+ '--in' ,args .target_faa ,
216
+ '-d' ,out_db ]
217
+ mmseqs_cmd = ['mmseqs' ,'createdb' ,
218
+ args .target_faa ,
219
+ out_db ]
220
+
221
+ if args .mode == "diamond" :
202
222
print ('Start creating Diamond database...' )
203
- subprocess .check_call ([
204
- 'diamond' ,'makedb' ,
205
- '--in' ,arguments .target_faa ,
206
- '-d' ,out_db ])
223
+ subprocess .check_call (diamond_cmd )
207
224
print ('\n Diamond database has been created successfully.\n ' )
208
- if arguments .mode == "mmseqs" :
225
+
226
+ if args .mode == "mmseqs" :
209
227
print ('Start creating MMseqs database...' )
210
- subprocess .check_call ([
211
- 'mmseqs' ,'createdb' ,
212
- arguments .target_faa ,
213
- out_db ])
228
+ subprocess .check_call (mmseqs_cmd )
214
229
print ('\n MMseqs database has been created successfully.\n ' )
215
230
216
231
def flatten (items , ignore_types = (str , bytes )):
@@ -278,18 +293,33 @@ def mapdb_diamond(args,queryfile):
278
293
resultfile = path .join (args .output ,"alignment.out.smorfs.tsv" )
279
294
outfmt = '6,qseqid,sseqid,full_qseq,full_sseq,qlen,slen,length,qstart,qend,sstart,send,bitscore,pident,evalue,qcovhsp,scovhsp'
280
295
281
- subprocess .check_call ([x for x in flatten ([
282
- 'diamond' ,'blastp' ,
283
- '-q' ,queryfile ,
284
- '-d' ,args .database ,
285
- '-o' ,resultfile ,
286
- args .sensitivity ,
287
- '-e' ,str (args .evalue ),
288
- '--id' ,str (float (args .identity )* 100 ),
289
- '--query-cover' ,str (float (args .coverage )* 100 ),
290
- '--subject-cover' ,str (float (args .coverage )* 100 ),
291
- '-p' ,str (args .threads ),
292
- '--outfmt' ,outfmt .split (',' )])])
296
+ if args .quiet :
297
+ diamond_cmd = ['diamond' ,'blastp' ,
298
+ '-q' ,queryfile ,
299
+ '-d' ,args .database ,
300
+ '-o' ,resultfile ,
301
+ args .sensitivity ,
302
+ '-e' ,str (args .evalue ),
303
+ '--id' ,str (float (args .identity )* 100 ),
304
+ '--query-cover' ,str (float (args .coverage )* 100 ),
305
+ '--subject-cover' ,str (float (args .coverage )* 100 ),
306
+ '-p' ,str (args .threads ),
307
+ '--outfmt' ,outfmt .split (',' ),
308
+ '--quiet' ]
309
+ else :
310
+ diamond_cmd = ['diamond' ,'blastp' ,
311
+ '-q' ,queryfile ,
312
+ '-d' ,args .database ,
313
+ '-o' ,resultfile ,
314
+ args .sensitivity ,
315
+ '-e' ,str (args .evalue ),
316
+ '--id' ,str (float (args .identity )* 100 ),
317
+ '--query-cover' ,str (float (args .coverage )* 100 ),
318
+ '--subject-cover' ,str (float (args .coverage )* 100 ),
319
+ '-p' ,str (args .threads ),
320
+ '--outfmt' ,outfmt .split (',' )]
321
+
322
+ subprocess .check_call ([x for x in flatten (diamond_cmd )])
293
323
294
324
print ('\n smORF mapping has done.\n ' )
295
325
return resultfile
@@ -302,29 +332,51 @@ def mapdb_mmseqs(args,queryfile,tmpdir):
302
332
tmp = path .join (tmpdir ,"tmp" ,"" )
303
333
resultfile = path .join (args .output ,"alignment.out.smorfs.tsv" )
304
334
outfmt = 'query,target,qseq,tseq,qlen,tlen,alnlen,qstart,qend,tstart,tend,bits,pident,evalue,qcov,tcov'
305
-
306
- subprocess .check_call ([
307
- 'mmseqs' ,'createdb' ,queryfile ,querydb ])
308
-
309
- subprocess .check_call ([
310
- 'mmseqs' ,'search' ,
311
- querydb ,
312
- args .database ,
313
- resultdb ,
314
- tmp ,
315
- '-s' ,str (args .sensitivity ),
316
- '-e' ,str (args .evalue ),
317
- '--min-seq-id' ,str (args .identity ),
318
- '-c' ,str (args .coverage ),
319
- '--threads' ,str (args .threads )])
320
-
321
- subprocess .check_call ([
322
- 'mmseqs' ,'convertalis' ,
323
- querydb ,
324
- args .database ,
325
- resultdb ,
326
- resultfile ,
327
- '--format-output' ,outfmt ])
335
+
336
+ if args .quiet :
337
+ mmseqs_cmd_db = ['mmseqs' ,'createdb' ,queryfile ,querydb ,'-v' ,'0' ]
338
+ mmseqs_cmd_search = ['mmseqs' ,'search' ,
339
+ querydb ,
340
+ args .database ,
341
+ resultdb ,
342
+ tmp ,
343
+ '-s' ,str (args .sensitivity ),
344
+ '-e' ,str (args .evalue ),
345
+ '--min-seq-id' ,str (args .identity ),
346
+ '-c' ,str (args .coverage ),
347
+ '--threads' ,str (args .threads ),
348
+ '-v' ,'0' ]
349
+ mmseqs_cmd_out = ['mmseqs' ,'convertalis' ,
350
+ querydb ,
351
+ args .database ,
352
+ resultdb ,
353
+ resultfile ,
354
+ '--format-output' ,outfmt ,
355
+ '-v' ,'0' ]
356
+ else :
357
+ mmseqs_cmd_db = ['mmseqs' ,'createdb' ,queryfile ,querydb ]
358
+ mmseqs_cmd_search = ['mmseqs' ,'search' ,
359
+ querydb ,
360
+ args .database ,
361
+ resultdb ,
362
+ tmp ,
363
+ '-s' ,str (args .sensitivity ),
364
+ '-e' ,str (args .evalue ),
365
+ '--min-seq-id' ,str (args .identity ),
366
+ '-c' ,str (args .coverage ),
367
+ '--threads' ,str (args .threads )]
368
+ mmseqs_cmd_out = ['mmseqs' ,'convertalis' ,
369
+ querydb ,
370
+ args .database ,
371
+ resultdb ,
372
+ resultfile ,
373
+ '--format-output' ,outfmt ]
374
+
375
+ subprocess .check_call (mmseqs_cmd_db )
376
+
377
+ subprocess .check_call (mmseqs_cmd_search )
378
+
379
+ subprocess .check_call (mmseqs_cmd_out )
328
380
329
381
print ('\n smORF mapping has done.\n ' )
330
382
return resultfile
0 commit comments