INNER CODE UNIT · Python
set_gene_data
BortonWrightonLabs/DRAM · bin/combine_annotations.py:97
def set_gene_data(gene_faa, genes_faa_dict=None):
if genes_faa_dict is None:
genes_faa_dict = dict()
for seq in read_sequence(gene_faa, format="fasta"):
if seq.metadata["id"] not in genes_faa_dict:
genes_faa_dict[seq.metadata["id"]] = {}
split_label = seq.metadata["id"].split("_")
gene_position = split_label[-1]
start_position, end_position, strandedness = seq.metadata["description"].split(
"#"
)[1:4]
input_fasta_name = Path(gene_faa).stem.split("_called_genes")[0]
genes_faa_dict[seq.metadata["id"]][FASTA_COLUMN] = input_fasta_name
genes_faa_dict[seq.metadata["id"]]["scaffold"] = (
seq.metadata["id"]
.removeprefix(genes_faa_dict[seq.metadata["id"]][FASTA_COLUMN])