Можно ли заставить yapf игнорировать части файла?
Я использую Python-DSL под названием snakemake, который выглядит следующим образом:
from bx.intervals.cluster import ClusterTree
from epipp.config import system_prefix, include_prefix, config, expression_matrix
config["name"] = "correlate_chip_regions_and_rna_seq"
bin_sizes = {"H3K4me3": 1000, "PolII": 200, "H3K27me3": 200}
rule all:
input:
expand("data/{bin_size}_{modification}.bed", zip,
bin_size=bin_sizes.values(), modification=bin_sizes.keys())
rule get_gene_expression:
input:
expression_matrix
output:
"data/expression/series.csv"
run:
expression_matrix = pd.read_table(input[0])
expression_series = expression_matrix.sum(1).sort_values(ascending=False)
expression_series.to_csv(output[0], sep=" ")
Я хотел бы запустить YAPF на вещи в run:
блоки.
Можно ли заставить yapf игнорировать вещи, которых нет в python, например rule
ключевые слова и так далее, и использовать его только в определенных частях файла?
1 ответ
Да, это возможно, используя
# yapf: disable
а также
# yapf: enable
директивы комментариев.
Пример из ридми :
# yapf: disable
FOO = {
# ... some very large, complex data literal.
}
BAR = [
# ... another large data literal.
]
# yapf: enable
Вы также можете отключить форматирование для одного литерала следующим образом:
BAZ = {
(1, 2, 3, 4),
(5, 6, 7, 8),
(9, 10, 11, 12),
} # yapf: disable