Module psdi_data_conversion.converters.c2x
@file psdi_data_conversion/converters/c2x.py
Created 2025-01-23 by Bryan Gillis.
c2x FileConverter
Classes
- class C2xFileConverter (filename: str,
 to_format: str,
 from_format: str | None = None,
 data: dict[str, typing.Any] | None = None,
 abort_callback: Callable[[int], None] = <function abort_raise>,
 use_envvars=False,
 input_dir='./psdi_data_conversion/static/uploads',
 output_dir='./psdi_data_conversion/static/downloads',
 max_file_size=None,
 no_check=False,
 log_file: str | None = None,
 log_mode='full',
 log_level: int | None = None,
 refresh_local_log: bool = True,
 delete_input=False)
- 
Expand source codeclass C2xFileConverter(ScriptFileConverter): """File Converter specialized to use c2x for conversions. This converter does not yet support any additional configuration options provided at class init to the `data` kwarg. """ name = CONVERTER_C2X script = "c2x.sh" required_bin = "c2x" info = ("c2x binaries compiled for 64-bit Linux and MacOS systems are distributed with this package. It may be " "registered on other systems by compiling it locally and adding the compiled 'c2x' binary (with this " "exact name - rename it or make a symbolic link to it if necessary) to your $PATH.\n" "\n" "c2x is licensed under GPLv3, the full text of which may be found at " "https://www.gnu.org/licenses/gpl-3.0.en.html. Its binaries are redistributed here under the terms of this " "license, and any further redistribution must also follow these terms. Its corresponding source code " "may be downloaded from https://www.c2x.org.uk/downloads/") supports_ambiguous_extensions = True def _get_script_args(self): """Override the standard script arguments so we can set the different format names expected by c2x """ l_script_args = super()._get_script_args() # Update the output format to c2x style l_script_args[0] = "--" + self.to_format_info.c2x_format # TODO - check if the input file has an extension which will be accepted by c2x for its format, and handle if # not return l_script_argsFile Converter specialized to use c2x for conversions. This converter does not yet support any additional configuration options provided at class init to the datakwarg.Initialize the object, storing needed data and setting up loggers. Parameters- filename:- str
- The filename of the input file to be converted, either relative to current directory or fully-qualified
- to_format:- str
- The desired format to convert to, as the file extension (e.g. "cif")
- from_format:- str | None
- The format to convert from, as the file extension (e.g. "pdb"). If None is provided (default), will be
determined from the extension of filename
- data:- dict[str | Any] | None
- A dict of any other data needed by a converter or for extra logging information, default empty dict. See the
docstring of each converter for supported keys and values that can be passed to datahere
- abort_callback:- Callable[[int], None]
- Function to be called if the conversion hits an error and must be aborted, default abort_raise, which raises an appropriate exception
- use_envvars:- bool
- If set to True, environment variables will be checked for any that set options for this class and used, default False
- input_dir:- str
- The location of input files relative to the current directory
- output_dir:- str
- The location of output files relative to the current directory
- max_file_size:- float
- The maximum allowed file size for input/output files, in MB. If 0, will be unlimited. Default 0 (unlimited)
- no_check:- bool
- If False (default), will check at setup whether or not a conversion between the desired file formats is supported with the specified converter
- log_file:- str | None
- If provided, all logging will go to a single file or stream. Otherwise, logs will be split up among multiple files for server-style logging.
- log_mode:- str
- How logs should be stores. Allowed values are: - 'full' - Multi-file logging, only recommended when running as a public web app - 'full-force' - Multi-file logging, only recommended when running as a public web app, with the log file name forced to be used for the output log - 'simple' - Logs saved to one file - 'stdout' - Output logs and errors only to stdout - 'none' - Output only errors to stdout
- log_level:- int | None
- The level to log output at. If None (default), the level will depend on the chosen log_mode: - 'full', 'full-force', or 'simple': INFO - 'stdout' - INFO to stdout, no logging to file - 'none' - ERROR to stdout, no logging to file
- refresh_local_log:- bool
- If True, the local log generated from this run will be overwritten. If False it will be appended to. Default True
- delete_input:- bool
- Whether or not to delete input files after conversion, default False
 AncestorsClass variables- var info : str | None
- var name : str | None
- var required_bin : str | None
- var script : str | None
- var supports_ambiguous_extensions : bool
 
- class converter (filename: str,
 to_format: str,
 from_format: str | None = None,
 data: dict[str, typing.Any] | None = None,
 abort_callback: Callable[[int], None] = <function abort_raise>,
 use_envvars=False,
 input_dir='./psdi_data_conversion/static/uploads',
 output_dir='./psdi_data_conversion/static/downloads',
 max_file_size=None,
 no_check=False,
 log_file: str | None = None,
 log_mode='full',
 log_level: int | None = None,
 refresh_local_log: bool = True,
 delete_input=False)
- 
Expand source codeclass C2xFileConverter(ScriptFileConverter): """File Converter specialized to use c2x for conversions. This converter does not yet support any additional configuration options provided at class init to the `data` kwarg. """ name = CONVERTER_C2X script = "c2x.sh" required_bin = "c2x" info = ("c2x binaries compiled for 64-bit Linux and MacOS systems are distributed with this package. It may be " "registered on other systems by compiling it locally and adding the compiled 'c2x' binary (with this " "exact name - rename it or make a symbolic link to it if necessary) to your $PATH.\n" "\n" "c2x is licensed under GPLv3, the full text of which may be found at " "https://www.gnu.org/licenses/gpl-3.0.en.html. Its binaries are redistributed here under the terms of this " "license, and any further redistribution must also follow these terms. Its corresponding source code " "may be downloaded from https://www.c2x.org.uk/downloads/") supports_ambiguous_extensions = True def _get_script_args(self): """Override the standard script arguments so we can set the different format names expected by c2x """ l_script_args = super()._get_script_args() # Update the output format to c2x style l_script_args[0] = "--" + self.to_format_info.c2x_format # TODO - check if the input file has an extension which will be accepted by c2x for its format, and handle if # not return l_script_argsFile Converter specialized to use c2x for conversions. This converter does not yet support any additional configuration options provided at class init to the datakwarg.Initialize the object, storing needed data and setting up loggers. Parameters- filename:- str
- The filename of the input file to be converted, either relative to current directory or fully-qualified
- to_format:- str
- The desired format to convert to, as the file extension (e.g. "cif")
- from_format:- str | None
- The format to convert from, as the file extension (e.g. "pdb"). If None is provided (default), will be
determined from the extension of filename
- data:- dict[str | Any] | None
- A dict of any other data needed by a converter or for extra logging information, default empty dict. See the
docstring of each converter for supported keys and values that can be passed to datahere
- abort_callback:- Callable[[int], None]
- Function to be called if the conversion hits an error and must be aborted, default abort_raise, which raises an appropriate exception
- use_envvars:- bool
- If set to True, environment variables will be checked for any that set options for this class and used, default False
- input_dir:- str
- The location of input files relative to the current directory
- output_dir:- str
- The location of output files relative to the current directory
- max_file_size:- float
- The maximum allowed file size for input/output files, in MB. If 0, will be unlimited. Default 0 (unlimited)
- no_check:- bool
- If False (default), will check at setup whether or not a conversion between the desired file formats is supported with the specified converter
- log_file:- str | None
- If provided, all logging will go to a single file or stream. Otherwise, logs will be split up among multiple files for server-style logging.
- log_mode:- str
- How logs should be stores. Allowed values are: - 'full' - Multi-file logging, only recommended when running as a public web app - 'full-force' - Multi-file logging, only recommended when running as a public web app, with the log file name forced to be used for the output log - 'simple' - Logs saved to one file - 'stdout' - Output logs and errors only to stdout - 'none' - Output only errors to stdout
- log_level:- int | None
- The level to log output at. If None (default), the level will depend on the chosen log_mode: - 'full', 'full-force', or 'simple': INFO - 'stdout' - INFO to stdout, no logging to file - 'none' - ERROR to stdout, no logging to file
- refresh_local_log:- bool
- If True, the local log generated from this run will be overwritten. If False it will be appended to. Default True
- delete_input:- bool
- Whether or not to delete input files after conversion, default False
 AncestorsInherited members