def convert(**kwargs):
kwargs["no_header"] = not kwargs["no_header"]
kwargs["no_normalize_plurals"] = not kwargs["no_normalize_plurals"]
kwargs["no_standardize"] = not kwargs["no_standardize"]
kwargs["opsin_no_allow_acids_without_acid"] = not kwargs["opsin_no_allow_acids_without_acid"]
kwargs["opsin_no_detailed_failure_analysis"] = not kwargs["opsin_no_detailed_failure_analysis"]
kwargs["opsin_no_allow_radicals"] = not kwargs["opsin_no_allow_radicals"]
kwargs["opsin_no_allow_uninterpretable_stereo"] = not kwargs["opsin_no_allow_uninterpretable_stereo"]
is_output_file = bool(kwargs["output"])
stdin = click.get_text_stream("stdin")
input_text = ""
if not stdin.isatty():
kwargs["input_file"] = ""
input_text = click.get_text_stream("stdin").read().strip()
if not input_text and not kwargs["input_file"]:
raise click.UsageError("Cannot do conversion: stdin is empty and input file is not provided.")
init_kwargs = get_kwargs(kwargs, KWARGS_OPSIN_INIT)
process_kwargs = get_kwargs(kwargs, KWARGS_OPSIN_PROCESS)
opsin = OPSIN(**init_kwargs)
result = opsin.process(input=input_text, output_formats=["smiles", "inchi", "inchikey"], **process_kwargs)
if kwargs["dry_run"]:
print(result)
exit(0)
if kwargs["raw_output"]:
print(result["stdout"])
eprint(result["stderr"])
exit(0)
if not is_output_file:
print(dict_to_csv(result["content"], csv_delimiter=kwargs["delimiter"], write_header=kwargs["no_header"]))
评论列表
文章目录