Использование функции для установки идентификатора файла журнала с помощью SnakemakePython

Программы на Python
Anonymous
Использование функции для установки идентификатора файла журнала с помощью Snakemake

Сообщение Anonymous »

Я хотел бы использовать функцию для простой установки имен файлов выходного журнала.
Я попробовал следующую функцию

Код: Выделить всё

# output_path=simulations/sim1/model/test.out
# idx=2   == add  after 2nd element
# x=logs
# returns= simulations/sim1/logs/model/test.out
def get_xpath(wildcards,x,idx):
outbase=wildcards.output[0]
return str('/'.join(outbase.split('/')[:idx])+"/"+x+"/"+'/'.join(outbase.split('/')[idx:]))

rule testme:
...
log: lambda wildcards: get_xpath(wildcards,"logs",2),
Но выдает следующую ошибку AttributeError

Код: Выделить всё

'function' object has no attribute 'get_wildcard_names'
Я также пробовал использовать лямбду:

Код: Выделить всё

rule testme:
...
log: lambda wildcards, output: output[0].split('.')[0],
Это выдает ту же ошибку. В документации по змейке я не смог найти примеров достижения этой цели, поэтому не уверен, возможно ли это вообще. Есть идеи?
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/724 ... -snakemake

Вернуться в «Python»