Мне не совсем понятно, о чем вы спрашиваете, но, исходя из предоставленного вами ограниченного контекста, я предполагаю, что вы используете что-то вроде bio python в качестве оболочки для MAFFT, и вы пытается изменить определенные аргументы, которые передаются в класс MafftCommandline
.
В bio python docs исполняемая оболочка MAFFT вызывается следующим образом:
mafft_cline = MafftCommandline(mafft_exe, input=in_file)
Модуль обработки аргументов
Python - sys.argv
. Это список, и вы можете получить доступ к его аргументам по числовому c индексу.
Итак, предположим, что вы хотите передать определенные значения классу-оболочке MAFFT из командной строки, вы можете сделать это следующим образом:
import sys
from Bio.Align.Applications import MafftCommandline
# Replace with actual binary location, or implement it as an arg
MAFFT_EXE_LOCATION = "/opt/local/mafft"
def other_code(mafft):
# Do other stuff with mafft here, now that it's configured
pass
def invoke_mafft(input_filename):
mafft_cline = MafftCommandline(MAFFT_EXE, input=input_file)
other_code(mafft_cline)
if __name__ == '__main__':
try:
input_filename = sys.argv[1]
invoke_mafft(input_filename)
except IndexError:
print("USAGE: {} <in_file>".format(sys.argv[0]))
Это только отправная точка. Что вы на самом деле будете делать с классом, зависит от вас.