diff --git a/scripts/find_representative_transcripts.py b/scripts/find_representative_transcripts.py index f1961d6b13304bf4a87a91fcf440204268c8733e..f378f310362c8575b7ce9cbe6be5c7e48dab0117 100644 --- a/scripts/find_representative_transcripts.py +++ b/scripts/find_representative_transcripts.py @@ -176,6 +176,29 @@ def get_rep_trans(file_name = "test"): rep_transcripts = _re_format(rep_trans) return(rep_transcripts ) +def gtf_file_writer (original_file, output_file): + """ + this function writes the output GTF file + """ + output = [] + rep_transcript_dict = get_rep_trans(original_file) + + with open(original_file, 'r') as f: + for entry in f: + if entry[0] != '#': + attributes = attributs_converter(entry) + type_ = attributes[2] + if type_ == 'gene': + gene_id = find_in_attributs(attributes, 'gene_id') + output.append(entry) + if type_ != 'gene': + transcript_id = find_in_attributs(attributes, 'transcript_id') + if rep_transcript_dict[gene_id] == transcript_id: + output.append(entry) + + with open(output_file, 'w') as last_file: + last_file.write(output) + def _test(): """ This funtion is ment to be run for test