/usr/lib/python3/dist-packages/biotools/clustal.py is in python3-biotools 1.2.12-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #!/usr/bin/env python
import biotools.IO as io
import subprocess
from os import remove
def run(infile, outfile, **kwargs):
n = 0
for seq in io.open(infile, 'r'):
n += 1
if n > 1:
seqtype = seq.type
break
if n > 1:
cmd = "clustalw"
try:
ignore = open('/dev/null', 'w')
except IOError:
ignore = open('nul', 'w')
if seqtype == 'nucl':
defaults = {
'OUTORDER': 'ALIGNED',
'GAPOPEN': '10',
'GAPEXT': '0.1',
'DNAMATRIX': 'IUB'
}
others = ["-%s=%s" % (arg, kwargs.get(arg, defaults[arg]))
for arg in set(name.upper() for name in kwargs) &
set(defaults.keys())]
subprocess.call([cmd, "-INFILE=" + infile, "-ALIGN", "-TYPE=DNA",
"-OUTFILE=" + outfile] + others, stdout=ignore)
else:
defaults = {
'OUTORDER': 'ALIGNED',
'GAPOPEN': '10',
'GAPEXT': '0.1',
'MATRIX': 'BLOSUM'
}
others = ["-%s=%s" % (arg, kwargs.get(arg, defaults[arg]))
for arg in set(name.upper() for name in kwargs) &
set(defaults.keys())]
subprocess.call([cmd, "-INFILE=" + infile, "-ALIGN",
"-TYPE=PROTEIN", "-OUTFILE=" + outfile] + others,
stdout=ignore)
pos = infile.rfind('.')
if pos > -1:
prefix = infile[:pos]
else:
prefix = infile
remove(prefix + '.dnd')
|