INNER CODE UNIT · Python
get_chain
hillerlab/TOGA · CESAR_wrapper.py:539
def get_chain(chain_file, chain_id):
"""Return chain string according the parameters passed."""
chain = None # to calm IDE down
if chain_file.endswith(".bst"):
# we have bdb file; extract with BDB extractor
chain = chain_extract_id(chain_file, chain_id)
return chain
elif chain_file.endswith(".gz"): # a gzipped chain file was given
# gzip and redirect scteam to chain_filter_by_id binary
extract_by_id_cmd = (
f"gzip -dc {chain_file} | ./modules/chain_filter_by_id stdin {chain_id}"
)
try: # check that output is OK
chain = subprocess.check_output(extract_by_id_cmd, shell=True).decode(
"utf-8"
)
except subprocess.CalledProcessError:
# die if the command died