From ebe2faf7df2df15d762a9e82a868092ca527d567 Mon Sep 17 00:00:00 2001 From: Mate Balajti <mate.balajti@unibas.ch> Date: Mon, 31 Jul 2023 08:59:05 +0000 Subject: [PATCH] refactor: major revision of script This MR contains the rewritten Transcript sampler, modules were modified and streamlined, obsolete scripts were deleted. --- .gitignore | 2 + README.md | 10 +- images/Transcript_sampling__architecture.png | Bin 367557 -> 0 bytes input_files/test.gtf | 366 +++++++-------- scripts/exon_length_filter.py | 201 +++++++++ scripts/find_representative_transcripts.py | 246 ---------- .../match_reprtranscript_expressionlevel.py | 182 -------- scripts/new_exe.py | 57 --- scripts/new_gtf_writer.py | 20 - scripts/poisson_sampling.py | 57 --- scripts/representative.py | 92 ++-- scripts/transcript_extractor.py | 329 ++++++++++++++ scripts/transcript_sampler.py | 426 ------------------ .../test_match.py | 207 --------- test/.gitkeep => tests/__init__.py | 0 .../inputs}/.gitkeep | 0 .../inputs/test_dict_repr_trans.txt | 0 ...ncode.vM31.annotation_intermediat_file.txt | 0 .../inputs/test_gene_exprL | 0 .../inputs/test_gene_exprL_csv.csv | 0 .../inputs/test_ref_output.tsv | 0 .../test_Functions.py | 66 +-- tests/test_match_reptrans_explvl.py | 260 +++++++++++ .../test_representative.py | 59 ++- .../__init__.py | 0 transcript_sampler/find_reptrans.py | 288 ++++++++++++ transcript_sampler/match_reptrans_explvl.py | 345 ++++++++++++++ transcript_sampler/new_exe.py | 78 ++++ transcript_sampler/poisson_sampling.py | 75 +++ .../transcript_sampler_org.ipynb | 0 transcript_sampler/transcript_sampler_org.py | 400 ++++++++++++++++ 31 files changed, 2281 insertions(+), 1485 deletions(-) delete mode 100644 images/Transcript_sampling__architecture.png create mode 100644 scripts/exon_length_filter.py delete mode 100644 scripts/find_representative_transcripts.py delete mode 100644 scripts/match_reprtranscript_expressionlevel.py delete mode 100644 scripts/new_exe.py delete mode 100644 scripts/new_gtf_writer.py delete mode 100644 scripts/poisson_sampling.py create mode 100644 scripts/transcript_extractor.py delete mode 100644 scripts/transcript_sampler.py delete mode 100644 test/Test_representative_and_match/test_match.py rename test/.gitkeep => tests/__init__.py (100%) rename {test/Test_representative_and_match => tests/inputs}/.gitkeep (100%) rename {test/Test_representative_and_match => tests}/inputs/test_dict_repr_trans.txt (100%) rename {test/Test_representative_and_match => tests}/inputs/test_gencode.vM31.annotation_intermediat_file.txt (100%) rename {test/Test_representative_and_match => tests}/inputs/test_gene_exprL (100%) rename {test/Test_representative_and_match => tests}/inputs/test_gene_exprL_csv.csv (100%) rename {test/Test_representative_and_match => tests}/inputs/test_ref_output.tsv (100%) rename {test/Test_representative_and_match => tests}/test_Functions.py (71%) create mode 100644 tests/test_match_reptrans_explvl.py rename {test/Test_representative_and_match => tests}/test_representative.py (58%) rename test/Test_representative_and_match/inputs/.gitkeep => transcript_sampler/__init__.py (100%) create mode 100644 transcript_sampler/find_reptrans.py create mode 100644 transcript_sampler/match_reptrans_explvl.py create mode 100644 transcript_sampler/new_exe.py create mode 100644 transcript_sampler/poisson_sampling.py rename scripts/transcript_sampler.ipynb => transcript_sampler/transcript_sampler_org.ipynb (100%) create mode 100644 transcript_sampler/transcript_sampler_org.py diff --git a/.gitignore b/.gitignore index 2e906cc..7a8baad 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,5 @@ # ignore ALL files in ANY directory named temp temp/ +__pycache__ +output_files \ No newline at end of file diff --git a/README.md b/README.md index 05f0a15..fee84f7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Transcript Sampler -This workflow sample representative transcripts per gene, in proportion to their relative abundance levels. Sampling is done by poisson sampling. +This workflow samples representative transcripts per gene, in proportion to their relative abundance levels. Sampling is done by Poisson sampling. **This workflow takes as input:** - Path to genome annotation file in gtf format @@ -15,10 +15,8 @@ This workflow sample representative transcripts per gene, in proportion to their **The workflow can be run via the command line as** - `python scripts/new-exe.py --annotation {gtf input file} --output_csv {output csv file} --transcript_number {number of transcripts} --output_gtf {output gtf file} --input_csv {input csv file}` - - Exemple : - - `python scripts\new_exe.py --annotation "input_files\test.gtf" --output_csv "output_files\output_csv.txt" --transcript_number 50 --output_gtf "output_files\output_gtf.gtf" --input_csv "input_files/expression.csv"` + `python transcript_sampler/new_exe.py --input_gtf={gtf input file} --input_csv={input csv file} --output_gtf={output gtf file} --output_csv={output csv file} --n_to_sample={number of transcripts}` + Example : + `python transcript_sampler/new_exe.py --input_gtf="input_files/test.gtf" --input_csv="input_files/expression.csv" --output_gtf="output_files/output.gtf" --output_csv="output_files/output.csv" --n_to_sample=100` diff --git a/images/Transcript_sampling__architecture.png b/images/Transcript_sampling__architecture.png deleted file mode 100644 index 59dab4f65555d376d09385f55461e879d7b27527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367557 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⁣wMWI)Ve!QJ# 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%0DVM|<D*G@As9Qby+aQ8;* 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 diff --git a/input_files/test.gtf b/input_files/test.gtf index bac42f5..36d3fb5 100644 --- a/input_files/test.gtf +++ b/input_files/test.gtf @@ -1,183 +1,183 @@ -#!genome-build GRCh38.p13 -#!genome-version GRCh38 -#!genome-date 2013-12 -#!genome-build-accession GCA_000001405.28 -#!genebuild-last-updated 2022-04 -1 ensembl_havana gene 1471765 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; -1 ensembl_havana transcript 1471765 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; -1 ensembl_havana exon 1471765 14720800009 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003889014"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1471885 1472089 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana start_codon 1471885 1471887 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; -1 ensembl_havana exon 1477274 1477350 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003467707"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1477274 1477350 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1478644 1478745 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003569130"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1478644 1478745 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003608502"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1479049 1479108 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003474888"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1480867 1480936 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003654064"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1482138 1482303 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003510521"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1482545 1482614 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1485016 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003459370"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1485016 1485171 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003655926"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1485782 1485838 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003594545"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1486110 1486235 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003892109"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1486544 1486668 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003689846"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1487863 1487914 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003670332"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1489204 1489274 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003505365"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1490257 1490424 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "15"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003497242"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1490563 1490671 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "15"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana exon 1495485 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003892597"; exon_version "1"; tag "basic"; -1 ensembl_havana CDS 1495485 1495814 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; -1 ensembl_havana stop_codon 1495815 1495817 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; -1 ensembl_havana five_prime_utr 1471765 1471884 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; -1 ensembl_havana three_prime_utr 1495818 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; -1 havana transcript 1478026 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "1"; -1 havana exon 1478026 1478745 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001943609"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003589422"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003672769"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003661157"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003517812"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1485016 1485170001 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003542737"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1485782 14858380000 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003479480"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1486110 1486235000 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003503434"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003528975"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003611023"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003653402"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003486643"; exon_version "1"; transcript_support_level "1"; -1 havana exon 1495485 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001863816"; exon_version "1"; transcript_support_level "1"; -1 havana transcript 1479049 1482662 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; transcript_support_level "5"; -1 havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003589422"; exon_version "1"; transcript_support_level "5"; -1 havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003672769"; exon_version "1"; transcript_support_level "5"; -1 havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003661157"; exon_version "1"; transcript_support_level "5"; -1 havana exon 1482545 1482662 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003614529"; exon_version "1"; transcript_support_level "5"; -1 havana transcript 1483485 1496202 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; -1 havana exon 1483485 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001893282"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003479480"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003503434"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003528975"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003611023"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1489692 1489811 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001885858"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003653402"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003486643"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1495485 1496202 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003689276"; exon_version "1"; transcript_support_level "2"; -1 havana transcript 1484569 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; -1 havana exon 1484569 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001844843"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1485782 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001818637"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1489204 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001832340"; exon_version "1"; transcript_support_level "2"; -1 havana exon 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001844973"; exon_version "1"; transcript_support_level "2"; -1 ensembl transcript 1471784 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1471784 1472089 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001833190"; exon_version "2"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1471885 1472089 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl start_codon 1471885 1471887 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1477274 1477350 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003467707"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1477274 1477350 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1480867 1480908 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003889337"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1480867 1480908 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1482266 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003889634"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1482266 1482303 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003510521"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1482545 1482614 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1485016 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003459370"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1485016 1485171 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003655926"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1485782 1485838 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003594545"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1486110 1486235 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003662125"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl CDS 1486544 1486666 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003528975"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003611023"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003653402"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003486643"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl exon 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001844973"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl five_prime_utr 1471784 1471884 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1486667 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 ensembl three_prime_utr 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; -1 havana gene 2212523 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; gene_source "havana"; gene_biotype "lncRNA"; -1 havana transcript 2212523 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "3"; -1 havana exon 2212523 2212644 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; exon_number "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001603085"; exon_version "2"; tag "basic"; transcript_support_level "3"; -1 havana exon 2220535 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; exon_number "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001607640"; exon_version "2"; tag "basic"; transcript_support_level "3"; -1 havana gene 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; -1 havana transcript 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; transcript_id "ENST00000416931"; transcript_version "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTND1P23-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; -1 havana exon 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; transcript_id "ENST00000416931"; transcript_version "1"; exon_number "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTND1P23-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001797039"; exon_version "1"; tag "basic"; transcript_support_level "NA"; -1 havana gene 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; -1 havana transcript 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; transcript_id "ENST00000428803"; transcript_version "2"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; transcript_name "RPL7P7-201"; transcript_source "havana"; transcript_biotype "processed_pseudogene"; tag "basic"; transcript_support_level "NA"; -1 havana exon 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; transcript_id "ENST00000428803"; transcript_version "2"; exon_number "1"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; transcript_name "RPL7P7-201"; transcript_source "havana"; transcript_biotype "processed_pseudogene"; exon_id "ENSE00001776158"; exon_version "2"; tag "basic"; transcript_support_level "NA"; -1 havana gene 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; -1 havana transcript 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; transcript_id "ENST00000416718"; transcript_version "2"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTCO3P12-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; -1 havana exon 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; transcript_id "ENST00000416718"; transcript_version "2"; exon_number "1"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTCO3P12-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001720008"; exon_version "2"; tag "basic"; transcript_support_level "NA"; -1 havana gene 182696 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; -1 havana transcript 182696 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; -1 havana exon 182696 182746 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "1"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003759020"; exon_version "2"; tag "basic"; transcript_support_level "NA"; -1 havana exon 183132 183216 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003759581"; exon_version "2"; tag "basic"; transcript_support_level "NA"; -1 havana exon 183494 183571 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "3"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003804405"; exon_version "1"; tag "basic"; transcript_support_level "NA"; -1 havana exon 183740 183901 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "4"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003807458"; exon_version "1"; tag "basic"; transcript_support_level "NA"; -1 havana exon 183981 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "5"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003760199"; exon_version "2"; tag "basic"; transcript_support_level "NA"; -1 havana gene 2581560 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; gene_source "havana"; gene_biotype "lncRNA"; -1 havana transcript 2581560 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "5"; -1 havana exon 2581560 25816500000 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001795368"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 2583370 2583495 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001694676"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 2584125 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "3"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001601095"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 ensembl_havana gene 3069168 3438621 . + . gene_id "ENSG00000142611"; gene_version "17"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; -1 havana transcript 3069168 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; -1 havana exon 3069168 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002048533"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3069260 3069296 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana start_codon 3069260 3069262 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; -1 havana exon 3186125 3186474 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00001754112"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3186125 3186474 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3244087 3244137 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "3"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003480863"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3244087 3244137 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "3"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3385149 3385286 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "4"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002034212"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3385149 3385286 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "4"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3396491 3396593 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700221"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3396491 3396593 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3402791 3402998 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003696962"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3402791 3402998 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3404739 3404886 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "7"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700688"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3404739 3404886 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "7"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3405495 3405648 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "8"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700645"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3405495 3405648 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "8"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3411384 3412800 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "9"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003695658"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3411384 3412800 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "9"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3414560 3414647 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "10"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003701451"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3414560 3414647 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "10"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3417828 3417997 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "11"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003699052"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3417828 3417997 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "11"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3418667 3418744 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "12"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003698430"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3418667 3418744 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "12"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3425581 3425750 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "13"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003699796"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3425581 3425750 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "13"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3426051 3426225 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "14"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003701891"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3426051 3426225 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "14"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3430872 3431108 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "15"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003698226"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3430872 3431108 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "15"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana exon 3433677 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002081080"; exon_version "1"; tag "basic"; transcript_support_level "5"; -1 havana CDS 3433677 3433686 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; -1 havana stop_codon 3433687 3433689 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; -1 havana five_prime_utr 3069168 3069259 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; -1 havana three_prime_utr 3433690 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; -1 havana transcript 3069183 3186591 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; -1 havana exon 3069183 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003700259"; exon_version "1"; transcript_support_level "2"; -1 havana exon 3186125 3186591 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003695128"; exon_version "1"; transcript_support_level "2"; -1 havana transcript 3069197 3435421 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; tag "basic"; transcript_support_level "1"; -1 havana exon 3069197 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; exon_id "ENSE00001222906"; exon_version "5"; tag "basic"; transcript_support_level "1"; -1 havana CDS 3069260 3069296 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; protein_id "ENSP00000367643"; protein_version "2"; tag "basic"; transcript_support_level "1"; -1 havana start_codon 3069260 3069262 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; tag "basic"; transcript_support_level "1"; -1 havana exon 3186125 31864740000 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; exon_id "ENSE00001754112"; exon_version "1"; tag "basic"; transcript_support_level "1"; \ No newline at end of file +#!genome-build GRCh38.p13 +#!genome-version GRCh38 +#!genome-date 2013-12 +#!genome-build-accession GCA_000001405.28 +#!genebuild-last-updated 2022-04 +1 ensembl_havana gene 1471765 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; +1 ensembl_havana transcript 1471765 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; +1 ensembl_havana exon 1471765 14720800009 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003889014"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1471885 1472089 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana start_codon 1471885 1471887 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; +1 ensembl_havana exon 1477274 1477350 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003467707"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1477274 1477350 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1478644 1478745 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003569130"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1478644 1478745 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003608502"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1479049 1479108 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003474888"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1480867 1480936 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003654064"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1482138 1482303 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003510521"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1482545 1482614 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1485016 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003459370"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1485016 1485171 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003655926"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1485782 1485838 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003594545"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1486110 1486235 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003892109"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1486544 1486668 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003689846"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1487863 1487914 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003670332"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1489204 1489274 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003505365"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1490257 1490424 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "15"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003497242"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1490563 1490671 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "15"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana exon 1495485 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; exon_id "ENSE00003892597"; exon_version "1"; tag "basic"; +1 ensembl_havana CDS 1495485 1495814 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; protein_id "ENSP00000500094"; protein_version "1"; tag "basic"; +1 ensembl_havana stop_codon 1495815 1495817 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; exon_number "16"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; +1 ensembl_havana five_prime_utr 1471765 1471884 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; +1 ensembl_havana three_prime_utr 1495818 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000673477"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-206"; transcript_source "ensembl_havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS30"; tag "basic"; +1 havana transcript 1478026 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "1"; +1 havana exon 1478026 1478745 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001943609"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003589422"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003672769"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003661157"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003517812"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1485016 1485170001 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003542737"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1485782 14858380000 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003479480"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1486110 1486235000 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003503434"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003528975"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003611023"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003653402"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003486643"; exon_version "1"; transcript_support_level "1"; +1 havana exon 1495485 1497848 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000472194"; transcript_version "6"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-203"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001863816"; exon_version "1"; transcript_support_level "1"; +1 havana transcript 1479049 1482662 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; transcript_support_level "5"; +1 havana exon 1479049 1479108 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003589422"; exon_version "1"; transcript_support_level "5"; +1 havana exon 1480867 1480936 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003672769"; exon_version "1"; transcript_support_level "5"; +1 havana exon 1482138 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003661157"; exon_version "1"; transcript_support_level "5"; +1 havana exon 1482545 1482662 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000378736"; transcript_version "3"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-202"; transcript_source "havana"; transcript_biotype "processed_transcript"; exon_id "ENSE00003614529"; exon_version "1"; transcript_support_level "5"; +1 havana transcript 1483485 1496202 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; +1 havana exon 1483485 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001893282"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003479480"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003503434"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003528975"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003611023"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1489692 1489811 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001885858"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003653402"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003486643"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1495485 1496202 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000485748"; transcript_version "5"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-205"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003689276"; exon_version "1"; transcript_support_level "2"; +1 havana transcript 1484569 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; +1 havana exon 1484569 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001844843"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1485782 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001818637"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003513162"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1489204 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001832340"; exon_version "1"; transcript_support_level "2"; +1 havana exon 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000474481"; transcript_version "1"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-204"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00001844973"; exon_version "1"; transcript_support_level "2"; +1 ensembl transcript 1471784 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1471784 1472089 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001833190"; exon_version "2"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1471885 1472089 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl start_codon 1471885 1471887 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "1"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1477274 1477350 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003467707"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1477274 1477350 . + 2 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "2"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1480867 1480908 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003889337"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1480867 1480908 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "3"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1482266 1482303 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003889634"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1482266 1482303 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "4"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1482545 1482614 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003510521"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1482545 1482614 . + 1 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "5"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1485016 1485171 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003459370"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1485016 1485171 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "6"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1485782 1485838 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003655926"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1485782 1485838 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "7"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1486110 1486235 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003594545"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1486110 1486235 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1486544 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003662125"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl CDS 1486544 1486666 . + 0 gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "9"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; protein_id "ENSP00000311766"; protein_version "8"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "10"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003528975"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "11"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003611023"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "12"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003653402"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "13"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00003486643"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl exon 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; exon_number "14"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; exon_id "ENSE00001844973"; exon_version "1"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl five_prime_utr 1471784 1471884 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1486667 1486668 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1487863 1487914 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1489204 1489274 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1490257 1490424 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1490563 1490671 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 ensembl three_prime_utr 1495485 1496201 . + . gene_id "ENSG00000160072"; gene_version "20"; transcript_id "ENST00000308647"; transcript_version "8"; gene_name "ATAD3B"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "ATAD3B-201"; transcript_source "ensembl"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "1 (assigned to previous version 7)"; +1 havana gene 2212523 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; gene_source "havana"; gene_biotype "lncRNA"; +1 havana transcript 2212523 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "3"; +1 havana exon 2212523 2212644 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; exon_number "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001603085"; exon_version "2"; tag "basic"; transcript_support_level "3"; +1 havana exon 2220535 2220738 . + . gene_id "ENSG00000234396"; gene_version "3"; transcript_id "ENST00000442483"; transcript_version "2"; exon_number "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001607640"; exon_version "2"; tag "basic"; transcript_support_level "3"; +1 havana gene 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; +1 havana transcript 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; transcript_id "ENST00000416931"; transcript_version "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTND1P23-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; +1 havana exon 629062 629433 . + . gene_id "ENSG00000225972"; gene_version "1"; transcript_id "ENST00000416931"; transcript_version "1"; exon_number "1"; gene_name "MTND1P23"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTND1P23-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001797039"; exon_version "1"; tag "basic"; transcript_support_level "NA"; +1 havana gene 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; +1 havana transcript 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; transcript_id "ENST00000428803"; transcript_version "2"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; transcript_name "RPL7P7-201"; transcript_source "havana"; transcript_biotype "processed_pseudogene"; tag "basic"; transcript_support_level "NA"; +1 havana exon 8786211 8786913 . - . gene_id "ENSG00000224315"; gene_version "2"; transcript_id "ENST00000428803"; transcript_version "2"; exon_number "1"; gene_name "RPL7P7"; gene_source "havana"; gene_biotype "processed_pseudogene"; transcript_name "RPL7P7-201"; transcript_source "havana"; transcript_biotype "processed_pseudogene"; exon_id "ENSE00001776158"; exon_version "2"; tag "basic"; transcript_support_level "NA"; +1 havana gene 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; +1 havana transcript 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; transcript_id "ENST00000416718"; transcript_version "2"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTCO3P12-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; +1 havana exon 634376 634922 . + . gene_id "ENSG00000198744"; gene_version "5"; transcript_id "ENST00000416718"; transcript_version "2"; exon_number "1"; gene_name "MTCO3P12"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "MTCO3P12-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00001720008"; exon_version "2"; tag "basic"; transcript_support_level "NA"; +1 havana gene 182696 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; +1 havana transcript 182696 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; tag "basic"; transcript_support_level "NA"; +1 havana exon 182696 182746 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "1"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003759020"; exon_version "2"; tag "basic"; transcript_support_level "NA"; +1 havana exon 183132 183216 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "2"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003759581"; exon_version "2"; tag "basic"; transcript_support_level "NA"; +1 havana exon 183494 183571 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "3"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003804405"; exon_version "1"; tag "basic"; transcript_support_level "NA"; +1 havana exon 183740 183901 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "4"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003807458"; exon_version "1"; tag "basic"; transcript_support_level "NA"; +1 havana exon 183981 184174 . + . gene_id "ENSG00000279928"; gene_version "2"; transcript_id "ENST00000624431"; transcript_version "2"; exon_number "5"; gene_name "DDX11L17"; gene_source "havana"; gene_biotype "unprocessed_pseudogene"; transcript_name "DDX11L17-201"; transcript_source "havana"; transcript_biotype "unprocessed_pseudogene"; exon_id "ENSE00003760199"; exon_version "2"; tag "basic"; transcript_support_level "NA"; +1 havana gene 2581560 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; gene_source "havana"; gene_biotype "lncRNA"; +1 havana transcript 2581560 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; tag "basic"; transcript_support_level "5"; +1 havana exon 2581560 25816500000 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "1"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001795368"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 2583370 2583495 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "2"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001694676"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 2584125 2584533 . + . gene_id "ENSG00000228037"; gene_version "1"; transcript_id "ENST00000424215"; transcript_version "1"; exon_number "3"; gene_source "havana"; gene_biotype "lncRNA"; transcript_source "havana"; transcript_biotype "lncRNA"; exon_id "ENSE00001601095"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 ensembl_havana gene 3069168 3438621 . + . gene_id "ENSG00000142611"; gene_version "17"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; +1 havana transcript 3069168 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; +1 havana exon 3069168 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002048533"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3069260 3069296 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana start_codon 3069260 3069262 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; +1 havana exon 3186125 3186474 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00001754112"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3186125 3186474 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3244087 3244137 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "3"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003480863"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3244087 3244137 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "3"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3385149 3385286 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "4"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002034212"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3385149 3385286 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "4"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3396491 3396593 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700221"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3396491 3396593 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3402791 3402998 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003696962"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3402791 3402998 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3404739 3404886 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "7"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700688"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3404739 3404886 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "7"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3405495 3405648 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "8"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003700645"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3405495 3405648 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "8"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3411384 3412800 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "9"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003695658"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3411384 3412800 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "9"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3414560 3414647 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "10"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003701451"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3414560 3414647 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "10"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3417828 3417997 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "11"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003699052"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3417828 3417997 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "11"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3418667 3418744 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "12"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003698430"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3418667 3418744 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "12"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3425581 3425750 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "13"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003699796"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3425581 3425750 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "13"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3426051 3426225 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "14"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003701891"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3426051 3426225 . + 2 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "14"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3430872 3431108 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "15"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00003698226"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3430872 3431108 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "15"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana exon 3433677 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; exon_id "ENSE00002081080"; exon_version "1"; tag "basic"; transcript_support_level "5"; +1 havana CDS 3433677 3433686 . + 1 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; protein_id "ENSP00000426975"; protein_version "1"; tag "basic"; transcript_support_level "5"; +1 havana stop_codon 3433687 3433689 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; exon_number "16"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; +1 havana five_prime_utr 3069168 3069259 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; +1 havana three_prime_utr 3433690 3434342 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000511072"; transcript_version "5"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-206"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "basic"; transcript_support_level "5"; +1 havana transcript 3069183 3186591 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; transcript_support_level "2"; +1 havana exon 3069183 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003700259"; exon_version "1"; transcript_support_level "2"; +1 havana exon 3186125 3186591 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000607632"; transcript_version "1"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-210"; transcript_source "havana"; transcript_biotype "retained_intron"; exon_id "ENSE00003695128"; exon_version "1"; transcript_support_level "2"; +1 havana transcript 3069197 3435421 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; tag "basic"; transcript_support_level "1"; +1 havana exon 3069197 3069296 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; exon_id "ENSE00001222906"; exon_version "5"; tag "basic"; transcript_support_level "1"; +1 havana CDS 3069260 3069296 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; protein_id "ENSP00000367643"; protein_version "2"; tag "basic"; transcript_support_level "1"; +1 havana start_codon 3069260 3069262 . + 0 gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "1"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; tag "basic"; transcript_support_level "1"; +1 havana exon 3186125 31864740000 . + . gene_id "ENSG00000142611"; gene_version "17"; transcript_id "ENST00000378391"; transcript_version "6"; exon_number "2"; gene_name "PRDM16"; gene_source "ensembl_havana"; gene_biotype "protein_coding"; transcript_name "PRDM16-203"; transcript_source "havana"; transcript_biotype "protein_coding"; tag "CCDS"; ccds_id "CCDS44048"; exon_id "ENSE00001754112"; exon_version "1"; tag "basic"; transcript_support_level "1"; diff --git a/scripts/exon_length_filter.py b/scripts/exon_length_filter.py new file mode 100644 index 0000000..2aeb302 --- /dev/null +++ b/scripts/exon_length_filter.py @@ -0,0 +1,201 @@ +# Exon length filter # +"""Exon length filter +Version 2.1.0""" +# Called Packages # +import re +import os +import transcript_extractor as te + +python_version = "3.7.13" +module_list = [re, os] +modul_name_list = ["re", "os"] + +# Functions # + + +def exon_length_calculator(entry): + """This function finds the start and end cordinates of the + exon and uses them to calculate its length""" + try: + find_exon_coordinates = re.compile(r"\t\d{1,15}\t") + # this difines the pattern of the coordinates + try_find_start_coordinates = find_exon_coordinates.search(entry) + # this line findes the start coordinares based on the pattern + start_coordinates = int(try_find_start_coordinates[0].replace("\t", "")) + # this line removes the \t at the end and the start of the pattern and + # turn the string of the coordinates into intergers + final_index_start_coordinates = entry.find(try_find_start_coordinates[0])+len(try_find_start_coordinates[0])-1 + # this line determines the indes of the final digit + # of the start coordinates + sub_entry = entry[final_index_start_coordinates:] + # this lineused the index determin above a starting point + # for a new sub entry + try_find_end_coordinates = find_exon_coordinates.search(sub_entry) + end_coordinates = int(try_find_end_coordinates[0].replace("\t", "")) + # these two lines find the end coordinates and turn tham int an int + exon_length = end_coordinates-start_coordinates + # this line claculates the transcript length + except: + print("\n\nIn the following enty only one or no valid coordinates \ + could be found:\n",entry,"the value will be set to NA") + exon_length = "NA" + return exon_length + + +def exon_fider(entry): + """This funtion determines if a given entry belongs to an exon + Expected inputs: + entry: str #any enty of a gtf file""" + exon_test = entry.find(r"\texon\t") + # This line look for the entry exon in the file + if exon_test == -1: + try_exon_test = False + else: + try_exon_test = True + # The block above evaluates the results of the search for the wort exon + return try_exon_test + +def __longest_transcript_finder( + current_exon_length, + longest_transcript, + longest_transcript_ID, + old_transcript_ID + ): + """This funtion encapsulates an operation that has to be carried out + at several points in the exon_length_filter function and serves to + make that function more modular""" + if current_exon_length > longest_transcript: + # This condition updates the most promesing for + # beeing the representative transcript + longest_transcript = current_exon_length + longest_transcript_ID = old_transcript_ID + current_exon_length = 0 + return current_exon_length, longest_transcript, longest_transcript_ID + + +def _representative_transcript_csv( + representative_transcript, file_name = "test", deposit_pathway_name =os.getcwd() + ): + with open(os.path.join( + deposit_pathway_name, file_name+"_"+"representative_transcripts"+".csv" + ), "w", encoding="utf-8") as rt: + for i in representative_transcript: + transcript = representative_transcript[i] + new_entry = str(i)+","+transcript+"\n" + rt.write(new_entry) + + +def _exon_length_filter(file_name = "test",source_pathway_name = os.getcwd(),deposit_pathway_name =os.getcwd(),gen_dict = {"ENSG00000160072":["ENST00000673477","ENST00000472194","ENST00000378736","ENST00000308647","ENST00000442483"],"ENSG00000225972":["ENST00000416931"],"ENSG00000279928":["ENST00000624431","ENST00000424215"],"ENSG00000142611":["ENST00000378391","ENST00000607632","ENST00000511072"]}): + """This funtion selects only the transcripts for a dictionary that have the longest total mRNA""" + bar,start_time = te.bar_builder(length_multiplyer = 3) + total_genes = len(gen_dict) + gens_done = 0 + + with open(os.path.join(source_pathway_name,file_name+".gtf"), 'r') as f: + + old_gen = str() + old_transcript_ID = str() + representative_transcript = dict() + representative_trasnscript_not_found = True + longest_transcript_ID = str() + current_exon_length = 0 + longest_transcript = 0 + percentage_done = 0 + + for entry in f: + + try: + corrent_gen = te.gene_ID_finder(entry) + except: + corrent_gen = old_gen + #The block above test if there is a gen name in the entry + if corrent_gen != old_gen: + representative_trasnscript_not_found = True + + #The block above determines if the Gen name is new and set the test + #representative_trasnscript_not_found back to true which is used to + #make the program faster if there is just one transcript for a given + #gen in the dict + if representative_trasnscript_not_found and corrent_gen != str(): + #print(corrent_gen) + #The conditon prvents serges if a representative transcript has + #all ready been chosen + if corrent_gen != old_gen: + current_exon_length,longest_transcript,longest_transcript_ID = __longest_transcript_finder(current_exon_length,longest_transcript,longest_transcript_ID,old_transcript_ID) + representative_transcript[old_gen] = longest_transcript_ID + try: + del gen_dict[old_gen] + old_gen = corrent_gen + gens_done += 1 + corrent_percentage_done = (gens_done/total_genes)*100 + if corrent_percentage_done > percentage_done+10: + bar,start_time = te.bar_builder(percentage=percentage_done+10,length_multiplyer = 3,start_time=start_time,bar =bar) + percentage_done = int(corrent_percentage_done) + + + except: + old_gen = corrent_gen + longest_transcript = 0 + #The block above adds the transcript of the last gen that + #had the longest exons into the representative transcripts dict + try: + #This try / except block test if the gen is in the input dictionary + transcript_IDs = gen_dict[corrent_gen] + if len(gen_dict[corrent_gen]) == 1: + #This conditions is a short cut for Genes that + #allready have a representative transcript + representative_transcript=gen_dict[corrent_gen[0]] + representative_trasnscript_not_found = False + continue + except: + continue + + try: + current_transcript_ID = te.transcript_ID_finder(entry) + except: + continue + #The block above searches for a transcript ID in the current entry + + if current_transcript_ID in transcript_IDs: + #This condition test if the Transcript is one of the + #candidates for representative transcripts + if current_transcript_ID != old_transcript_ID: + #This condition if the enty still belongs to the + #previous transcript and is triggers if that is not the case + current_exon_length,longest_transcript,longest_transcript_ID = __longest_transcript_finder(current_exon_length,longest_transcript,longest_transcript_ID,old_transcript_ID) + try: + transcript_IDs.remove(old_transcript_ID) + old_transcript_ID = current_transcript_ID + except: + old_transcript_ID = current_transcript_ID + if exon_fider(entry): + exon_length = exon_length_calculator(entry) + current_exon_length += exon_length + else: + continue + current_exon_length,longest_transcript,longest_transcript_ID = __longest_transcript_finder(current_exon_length,longest_transcript,longest_transcript_ID,old_transcript_ID) + representative_transcript[old_gen] = longest_transcript_ID + del representative_transcript[str()] + te.bar_builder(100,length_multiplyer = 3,start_time=start_time,bar =bar) + return(representative_transcript) + +def exon_length_filter(file_name = "test",source_pathway_name = os.getcwd(),deposit_pathway_name =os.getcwd(),gen_dict = {"ENSG00000160072":["ENST00000673477","ENST00000472194","ENST00000378736","ENST00000308647","ENST00000442483"],"ENSG00000225972":["ENST00000416931"],"ENSG00000279928":["ENST00000624431","ENST00000424215"],"ENSG00000142611":["ENST00000378391","ENST00000607632","ENST00000511072"]}): + """This function filters a dictionary of genes and there transcripts by the length of there exons an selects the longes transcript for each gene and returns an dictionary {gene_ID : transcript_ID}. + Expected inputs: + file_name: str ; default = test #the name of the gft file you want to look at + source_pathway_name: str ; default = current work directory #path of the gtf file + deposit_pathway_name: str ; default = current work directory #path for files + gen_dict:dict{key == gene ID:[transcript IDs that belong to that gene]}""" + + print("Representative trascipts are filterd based on exon length please wait...") + source_pathway_name,deposit_pathway_name = te.__do_pathways_exist__(source_pathway_name,deposit_pathway_name) + representative_transcript = _exon_length_filter(file_name,source_pathway_name,deposit_pathway_name,gen_dict) + print("\nRepresentative transcripts collected") + return representative_transcript + + +if __name__ == "__main__": + # te.version_control(module_list,modul_name_list,python_version) + exon_length_filter() + +# This line allows the file to be executed on its own also from diff --git a/scripts/find_representative_transcripts.py b/scripts/find_representative_transcripts.py deleted file mode 100644 index ee0dbc6..0000000 --- a/scripts/find_representative_transcripts.py +++ /dev/null @@ -1,246 +0,0 @@ -#### Find representative transcripts #### -"""Version 1.1.1""" - -### Imports ### -import argparse - -### Functions ### - -def attributs_converter(attributs): - """ - This funtion converts the "unstrucktured" ;-seperated part of he line into a list of identifyers and coresponding data the struckture of - which can be used ot find the data easyly e.g the index of the identifier transcrip_id + 1 will give the trasncript id of the current gene - Input: - attributs = str() #the unstrucktured part of the entry - Output: - attributs = list() # cleand list with the characterritsics discribed above - """ - attributs = attributs.replace("\"","") - attributs = attributs.replace(";","") - attributs = attributs.replace("\\n","") - attributs =attributs.split(" ") - - return(attributs) - -def find_in_attributs (attributs,look_for): - """ - This function finds a key word and used that to lokat the value of that key word e.g key = gene_id, value = 'ENSMUSG00002074970', - this works as they are next to each other in the attributs list. - Inputs: - sub_enty = list() - look_fore = str() #string of with the name of the key to look for - Output: - attributs[index] or NA = str() #NA is returned if the key was not found in the attributs - """ - try: - index = attributs.index(look_for)+1 - return attributs[index] - except: - #print("No",look_for,"in the entry the return was set to NA\n",attributs) - return "NA" - -def _re_format(rep_trans_dict): - """ - This function is ment to reformat dictionary of the representatice transcripts into an dictionary with only one entry per key - Input: - rep_trans_dict = {gene_id : [transcript_id , transcript_support_level , transcript_length]} - Output: - rep_transcripts = {gene_id : transcript_id} - """ - rep_transcripts = dict() - for gene_id in rep_trans_dict: - rep_transcripts[gene_id] = rep_trans_dict[gene_id][0] - - return rep_transcripts - - - -def get_rep_trans(file_name = "test"): - """ - This is the main function of this script it selects one representative transcrip per gene based on a gtf annotation file. - It does so be two criteria: first the transcript support level and it there are several transcript - of one gene that have the same trasncript_support_level it chooses the one that corresponds to the longest mRNA. - Input: - file_name = str() # name of the annotation file with or without the .gtf part - Output: - rep_transcripts = {gene_id : transcript_id} - """ - - #setting defoult variables - rep_trans = dict() - cur_gID = str() - cur_best_trans = [str(),100,0] # [transcript_id , transcript_support_level , transcript_length] - pot_best_trans = False - cur_tID = str() - ignor_trans = False - - with open (file_name,"r") as f: - for line in f: - entry = line.split("\t") - - #removes expected but unneeded entrys - exp_unneed = ["CDS","stop_codon","five_prime_utr","three_prime_utr","start_codon",'Selenocysteine'] - if len(entry) == 1 or entry[2] in exp_unneed: - continue - - #this function turns the less organized part of the entry into a reable list - attributs = attributs_converter(entry[8]) - #looking for and processing exons entrys - if entry[2] == "exon": - - #dicide if to contiune or not - if ignor_trans: - continue - elif cur_gID != attributs[1]: - raise ValueError("ERROR exon from an unexpected Gen") - continue - elif find_in_attributs (attributs,"transcript_id") != cur_tID: - raise ValueError("exon from an unexpected transcript") - continue - - #adding the length of the exon to the appropriat list and chacking for changes in best transcript - if pot_best_trans: - pot_best_trans[2]+= int(entry[4])-int(entry[3]) - if pot_best_trans[2] > cur_best_trans[2]: - cur_best_trans = pot_best_trans - pot_best_trans = False - else: - cur_best_trans[2]+= int(entry[4])-int(entry[3]) - - - - #looking for and processing transcript entrys - elif entry[2] == "transcript": - - #varryfi that the gen is correct - if cur_gID != attributs[1]: - raise ValueError("ERROR transcript from an unexpected Gen") - continue - - #finding the transcript id and the support level - cur_tID = find_in_attributs (attributs,"transcript_id") - t_supp_lvl = find_in_attributs (attributs,"transcript_support_level") - - #If there is no transcript support level or the level is given as NA it is nomed as 100. else the transcript support level is tunrn into int - if t_supp_lvl == "NA": - t_supp_lvl = 100 - else: - try: - t_supp_lvl = int(t_supp_lvl) - except: - t_supp_lvl = 100 - - - #decides if the transcript has potential to become the representative transcript - if t_supp_lvl < cur_best_trans[1] or cur_best_trans[0] == "": - cur_best_trans = [cur_tID,t_supp_lvl,0] - pot_best_trans = False - ignor_trans = False - - elif t_supp_lvl == cur_best_trans[1]: - pot_best_trans = [cur_tID,t_supp_lvl,0] - else: - ignor_trans = True - - - #looking for and processing gene entrys - elif entry[2] == "gene": - - #updating rep_trans dict - if cur_gID not in rep_trans: - rep_trans[cur_gID] = cur_best_trans - else: - if rep_trans[cur_gID][1] > cur_best_trans[1]: - rep_trans[cur_gID] = cur_best_trans - elif rep_trans[cur_gID][1] == cur_best_trans[1] and rep_trans[cur_gID][2] < cur_best_trans[2]: - rep_trans[cur_gID] = cur_best_trans - - #updating cur_gID and resetting cur_best_trans - cur_gID = attributs[1] - cur_best_trans = [str(),100,0] - - #raises an error for unidentifyable entrys - else: - raise ValueError("This entry could not be identified\n",entry) - - #addding the final gene to the dictionary - if cur_gID not in rep_trans: - rep_trans[cur_gID] = cur_best_trans - else: - if rep_trans[cur_gID][1] > cur_best_trans[1]: - rep_trans[cur_gID] = cur_best_trans - elif rep_trans[cur_gID][1] == cur_best_trans[1] and rep_trans[cur_gID][2] < cur_best_trans[2]: - rep_trans[cur_gID] = cur_best_trans - - del rep_trans[""] - 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) - else: - transcript_id = find_in_attributs(attributes, 'transcript_id') - try: - if rep_transcript_dict[gene_id] == transcript_id: - output.append(entry) - except: - print("error") - - with open(output_file, 'w') as last_file: - last_file.write(output) - -def _test(): - """ - This funtion is ment to be run for test - Output: - file with the dictionary generated based on the test file - """ - file_name = "test.gtf" - rt = get_rep_trans(file_name) - expected_result = {"ENSG00000160072":"ENST00000472194","ENSG00000234396":"ENST00000442483", - "ENSG00000225972":"ENST00000416931","ENSG00000224315":"ENST00000428803", - "ENSG00000198744":"ENST00000416718","ENSG00000279928":"ENST00000624431", - "ENSG00000228037":"ENST00000424215",'ENSG00000142611':'ENST00000378391'} - if rt != expected_result: - print("The test fail due to not yieding the same results") - print("The results the program got\n",rt) - print("The expected results\n",expected_result) - else: - print("The test was succses full") - -### Execution part ### -if __name__ == "__main__": - parser = argparse.ArgumentParser(description="find_representativ_transcripts",formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument("-file_name", required=True, help="gtf file with genome annotation") - parser.add_argument("-t", required=False,default = False,help="to run the test input -t True") - args = parser.parse_args() - - #standadize the file_name inlude .gtf# - - file_name = args.file_name - i_gtf = file_name.find(".gtf") - if i_gtf == -1: - file_name += ".gtf" - - if args.t: - _test() - else: - get_rep_trans(file_name) - - - - - \ No newline at end of file diff --git a/scripts/match_reprtranscript_expressionlevel.py b/scripts/match_reprtranscript_expressionlevel.py deleted file mode 100644 index f7f3277..0000000 --- a/scripts/match_reprtranscript_expressionlevel.py +++ /dev/null @@ -1,182 +0,0 @@ -### Made by Hugo Gillet ### -import pandas as pd -from gtfparse import read_gtf - - -def dict_reprTrans_to_df(dict_reprTrans: dict[str, str]) -> pd.DataFrame: - - """Convert a dictionary of genes and their representative transcript into a dataframe - - Args: - dict_reprTrans (dict) : {'Gene':['transcriptA', 'transcriptB'], ...} - - Returns: - Pandas dataframe having Gene and transcript as columns - - Raises: - Only dict are allowed - Key should be strings - Value should be strings - - """ - pass - if not type(dict_reprTrans) is dict: - raise TypeError("Only dict are allowed") - if type(list(dict_reprTrans.keys())[0]) is not str: - raise TypeError("Key should be strings") - if type(list(dict_reprTrans.values())[0]) is not str: - raise TypeError("Values should be strings") - - df_reprTrans = pd.DataFrame.from_dict( - dict_reprTrans, orient="index", columns=["reprTranscript"] - ) - df_reprTrans = df_reprTrans.reset_index(level=0) - df_reprTrans.columns = ["Gene", "reprTrans"] - df_reprTrans["reprTrans"] = df_reprTrans["reprTrans"].str.replace( - r"\.[1-9]", "", regex=True - ) - return df_reprTrans - -def gene_and_transcript(gtf_file:str)-> pd.DataFrame: - """ - This function take a .gtf file and convert it into a - dataframe containing gene_id and their transcripts_id. - Args: - gtf_file (str) : path to the .gtf file - - Returns: - df_gtf (pd.DataFrame) : pandas dataframe containing having has columns - gene_id and their transcripts_id. - Raises : - None - - """ - df_gtf = read_gtf(gtf_file) - df_gtf = df_gtf.loc[df_gtf["feature"]=="transcript"] - df_gtf = df_gtf[["gene_id","transcript_id"]] - df_gtf = df_gtf.rename(columns={"gene_id":"Gene","transcript_id":"Transcript"}) - return df_gtf - - - -def tsv_or_csv_to_df(input_txt: str) -> pd.DataFrame: - """Convert tsv or csv file into a pandas dataframe - - Args: - input_txt (str): csv or tsv file containing transcript expression level - - Returns: - df_gene (str): Pandas dataframe having transcript and expression level - as columns - - Raises: - None - """ - pass - df_input = pd.read_csv( - input_txt, - sep=r"[\t,]", - lineterminator="\n", - names=["Transcript", "Expression_level"], - engine="python", - ) - return df_input - - -def exprLevel_byGene( - df_exprTrasncript: pd.DataFrame, df_output_gtf_selection: pd.DataFrame -) -> pd.DataFrame: - """find the gene of each transcipt given by the expression level csv/tsv file, - and summ expression level of all transcipts from the same gene. - - Args: - df_exprTranscript : pandas Dataframe containing transcript and their expression level, - generated by "tsv_or_csv_to_df" function - df_output_gtf_selection : pandas Dataframe containing genes and transcripts, - generated by "transcripts_by_gene_inDf" function - - Returns: - Pandas dataframe having gene and sum of its transcript expression level - - Raises: - None - """ - pass - df_merged = pd.merge( - df_output_gtf_selection, df_exprTrasncript, how="inner", on="Transcript" - ) - df_sum = df_merged.groupby("Gene").sum( - "Expression_level" - ) - return df_sum - - -def match_byGene( - df_reprTranscript: pd.DataFrame, df_expressionLevel_byGene: pd.DataFrame -) -> pd.DataFrame: - """Find matching genes bewteen the 2 args - - Args: - df_reprTranscript : pandas Dataframe containing genes - and their representative transcript, generated by - "dict_reprTrans_to_df()" - df_expressionLevel_byGene : pandas Dataframe containing - genes and their expression level generated by - "transcript_by_gene_inDf()" - - Returns: - Pandas dataframe having representative trasncripts - and their expression level - - Raises: - None - """ - pass - df_merged = pd.merge( - df_reprTranscript, df_expressionLevel_byGene, how="outer", on="Gene" - ) - df_clean = df_merged.dropna(axis=0) - df_clean = df_clean.loc[:, ["reprTrans", "Expression_level"]] - return df_clean - - - - - -### functions to run this part of the programm - - -def match_reprTranscript_expressionLevel( - exprTrans: str, dict_reprTrans: dict, gtf_file: str, -): - """Combine functions to replace transcripts from an expression level csv/tsv file - with representative transcripts - - Args: - exprTrans (str): csv or tsv file containing transcripts - and their expression level - dict_reprTrans (dict) : dict of genes and their - representative transcipt - intemediate_file (str) : txt file containing genes, transcript - and their expression level from the transkript_extractor function - output_path : path indicating were the tsv file should be written - - Returns: - tsv file of representative trasncripts and their expression level - - Raises: - None - """ - df_gene_transcript = gene_and_transcript(gtf_file) - df_exprTrans = tsv_or_csv_to_df(exprTrans) - df_reprTrans = dict_reprTrans_to_df(dict_reprTrans) - df_exprLevel_byGene = exprLevel_byGene(df_exprTrans, df_gene_transcript) # error here - df_match = match_byGene(df_reprTrans, df_exprLevel_byGene) - df_match.rename(columns = {'reprTrans':'id', 'Expression_level':'level'}, inplace = True) - return df_match - - -# run the programm - -if __name__ == "__main__": - match_reprTranscript_expressionLevel() diff --git a/scripts/new_exe.py b/scripts/new_exe.py deleted file mode 100644 index ade521c..0000000 --- a/scripts/new_exe.py +++ /dev/null @@ -1,57 +0,0 @@ -import argparse -import time -import transcript_sampler as ts - -# exemple execution : python C:\...\final_exe.py --input_gtf "C:\...\input_files\test.gtf" --input_csv "C:\...\input_files\expression.csv" --output_gtf "C:\...\output\output_gtf.gtf" --output_csv "C:\...\ouput\output_gtf.gtf" --n_to_sample 100 - - -def exe(input_gtf, input_csv, output_gtf, output_csv, transcript_nr, input_free=True): - start = time.time() - dict_repr_trans = ts.get_rep_trans(input_gtf) - df_repr = ts.match_reprTranscript_expressionLevel( - dict_reprTrans=dict_repr_trans, exprTrans=input_csv, gtf_file=input_gtf - ) - print("Finiding match between representative transcripts and expression level file") - print("Poisson sampling of transcripts") - ts.transcript_sampling(transcript_nr, df_repr, output_csv) - print("output csv file ready") - print("writing output gtf file") - ts.gtf_file_writer(input_gtf, dict_repr_trans, output_gtf) - end = time.time() - print("\nScript executed in {} sec\n".format(end - start)) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser( - description="transcript sampler", - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - ) - parser.add_argument( - "--input_gtf", required=True, help="gtf file with genome annotation" - ) - parser.add_argument( - "--input_csv", - required=True, - help="csv or tsv file with transcript and their expression level ", - ) - parser.add_argument( - "--output_gtf", - required=True, - help="output path for the new gtf file of representative transcripts", - ) - parser.add_argument( - "--output_csv", - required=True, - help="output path for the new csv file of representative transcript and their sampled number", - ) - parser.add_argument( - "--n_to_sample", required=True, help="total number of transcripts to sample" - ) - args = parser.parse_args() - exe( - args.input_gtf, - args.input_csv, - args.output_gtf, - args.output_csv, - args.n_to_sample, - ) diff --git a/scripts/new_gtf_writer.py b/scripts/new_gtf_writer.py deleted file mode 100644 index 43e7ca6..0000000 --- a/scripts/new_gtf_writer.py +++ /dev/null @@ -1,20 +0,0 @@ - -def gtf_file_writer (original_file, output_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) \ No newline at end of file diff --git a/scripts/poisson_sampling.py b/scripts/poisson_sampling.py deleted file mode 100644 index fedd8e8..0000000 --- a/scripts/poisson_sampling.py +++ /dev/null @@ -1,57 +0,0 @@ -### Called Packages ### -import pandas as pd -import numpy as np -import argparse - -import transcript_extractor as te - -python_version = "3.7.13" -module_list =[pd,np,argparse] -modul_name_list = ["pd","np","argparse"] -### Functions ### - -''' -Sample transcript - -This part of the code does Poisson sampling proportionally to gene expression levels for each gene. - -input: total transcript number (int) - csv file with gene id and gene expression levels (columns named 'id' and 'level') - -output: csv file with gene id and count - gtf file with transcript samples -''' - - -def transcript_sampling(total_transcript_number, df_repr, output_csv): - #df = pd.read_csv(csv_file, sep="\t", lineterminator="\n", names=["id", "level"]) - df = df_repr # the function "match_reprTranscript_expressionLevel()" now directly output a dataframe - levels = [] - sums = df['level'].tolist() - total = sum(sums) - total_transcript_number=int(total_transcript_number) # I added this because writting a number in the terminal inputed a string - normalized = total_transcript_number/total - for expression_level in df['level']: - poisson_sampled = np.random.poisson(expression_level*normalized) - levels.append(poisson_sampled) - - transcript_numbers = pd.DataFrame({'id': df['id'],'count': levels}) - pd.DataFrame.to_csv(transcript_numbers, output_csv) - -if __name__ == '__main__': - #te.version_control(module_list,modul_name_list,python_version) - parser = argparse.ArgumentParser( - description="Transcript Poisson sampler, csv output", - formatter_class=argparse.ArgumentDefaultsHelpFormatter - ) - - parser.add_argument("--expression_level", required=True, help="csv file with expression level") - parser.add_argument("--output_csv", required=True, help="output csv file") - parser.add_argument("--input_csv", required=True, help="input csv file") - parser.add_argument("--transcript_number", required=True, help="total number of transcripts to sample") - args = parser.parse_args() - - - transcript_sampling(args.transcript_number, args.input_csv, args.output_csv, args.transcript_number) - - diff --git a/scripts/representative.py b/scripts/representative.py index 1228e9a..589f4b4 100644 --- a/scripts/representative.py +++ b/scripts/representative.py @@ -1,91 +1,91 @@ -import pandas as pd -import os - ''' -This part of the code take as input a gtf modified file +This part of the code take as input a gtf modified file and return a dictionary of transcripts with best support level for each gene of the input - ''' +import pandas as pd +# import os - - -def import_gtfSelection_to_df(gtf_modified_file: str) -> pd.DataFrame: +def import_gtf_selection_to_df(gtf_modified_file: str) -> pd.DataFrame: """Import intermediate file from gtf and create a df Args: gtf_modified_file (str) : path to the intermediate file Returns: - Pandas dataframe having Gene, transcript + Pandas dataframe having Gene, transcript and support level as columns - + Raises: TypeError : Only str path is allowed - + """ - pass - if not type(gtf_modified_file) is str: - raise TypeError("Only str path is allowed") - df_input = pd.read_csv(gtf_modified_file, sep = '\t', lineterminator = '\n', -names = ["Gene_mixed", "Transcript", "Support_level", "Na1", "Na2"] ) + if not isinstance(gtf_modified_file, str): + raise TypeError("Only str path is allowed") + df_input = pd.read_csv( + gtf_modified_file, sep='\t', lineterminator='\n', + names=["Gene_mixed", "Transcript", "Support_level", "Na1", "Na2"] + ) df_input["Support_level"] = df_input["Support_level"].replace(" ", "") - df_input["Gene"] = df_input["Gene_mixed"].str.extract('([A-Z]\w{0,})', expand=True) - df_input["Transcript_number"] = df_input["Gene_mixed"].str.extract('(^\d)', expand=True) - df_clean = df_input.loc[:, ["Gene", "Transcript","Support_level"]] - df_clean["Gene"] = df_clean["Gene"].fillna(method = 'ffill') - df_clean = df_clean.dropna(axis = 0) + df_input["Gene"] = df_input["Gene_mixed"].str.extract( + r'([A-Z]\w{0,})', expand=True # noqa: W605 + ) + df_input["Transcript_number"] = df_input["Gene_mixed"].str.extract( + r'(^\d)', expand=True # noqa: W605 + ) + df_clean = df_input.loc[:, ["Gene", "Transcript", "Support_level"]] + df_clean["Gene"] = df_clean["Gene"].fillna(method='ffill') + df_clean = df_clean.dropna(axis=0) return df_clean - - -def representative_transcripts_inDict(df_gtfSelection: pd.DataFrame) -> pd.DataFrame: - """Return a dict containing for each gene transcripts +def representative_transcripts_in_dict( + df_gtf_selection: pd.DataFrame) -> pd.DataFrame: + """Return a dict containing for each gene transcripts with highest confidence level Args: - df_gtfSelection (str): Pandas dataframe having Gene, + df_gtf_selection (str): Pandas dataframe having Gene, transcript and support level as columns Returns: Dict {'Gene':['transcriptA', 'transcriptB'], ...} - + Raises: TypeError : Only pandas DataFrame is allowed """ - pass - - if not type(df_gtfSelection) is pd.DataFrame: + if not isinstance(df_gtf_selection, pd.DataFrame): raise TypeError("Only pandas DataFrame is allowed") - df_min = df_gtfSelection[df_gtfSelection["Support_level"]==df_gtfSelection.groupby("Gene")["Support_level"].transform(min)] - df_final = df_min.drop(columns = ["Support_level"]) - dict_representative_transcripts = df_final.groupby("Gene")["Transcript"].apply(list).to_dict() - return dict_representative_transcripts + df_min = df_gtf_selection[ + df_gtf_selection["Support_level"] == + df_gtf_selection.groupby("Gene")["Support_level"].transform(min) + ] + df_final = df_min.drop(columns=["Support_level"]) + dict_representative_transcripts = df_final.groupby("Gene")[ + "Transcript"].apply(list).to_dict() + return dict_representative_transcripts - -def find_repr_by_SupportLevel(intermediate_file: str) -> dict[str,str]: - """Combine functions import_gtfSelection_to_df() - and representative_transcripts_inDict() +def find_repr_by_support_level(intermediate_file: str) -> dict[str, str]: + """Combine functions import_gtf_selection_to_df() + and representative_transcripts_in_dict() Args: intermediate_file : path to the intermediate file Returns: Dict {'Gene':['transcriptA', 'transcriptB'], ...} - + Raises: None - + """ - pass - df_gtf = import_gtfSelection_to_df(intermediate_file) - dict_reprTrans = representative_transcripts_inDict(df_gtf) - return dict_reprTrans + df_gtf = import_gtf_selection_to_df(intermediate_file) + dict_repr_trans = representative_transcripts_in_dict(df_gtf) + return dict_repr_trans -if __name__ == "__main__": - find_repr_by_SupportLevel() +# if __name__ == "__main__": +# find_repr_by_support_level() diff --git a/scripts/transcript_extractor.py b/scripts/transcript_extractor.py new file mode 100644 index 0000000..5c81bcd --- /dev/null +++ b/scripts/transcript_extractor.py @@ -0,0 +1,329 @@ +#### Transcript extractor ##### +"""Transcript extractor +Version 1.2.0""" +### Called Packages ### +import re +import os +import time + +python_version = "3.7.13" +module_list =[re,os,time] +modul_name_list = ["re","os","time"] + +### Functions ### +def version_control(module_list,modul_name_list,python_version): + with open("required.txt","a") as req: + + for i in range(len(module_list)): + + try: + version = module_list[i].__version__ + entry = modul_name_list[i]+"\t"+str(version)+"\n" + req.write(entry) + except: + version = python_version + entry = modul_name_list[i]+"\t"+str(version)+"\n" + req.write(entry) + +def __parameter_editor(file_name,source_pathway_name,deposit_pathway_name): + """This function allows for changing the parameters after running the program""" + while True: + print("The program will run with the following parameters:\nFile name:\t\t",file_name,"\nSource pathway:\t",source_pathway_name,"\nDeposit pathway:\t",deposit_pathway_name,"\n") + parameter_conformation = input("To continue with these parameters input [continue or c] to change them input [edit]\n>") + if parameter_conformation == "continue"or parameter_conformation =="c": + break + elif parameter_conformation == "edit": + #edit the parameters + while True: + change_question = input("select the parameter you want to change [nfile/spath/dpath] or input [b] to go back\n>") + if change_question == "nfile": + #This condition allows the user to chenge the file name + file_name = input("Please input the new file name\n>") + break + elif change_question == "spath": + #This condition allows the user to change the source path + source_pathway_name = input("Please input the new source path\n>") + + does_source_pathway_exist = os.path.exists(source_pathway_name) + if does_source_pathway_exist: + break + else: + print("The new source pathway:",source_pathway_name,"does not exist\nThe source pathway was returned to default:",os.getcwd()) + source_pathway_name = os.getcwd() + elif change_question == "dpath": + #This condition allows the user to change output file location + deposit_pathway_name = input("Please input the new output file path name\n>") + does_deposit_pathway_exist = os.path.exists(deposit_pathway_name) + if does_deposit_pathway_exist: + break + else: + print("The new deposit pathway:",deposit_pathway_name,"does not existe\nThe deposit pathway was returnt to default:",source_pathway_name) + deposit_pathway_name = source_pathway_name + #The block above test if the new deposit pathway is valid + elif change_question == "b": + # This condition allows the user to return to the main loop + break + else: + #This condition covers all non valid inputs into the secund loop + print("The input",change_question,"is not valid. Please use one of the specified commands") + + else: + #This condition covers all non valid input for the main loop + print("The input",parameter_conformation,"is not valide please use one of the specified comands\n") + return(file_name,source_pathway_name,deposit_pathway_name) + + + + + + + +def __searche_for_preexisting_files(file_name,deposit_pathway_name = os.getcwd()): + """This function searches for preexisting files of the same name as the results file of the current program. It allows the user to choose to move on with the pre-existing file """ + File_of_same_name_found = False + generat_new_file = False + directory_content = os.listdir(deposit_pathway_name) + for file in directory_content: + if file == file_name: + while True: + File_found_input = input (file_name+" has allready been generated\nDo you want to generate a new one [y/n] \n>") + if File_found_input == "n": + File_of_same_name_found = True + break + elif File_found_input == "y": + generat_new_file = True + break + else: + print("Invalid input\nPlease press [y] if you want to generate a new file or [n] if you want to use the preexisting file") + break + else: + continue + if File_of_same_name_found: + print("No new file will be generated, the program can continue") + elif generat_new_file: + print("A new file will be generated please wait...\n") + else: + print("No pre-existing file of the relevant type has been found.\nA new file will be generated please wait...\n") + return(File_of_same_name_found) + +def bar_builder(percentage = 0,length_multiplyer = 2,start_time = time.time(),bar = str()): + """This function creates a loading bar that can load in 10% increments starting a 0% and ending at 100% + Expected inputs: + percentage: int between 0 and 100 in steps of 10; default = 0 #defines the current loading increment + length_multiplyer: int > 0 ; default = 2 #determiens the amount of symbols per loading increment + start_time: any int ; default= time.time() #for determening loading time + bar: str ; default = str()#input of the current bar status does not need to be defined if for the 0% increment + """ + if percentage == 100: + bar = bar.replace("-","#") + print("\r"+bar+"\t"+"100%\t\t"+str(int(time.time()-start_time))) + elif percentage > 0: + bar = bar.replace("-","#",length_multiplyer) + print("\r"+bar+"\t"+str(percentage)+"%", end='',flush=True) + elif percentage == 0: + bar = "["+"-"*length_multiplyer*10+"]" + print(bar+"\t", end='',flush=True) + return(bar,start_time) + +def __test_file_name(file_name,source_pathway_name = os.getcwd()): + """This function validates that the source file exists at the source path. It turns the file name input in a standardized format that can be used in the next steps""" + + directory_content = os.listdir(source_pathway_name) + + index_of_the_dot = file_name.rfind(".") + valide_source_file = False + validate_source_file = True + if index_of_the_dot ==-1: + file_name += ".gtf" + else: + source_file_typ = file_name[index_of_the_dot:] + not_a_file_type = re.compile(".\d{1,13}") + try_not_a_file_type = not_a_file_type.search(source_file_typ) + if source_file_typ == ".gtf": + file_name = file_name + elif try_not_a_file_type: + file_name += ".gtf" + else: + print("This program can not handle",source_file_typ,"files. \nplease use a .gtf file" ) + validate_source_file = False + #The block above tests if the file_name includes the file type and if no + #file type is found adds ".gtf" und if a non ".gtf" file is found gives an error + + if validate_source_file: + for file in directory_content: + if file == file_name: + valide_source_file = True + break + #The block above tests if a file on the given name is in the given directora + + if valide_source_file: + print("The file:",file_name,"has been found.\n") + else: + print("No .gtf file of the name",file_name,"has been found in this pathway") + #The bock above gives feed back regarding the results of the file test + + file_name = file_name.replace(".gtf","") + #This line normalizes the file name + return(valide_source_file,file_name) + +def __do_pathways_exist__(source_pathway_name,deposit_pathway_name): + """This funtion tests that the entered pathways actualy exist""" + does_source_pathway_exist = os.path.exists(source_pathway_name) + does_deposit_pathway_exist = os.path.exists(deposit_pathway_name) + #The Block above does the actual testing + if does_source_pathway_exist: + source_pathway_name = source_pathway_name + else: + print("The source pathway:",source_pathway_name,"has not been found\nThe source pathway was set to the default") + source_pathway_name = os.getcwd() + #The block above detail the possible reactions for the source pathe existing or not existing + if does_deposit_pathway_exist: + deposit_pathway_name = deposit_pathway_name + else: + print("The deposit pathway:",deposit_pathway_name,"has not been found\nThe deposit pathway was set to the default") + deposit_pathway_name = source_pathway_name + #The block above details the possible reactions for the deposit pathway existing or not existing + return(source_pathway_name,deposit_pathway_name) + +def gene_ID_finder(entry): + """This function is supposed to find the gene ID of a known gene entry + Expected inputs: + entry: str #a line from a gtf file that contains a gene ID""" + index_gene_id = entry.find("gene_id") + find_gene_id_name = re.compile("\"\S{1,25}\"") + sub_entry = entry[index_gene_id:] + try_find_gene_id_name = find_gene_id_name.search(sub_entry) + gene_ID = try_find_gene_id_name[0].replace("\"","") + return (gene_ID) + +def transcript_ID_finder (entry): + """This function is supposed to finde the transcript ID in a known transcript entry + Expected inputs: + entry: str #a line from a gtf file that contains a transcript ID""" + index_transcript_id = entry.find("transcript_id") + find_transcript_id_name = re.compile("\"\S{1,25}\"") + sub_entry = entry[index_transcript_id:] + try_find_transcript_id_name = find_transcript_id_name.search(sub_entry) + + try: + transcript_ID = try_find_transcript_id_name[0].replace("\"","") + except: + transcript_ID = "" + return (transcript_ID) + +def transcript_support_level_finder(entry): + """This function is supposed to find the transcript support level in a known transcript entry + Expected input: + entry: str #a line from a gtf file that be blongs to a transcript""" + transcript_support_level_start_ID = entry.find("transcript_support_level") + sub_entry = entry[transcript_support_level_start_ID:] + + try: + score_finder = re.compile("\W\w{1,16}\W{2}") + try_score_finder = score_finder.search(sub_entry) + Pre_score_1 = try_score_finder[0] + Pre_score_2 = Pre_score_1.replace("\"","") + Pre_score_2 = Pre_score_2.replace("(","") + transcript_support_level = Pre_score_2.replace(";","") + if "NA" in transcript_support_level: + transcript_support_level = 100 + #I changed This tell laura + + + except: + transcript_support_level = 100 + return (transcript_support_level) + + + + +def _transcript_extractor (file_name,source_pathway_name,deposit_pathway_name): + """This function extracts the transcript number ,transcript ID, the transcript support level, the transcrip length and the line index from a gtf file of a given name and saves tham as a new file name given_name_intermediat_file.txt. + Expected input: + file_name: str #the name of the gft file you want to look at without the .gtf part + source_pathway_name: str #path of the gtf file + deposit_pathway_name: str #path for saving the intermediat file""" + + with open(os.path.join(source_pathway_name,file_name+".gtf"), 'r') as f: + total_entrys =len(f.readlines()) + with open(os.path.join(source_pathway_name,file_name+".gtf"), 'r') as f: + current_entry = 0 + percentage_done = 0 + bar,start_time = bar_builder(length_multiplyer = 3) + + + Old_gen_ID = str() + #stand-in as the first couple entrys are not genes + with open(os.path.join(deposit_pathway_name,file_name+"_"+"intermediate_file"+".txt"),"w") as IMF: + transcript_number = 0 + for entry in f: + + + current_entry += 1 + current_percentage_done = 100* current_entry/total_entrys + if current_percentage_done > percentage_done +10: + bar,start_time = bar_builder(percentage=percentage_done+10,length_multiplyer = 3,start_time=start_time,bar =bar) + percentage_done = int(current_percentage_done) + + if "gene_id" in entry: + Gen_ID = gene_ID_finder(entry) + else: + Gen_ID = Old_gen_ID + + if Gen_ID != Old_gen_ID: + Gen_entry = ">"+ Gen_ID +"\n" + IMF.write(Gen_entry) + transcript_number = 0 + Old_gen_ID = Gen_ID + + if "\ttranscript\t" in entry: + transcript_number += 1 + Transcript_ID = transcript_ID_finder(entry) + #the function that determins the transcript ID is called + transcript_support_level = transcript_support_level_finder(entry) + #the function that determins the transcript support level is called + New_entry = str(transcript_number)+"\t"+str(Transcript_ID)+"\t"+str(transcript_support_level)+"\t"+"\t\n" + IMF.write(New_entry) + bar_builder(100,length_multiplyer = 3,start_time=start_time,bar =bar) + print("The transcripts have been collected") + + +def extract_transcript(file_name = "test",source_pathway_name = os.getcwd(),deposit_pathway_name = False,Input_free = False): + """ This it the overall exetutable funtion that will execute the transcript extraction process for a given file with all checks. + Expected input: + file_name: str ; default = test #the name of the gft file you want to look at + source_pathway_name: str ; default = current work directory #path of the gtf file + deposit_pathway_name: str ; default = source_pathway_name #path for saving the intermediat file + Outputs: + file_name: str + source_pathway_name: str + deposit_pathway_name: str + """ + + + if deposit_pathway_name == False: + deposit_pathway_name = source_pathway_name + if Input_free: + validated_file_name = __test_file_name(file_name,source_pathway_name) + file_name = validated_file_name[1] + _transcript_extractor (file_name,source_pathway_name,deposit_pathway_name) + else: + file_name,source_pathway_name,deposit_pathway_name = __parameter_editor(file_name,source_pathway_name,deposit_pathway_name) + source_pathway_name,deposit_pathway_name =__do_pathways_exist__(source_pathway_name,deposit_pathway_name) + validated_file_name = __test_file_name(file_name,source_pathway_name) + file_name = validated_file_name[1] + if validated_file_name[0]: + if __searche_for_preexisting_files(file_name+"_intermediate_file.txt",deposit_pathway_name): + print("The transcripts has been collected\n") + else: + _transcript_extractor (file_name,source_pathway_name,deposit_pathway_name) + return(file_name,source_pathway_name,deposit_pathway_name) + +#### Dev part #### + +if __name__ == "__main__": + #version_control(module_list,modul_name_list,python_version) + extract_transcript() +#This line allows the file to be executed on its own also from + + diff --git a/scripts/transcript_sampler.py b/scripts/transcript_sampler.py deleted file mode 100644 index 7ee155e..0000000 --- a/scripts/transcript_sampler.py +++ /dev/null @@ -1,426 +0,0 @@ -import pandas as pd -import numpy as np -from gtfparse import read_gtf - - -def attributs_converter(attributs): - """ - This funtion converts the "unstrucktured" ;-seperated part of he line into a list of identifyers and coresponding data the struckture of - which can be used ot find the data easyly e.g the index of the identifier transcrip_id + 1 will give the trasncript id of the current gene - Input: - attributs = str() #the unstrucktured part of the entry - Output: - attributs = list() # cleand list with the characterritsics discribed above - """ - attributs = attributs.replace('"', "") - attributs = attributs.replace(";", "") - attributs = attributs.replace("\\n", "") - attributs = attributs.split(" ") - - return attributs - - -def find_in_attributs(attributs, look_for): - """ - This function finds a key word and used that to lokat the value of that key word e.g key = gene_id, value = 'ENSMUSG00002074970', - this works as they are next to each other in the attributs list. - Inputs: - sub_enty = list() - look_fore = str() #string of with the name of the key to look for - Output: - attributs[index] or NA = str() #NA is returned if the key was not found in the attributs - """ - try: - index = attributs.index(look_for) + 1 - return attributs[index] - except: - # print("No",look_for,"in the entry the return was set to NA\n",attributs) - return "NA" - - -def _re_format(rep_trans_dict): - """ - This function is ment to reformat dictionary of the representatice transcripts into an dictionary with only one entry per key - Input: - rep_trans_dict = {gene_id : [transcript_id , transcript_support_level , transcript_length]} - Output: - rep_transcripts = {gene_id : transcript_id} - """ - rep_transcripts = dict() - for gene_id in rep_trans_dict: - rep_transcripts[gene_id] = rep_trans_dict[gene_id][0] - - return rep_transcripts - - -def get_rep_trans(file_name="test"): - """ - This is the main function of this script it selects one representative transcrip per gene based on a gtf annotation file. - It does so be two criteria: first the transcript support level and it there are several transcript - of one gene that have the same trasncript_support_level it chooses the one that corresponds to the longest mRNA. - Input: - file_name = str() # name of the annotation file with or without the .gtf part - Output: - rep_transcripts = {gene_id : transcript_id} - """ - - # setting defoult variables - rep_trans = dict() - cur_gID = str() - cur_best_trans = [ - str(), - 100, - 0, - ] # [transcript_id , transcript_support_level , transcript_length] - pot_best_trans = False - cur_tID = str() - ignor_trans = False - - with open(file_name, "r") as f: - for line in f: - entry = line.split("\t") - - # removes expected but unneeded entrys - exp_unneed = [ - "CDS", - "stop_codon", - "five_prime_utr", - "three_prime_utr", - "start_codon", - "Selenocysteine", - ] - if len(entry) == 1 or entry[2] in exp_unneed: - continue - - # this function turns the less organized part of the entry into a reable list - attributs = attributs_converter(entry[8]) - # looking for and processing exons entrys - if entry[2] == "exon": - - # dicide if to contiune or not - if ignor_trans: - continue - elif cur_gID != attributs[1]: - raise ValueError("ERROR exon from an unexpected Gen") - continue - elif find_in_attributs(attributs, "transcript_id") != cur_tID: - raise ValueError("exon from an unexpected transcript") - continue - - # adding the length of the exon to the appropriat list and chacking for changes in best transcript - if pot_best_trans: - pot_best_trans[2] += int(entry[4]) - int(entry[3]) - if pot_best_trans[2] > cur_best_trans[2]: - cur_best_trans = pot_best_trans - pot_best_trans = False - else: - cur_best_trans[2] += int(entry[4]) - int(entry[3]) - - # looking for and processing transcript entrys - elif entry[2] == "transcript": - - # varryfi that the gen is correct - if cur_gID != attributs[1]: - raise ValueError("ERROR transcript from an unexpected Gen") - continue - - # finding the transcript id and the support level - cur_tID = find_in_attributs(attributs, "transcript_id") - t_supp_lvl = find_in_attributs(attributs, "transcript_support_level") - - # If there is no transcript support level or the level is given as NA it is nomed as 100. else the transcript support level is tunrn into int - if t_supp_lvl == "NA": - t_supp_lvl = 100 - else: - try: - t_supp_lvl = int(t_supp_lvl) - except: - t_supp_lvl = 100 - - # decides if the transcript has potential to become the representative transcript - if t_supp_lvl < cur_best_trans[1] or cur_best_trans[0] == "": - cur_best_trans = [cur_tID, t_supp_lvl, 0] - pot_best_trans = False - ignor_trans = False - - elif t_supp_lvl == cur_best_trans[1]: - pot_best_trans = [cur_tID, t_supp_lvl, 0] - else: - ignor_trans = True - - # looking for and processing gene entrys - elif entry[2] == "gene": - - # updating rep_trans dict - if cur_gID not in rep_trans: - rep_trans[cur_gID] = cur_best_trans - else: - if rep_trans[cur_gID][1] > cur_best_trans[1]: - rep_trans[cur_gID] = cur_best_trans - elif ( - rep_trans[cur_gID][1] == cur_best_trans[1] - and rep_trans[cur_gID][2] < cur_best_trans[2] - ): - rep_trans[cur_gID] = cur_best_trans - - # updating cur_gID and resetting cur_best_trans - cur_gID = attributs[1] - cur_best_trans = [str(), 100, 0] - - # raises an error for unidentifyable entrys - else: - raise ValueError("This entry could not be identified\n", entry) - - # addding the final gene to the dictionary - if cur_gID not in rep_trans: - rep_trans[cur_gID] = cur_best_trans - else: - if rep_trans[cur_gID][1] > cur_best_trans[1]: - rep_trans[cur_gID] = cur_best_trans - elif ( - rep_trans[cur_gID][1] == cur_best_trans[1] - and rep_trans[cur_gID][2] < cur_best_trans[2] - ): - rep_trans[cur_gID] = cur_best_trans - - del rep_trans[""] - rep_transcripts = _re_format(rep_trans) - return rep_transcripts - - -def _test(): - """ - This funtion is ment to be run for test - Output: - file with the dictionary generated based on the test file - """ - file_name = "test.gtf" - rt = get_rep_trans(file_name) - expected_result = { - "ENSG00000160072": "ENST00000472194", - "ENSG00000234396": "ENST00000442483", - "ENSG00000225972": "ENST00000416931", - "ENSG00000224315": "ENST00000428803", - "ENSG00000198744": "ENST00000416718", - "ENSG00000279928": "ENST00000624431", - "ENSG00000228037": "ENST00000424215", - "ENSG00000142611": "ENST00000378391", - } - if rt != expected_result: - print("The test fail due to not yieding the same results") - print("The results the program got\n", rt) - print("The expected results\n", expected_result) - else: - print("The test was succses full") - - -def gtf_file_writer(original_file, rep_transcript_dict, output_file): - """ - this function writes the output GTF file - """ - output = [] - - with open(original_file, "r") as f: - for line in f: - entry = line.split("\t") - if line[0] != "#": - attributes = attributs_converter(entry[8]) - type_ = entry[2] - else: - continue - if type_ == "gene": - gene_id = find_in_attributs(attributes, "gene_id") - output.append(line) - else: - transcript_id = find_in_attributs(attributes, "transcript_id") - if rep_transcript_dict[gene_id] == transcript_id: - output.append(line) - - with open(output_file, "w") as last_file: - for item in output: - last_file.write(item) - - -def gtf_to_df(gtf_file: str) -> pd.DataFrame: - """ - This function take a .gtf file and convert it into a - dataframe containing gene_id and their transcripts_id. - Args: - gtf_file (str) : path to the .gtf file - - Returns: - df_gtf (pd.DataFrame) : pandas dataframe containing columns - gene_id and their transcripts_id. - Raises : - None - - """ - df_gtf = read_gtf(gtf_file) - df_gtf = df_gtf.loc[df_gtf["feature"] == "transcript"] - df_gtf = df_gtf[["gene_id", "transcript_id"]] - df_gtf = df_gtf.rename(columns={"gene_id": "Gene", "transcript_id": "Transcript"}) - return df_gtf - - -def dict_reprTrans_to_df(dict_reprTrans: dict[str, str]) -> pd.DataFrame: - - """Convert a dictionary of genes and their representative transcript into a dataframe - - Args: - dict_reprTrans (dict) : {'Gene':['transcriptA', 'transcriptB'], ...} - - Returns: - Pandas dataframe having Gene and transcript as columns - - Raises: - Only dict are allowed - Key should be strings - Value should be strings - - """ - pass - if not type(dict_reprTrans) is dict: - raise TypeError("Only dict are allowed") - if type(list(dict_reprTrans.keys())[0]) is not str: - raise TypeError("Key should be strings") - if type(list(dict_reprTrans.values())[0]) is not str: - raise TypeError("Values should be strings") - - df_reprTrans = pd.DataFrame.from_dict( - dict_reprTrans, orient="index", columns=["reprTranscript"] - ) - df_reprTrans = df_reprTrans.reset_index(level=0) - df_reprTrans.columns = ["Gene", "reprTrans"] - df_reprTrans["reprTrans"] = df_reprTrans["reprTrans"].str.replace( - r"\.[1-9]", "", regex=True - ) - return df_reprTrans - - -def tsv_or_csv_to_df(input_txt: str) -> pd.DataFrame: - """Convert tsv or csv file into a pandas dataframe - - Args: - input_txt (str): csv or tsv file containing transcript expression level - - Returns: - df_gene (str): Pandas dataframe having transcript and expression level - as columns - - Raises: - None - """ - pass - df_input = pd.read_csv( - input_txt, - sep=r"[\t,]", - lineterminator="\n", - names=["Transcript", "Expression_level"], - engine="python", - ) - return df_input - - -def exprLevel_byGene( - df_exprTrasncript: pd.DataFrame, df_output_gtf_selection: pd.DataFrame -) -> pd.DataFrame: - """find the gene of each transcipt given by the expression level csv/tsv file, - and summ expression level of all transcipts from the same gene. - - Args: - df_exprTranscript : pandas Dataframe containing transcript and their expression level, - generated by "tsv_or_csv_to_df" function - df_output_gtf_selection : pandas Dataframe containing genes and transcripts, - generated by "transcripts_by_gene_inDf" function - - Returns: - Pandas dataframe having gene and sum of its transcript expression level - - Raises: - None - """ - pass - df_merged = pd.merge( - df_output_gtf_selection, df_exprTrasncript, how="inner", on="Transcript" - ) - df_sum = df_merged.groupby("Gene").sum("Expression_level") - return df_sum - - -def match_byGene( - df_reprTranscript: pd.DataFrame, df_expressionLevel_byGene: pd.DataFrame -) -> pd.DataFrame: - """Find matching genes bewteen the 2 args - - Args: - df_reprTranscript : pandas Dataframe containing genes - and their representative transcript, generated by - "dict_reprTrans_to_df()" - df_expressionLevel_byGene : pandas Dataframe containing - genes and their expression level generated by - "transcript_by_gene_inDf()" - - Returns: - Pandas dataframe having representative trasncripts - and their expression level - - Raises: - None - """ - pass - df_merged = pd.merge( - df_reprTranscript, df_expressionLevel_byGene, how="outer", on="Gene" - ) - df_clean = df_merged.dropna(axis=0) - df_clean = df_clean.loc[:, ["reprTrans", "Expression_level"]] - return df_clean - - -### functions to run this part of the programm - - -def match_reprTranscript_expressionLevel( - exprTrans: str, dict_reprTrans: dict, gtf_file: str, -): - """Combine functions to replace transcripts from an expression level csv/tsv file - with representative transcripts - - Args: - exprTrans (str): csv or tsv file containing transcripts - and their expression level - dict_reprTrans (dict) : dict of genes and their - representative transcipt - intemediate_file (str) : txt file containing genes, transcript - and their expression level from the transkript_extractor function - output_path : path indicating were the tsv file should be written - - Returns: - tsv file of representative trasncripts and their expression level - - Raises: - None - """ - df_gene_transcript = gtf_to_df(gtf_file) - df_exprTrans = tsv_or_csv_to_df(exprTrans) - df_reprTrans = dict_reprTrans_to_df(dict_reprTrans) - df_exprLevel_byGene = exprLevel_byGene(df_exprTrans, df_gene_transcript) - df_match = match_byGene(df_reprTrans, df_exprLevel_byGene) - df_match.rename( - columns={"reprTrans": "id", "Expression_level": "level"}, inplace=True - ) - return df_match - - -def transcript_sampling(total_transcript_number, df_repr, output_csv): - df = df_repr - levels = [] - sums = df["level"].tolist() - total = sum(sums) - total_transcript_number = int(total_transcript_number) - normalized = total_transcript_number / total - for expression_level in df["level"]: - poisson_sampled = np.random.poisson(expression_level * normalized) - levels.append(poisson_sampled) - - transcript_numbers = pd.DataFrame({"id": df["id"], "count": levels}) - pd.DataFrame.to_csv(transcript_numbers, output_csv) diff --git a/test/Test_representative_and_match/test_match.py b/test/Test_representative_and_match/test_match.py deleted file mode 100644 index c8b156c..0000000 --- a/test/Test_representative_and_match/test_match.py +++ /dev/null @@ -1,207 +0,0 @@ -import pandas as pd -import json -import re -import match_reprtranscript_expressionlevel as match -import os -import pytest -import test_Functions as tFun -import numpy as np -import representative as repr -from pandas.testing import assert_frame_equal - -def test_dict_reprTrans_to_df(): - """ - This function test if a dict of {gene: representativeTranscript} - is converted in a dataframe in the right format - """ - dict_repr_test = {"ENSMUSG00000079415":"ENSMUST00000112933", -"ENSMUSG00000024691" : "ENSMUST00000025595", -"ENSMUSG00000063683": "ENSMUST00000119960"} - dict_mixed = {"a":2, "b":3} - str_random = "jflkajflkaelfha" - dict_int = {12:34, 13:66} - df = match.dict_reprTrans_to_df(dict_repr_test) - datatype={'Gene': np.dtype('O'), 'reprTrans': np.dtype('O')} - - with pytest.raises(TypeError, match=r"Only dict are allowed"): - match.dict_reprTrans_to_df(str_random) - with pytest.raises(TypeError, match=r"Key should be strings"): - match.dict_reprTrans_to_df(dict_int) - with pytest.raises(TypeError, match=r"Values should be strings"): - match.dict_reprTrans_to_df(dict_mixed) - assert tFun.column_number(df)==2, "number of columns is not equal to 2" - assert tFun.column_dType(df)==datatype, "at least one column has the wrong datatype" - assert tFun.duplicated_rows(df).empty, "at least one row are duplicated " - assert tFun.NA_value(df) == 0, "at least one row contain NA values " - - -def test_txt_to_dict(): - path = tFun.find_path("test_dict_repr_trans.txt") - dico = match.txt_to_dict(path) - dict_test = {'ENSMUSG00000079415': 'ENSMUST00000112933', -"ENSMUSG00000024691" : "ENSMUST00000025595", -"ENSMUSG00000063683": "ENSMUST00000119960"} - assert dico == dict_test - -def test_transcripts_by_gene_inDf(): - """ - This function test if a dataframe generated from - the intermediate file is converted in another - dataframe without the support level column. - """ - path = tFun.find_path_intermediateFile() - df = repr.import_gtfSelection_to_df(path) - df_gene = match.transcripts_by_gene_inDf(df) - datatype={'Gene': np.dtype('O'), 'Transcript': np.dtype('O')} - assert tFun.column_number(df_gene)==2, "number of columns is not equal to 2" - assert tFun.column_dType(df_gene)==datatype, "at least one column has the wrong datatype" - assert tFun.duplicated_rows(df_gene).empty, "at least one row are duplicated " - assert tFun.NA_value(df_gene) == 0, "at least one row contain NA values " - - -def test_tsv_or_csv_to_df(): - """ - This function test if the function tsv_or_csv_to_df() cans take - csv and tsv file as input and return a pandas dataframe in the - right format - """ - path_tsv = tFun.find_path(r"test_gene_exprL") - df_tsv = match.tsv_or_csv_to_df(path_tsv) - path_csv = tFun.find_path(r"test_gene_exprL_csv.csv") - df_csv = match.tsv_or_csv_to_df(path_csv) - datatype ={'Transcript': np.dtype('O'), 'Expression_level': np.dtype('float64')} - assert tFun.column_number(df_tsv)==2, "number of columns is not equal to 2" - assert tFun.column_dType(df_tsv)==datatype, "at least one column has the wrong datatype" - assert tFun.duplicated_rows(df_tsv).empty, "at least one row are duplicated " - assert tFun.NA_value(df_tsv) == 0, "at least one row contain NA values " - assert_frame_equal(df_tsv, df_csv), "csv and tsv import doesn't match" - - -def test_exprLevel_byGene(): - """ - This function test if the function exprLevel_byGene can find the gene of - each transcipt given by the expression level csv/tsv file and sum their - expression level - """ - path_tsv = tFun.find_path(r"test_gene_exprL") - df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) - - path_intermediate = tFun.find_path_intermediateFile() - df_intermediate = repr.import_gtfSelection_to_df(path_intermediate) - df_gene_transcript = match.transcripts_by_gene_inDf(df_intermediate) - - df_exprLevel = match.exprLevel_byGene(df_tsv_exprL, df_gene_transcript) - - datatype ={'Expression_level': np.dtype('float64')} - assert tFun.column_number(df_exprLevel)==1, "number of columns is not equal to 1" - assert tFun.column_dType(df_exprLevel)==datatype, "at least one column has the wrong datatype" - assert tFun.duplicated_rows(df_exprLevel).empty, "at least one row are duplicated " - assert tFun.NA_value(df_exprLevel) == 0, "at least one row contain NA values " - assert tFun.duplicated_index(df_exprLevel).empty, "at least one index element is duplicated" - -def test_match_byGene(): - """ - This function test if the function "match_byGene()" can - create a pandas dataframe matching representative transcript - and their expression level based on their gene in the - correct pandas dataframe format. - """ - - - dict_repr_test = {'ENSMUSG00000079415': 'ENSMUST00000112933', -"ENSMUSG00000024691" : "ENSMUST00000025595", -"ENSMUSG00000063683": "ENSMUST00000119960"} - df_dict_reprTrans = match.dict_reprTrans_to_df(dict_repr_test) - - - path_tsv = tFun.find_path(r"test_gene_exprL") - df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) - path_intermediate = tFun.find_path_intermediateFile() - df_intermediate = repr.import_gtfSelection_to_df(path_intermediate) - df_gene_transcript = match.transcripts_by_gene_inDf(df_intermediate) - df_exprLevel = match.exprLevel_byGene(df_tsv_exprL, df_gene_transcript) - - df_match = match.match_byGene(df_dict_reprTrans, df_exprLevel) - datatype = {'reprTrans': np.dtype('O'), 'Expression_level': np.dtype('float64')} - - assert tFun.column_number(df_match)==2, "number of columns is not equal to 2" - assert tFun.column_dType(df_match)==datatype, "at least one column has the wrong datatype" - assert tFun.duplicated_rows(df_match).empty, "at least one row are duplicated " - assert tFun.NA_value(df_match) == 0, "at least one row contain NA values " - assert tFun.duplicated_index(df_match).empty, "at least one index element is duplicated" - -def test_output_tsv(): - """ - This function test if a tsv file is generated from a pandas - dataframe in the right format. - """ - - dict_repr_test = {'ENSMUSG00000079415': 'ENSMUST00000112933', -"ENSMUSG00000024691" : "ENSMUST00000025595", -"ENSMUSG00000063683": "ENSMUST00000119960"} - df_dict_reprTrans = match.dict_reprTrans_to_df(dict_repr_test) - - - path_tsv = tFun.find_path(r"test_gene_exprL") - df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) - path_intermediate = tFun.find_path_intermediateFile() - df_intermediate = repr.import_gtfSelection_to_df(path_intermediate) - df_gene_transcript = match.transcripts_by_gene_inDf(df_intermediate) - - df_exprLevel = match.exprLevel_byGene(df_tsv_exprL, df_gene_transcript) - - df_match = match.match_byGene(df_dict_reprTrans, df_exprLevel) - - match.output_tsv(df_match) - - ref_path=tFun.find_path("test_ref_output.tsv") - output_path = tFun.find_output() - - with open(ref_path, 'r') as t1, open(output_path, 'r') as t2: - fileRef = t1.readlines() - fileOutput = t2.readlines() - - - assert sorted(fileRef) == sorted(fileOutput), "the output does't match the expected tsv file" - - -def test_match_reprTranscript_expressionLevel(): - """ - This function test that the right output is generated by the function - match_reprTranscript_expressionLevel() - """ - input_path = tFun.find_path("test_gene_exprL") - intermediate_path = tFun.find_path_intermediateFile() - dict_repr_test = {'ENSMUSG00000079415': 'ENSMUST00000112933', -"ENSMUSG00000024691" : "ENSMUST00000025595", -"ENSMUSG00000063683": "ENSMUST00000119960"} - - match.match_reprTranscript_expressionLevel(input_path, dict_repr_test, intermediate_path) - - ref_path=tFun.find_path("test_ref_output.tsv") - output_path = tFun.find_output() - - - with open(ref_path, 'r') as t1,\ - open(output_path, 'r') as t2,\ - open(input_path, 'r') as t3 : - fileRef = t1.readlines() - fileOutput = t2.readlines() - fileInput = t3.readlines() - - assert sorted(fileRef) == sorted(fileOutput), "the output does't match the expected tsv file" - assert sorted(fileRef) != sorted(fileInput), "the output does't match the expected tsv file" - - - - -test_dict_reprTrans_to_df() -test_txt_to_dict() -test_transcripts_by_gene_inDf() -test_tsv_or_csv_to_df() -test_exprLevel_byGene() -test_match_byGene() -test_output_tsv() -test_match_reprTranscript_expressionLevel() - -print("test_match is done ! No error was found") diff --git a/test/.gitkeep b/tests/__init__.py similarity index 100% rename from test/.gitkeep rename to tests/__init__.py diff --git a/test/Test_representative_and_match/.gitkeep b/tests/inputs/.gitkeep similarity index 100% rename from test/Test_representative_and_match/.gitkeep rename to tests/inputs/.gitkeep diff --git a/test/Test_representative_and_match/inputs/test_dict_repr_trans.txt b/tests/inputs/test_dict_repr_trans.txt similarity index 100% rename from test/Test_representative_and_match/inputs/test_dict_repr_trans.txt rename to tests/inputs/test_dict_repr_trans.txt diff --git a/test/Test_representative_and_match/inputs/test_gencode.vM31.annotation_intermediat_file.txt b/tests/inputs/test_gencode.vM31.annotation_intermediat_file.txt similarity index 100% rename from test/Test_representative_and_match/inputs/test_gencode.vM31.annotation_intermediat_file.txt rename to tests/inputs/test_gencode.vM31.annotation_intermediat_file.txt diff --git a/test/Test_representative_and_match/inputs/test_gene_exprL b/tests/inputs/test_gene_exprL similarity index 100% rename from test/Test_representative_and_match/inputs/test_gene_exprL rename to tests/inputs/test_gene_exprL diff --git a/test/Test_representative_and_match/inputs/test_gene_exprL_csv.csv b/tests/inputs/test_gene_exprL_csv.csv similarity index 100% rename from test/Test_representative_and_match/inputs/test_gene_exprL_csv.csv rename to tests/inputs/test_gene_exprL_csv.csv diff --git a/test/Test_representative_and_match/inputs/test_ref_output.tsv b/tests/inputs/test_ref_output.tsv similarity index 100% rename from test/Test_representative_and_match/inputs/test_ref_output.tsv rename to tests/inputs/test_ref_output.tsv diff --git a/test/Test_representative_and_match/test_Functions.py b/tests/test_Functions.py similarity index 71% rename from test/Test_representative_and_match/test_Functions.py rename to tests/test_Functions.py index 72a120d..fe51484 100644 --- a/test/Test_representative_and_match/test_Functions.py +++ b/tests/test_Functions.py @@ -2,32 +2,34 @@ import pandas as pd import numpy as np import os -def find_path(filename:str)->str: + +def find_path(filename: str) -> str: """Find the path to a file Args: name of a file Returns: - str path of a file - + str path of a file + Raises: None """ absolute_path = os.path.dirname(__file__) - test_file = "inputs\\" + str(filename) + test_file = "inputs/" + str(filename) full_path = os.path.join(absolute_path, test_file) return full_path + def find_output(): - """Find the path of the output file + """Find the path of the output file Args: name of a file Returns: - str path of a file - + str path of a file + Raises: None """ @@ -37,7 +39,7 @@ def find_output(): return full_path -def find_path_intermediateFile()->str: +def find_path_intermediateFile() -> str: """Find the path to gencode.vM31.annotation_intermediat_file.txt Args: @@ -45,77 +47,82 @@ def find_path_intermediateFile()->str: Returns: str path of gencode.vM31.annotation_intermediat_file.txt - + Raises: None - """ + """ absolute_path = os.path.dirname(__file__) - test_file = r"inputs\test_gencode.vM31.annotation_intermediat_file.txt" + test_file = r"inputs/test_gencode.vM31.annotation_intermediat_file.txt" full_path = os.path.join(absolute_path, test_file) return full_path -def column_number(df :pd.DataFrame)-> int: - """Return the number of column of a df +def column_number(df: pd.DataFrame) -> int: + + """Return the number of column of a df Args: dataframe Returns: int - + Raises: None - """ + """ length = len(df.columns) return length -def column_dType(df : pd.DataFrame) -> dict[str,np.dtype]: - """Return the type of each column of a df in a dict + +def column_dType(df: pd.DataFrame) -> dict[str, np.dtype]: + """Return the type of each column of a df in a dict Args: Pandas dataframe Returns: dict{column:np.dtype()} - + Raises: None - """ - dtype=df.dtypes.to_dict() + """ + dtype = df.dtypes.to_dict() return dtype + def duplicated_rows(df: pd.DataFrame) -> pd.DataFrame: - """Return the sum of duplicated rows in a df + """Return the sum of duplicated rows in a df Args: Pandas dataframe Returns: int - + Raises: None - """ + """ df_dupl = df[df.duplicated()] return df_dupl + def duplicated_index(df: pd.DataFrame) -> pd.DataFrame: - """Return the sum of duplicated index in a df + """Return the sum of duplicated index in a df Args: Pandas dataframe Returns: int - + Raises: None - """ + """ df_dupl = df[df.index.duplicated()] return df_dupl -def NA_value(df: pd.DataFrame) -> int: + +def NA_value(df: pd.DataFrame) -> int: """Return the sum of NA values in a df Args: @@ -123,10 +130,9 @@ def NA_value(df: pd.DataFrame) -> int: Returns: int - + Raises: None - """ + """ nNA = df.isna().sum().sum() return nNA - diff --git a/tests/test_match_reptrans_explvl.py b/tests/test_match_reptrans_explvl.py new file mode 100644 index 0000000..8e1b52c --- /dev/null +++ b/tests/test_match_reptrans_explvl.py @@ -0,0 +1,260 @@ +"""Tests for match representative transcript with expression level""" +import pytest +import pandas as pd +import numpy as np +from pandas.testing import assert_frame_equal +import tests.test_Functions as tFun +from transcript_sampler.match_reptrans_explvl import MatchReptransExplvl as match + + +class TestMatchReptrans: + """Tests for match_reptrans_explvl.py""" + # def test_gtf_to_df(self): + # TO DO + + def test_dict_repr_trans_to_df(self): + """ + This function test if a dict of {gene: representativeTranscript} + is converted in a dataframe in the right format + """ + dict_repr_test = { + "ENSMUSG00000079415": "ENSMUST00000112933", + "ENSMUSG00000024691": "ENSMUST00000025595", + "ENSMUSG00000063683": "ENSMUST00000119960"} + dict_mixed = {"a": 2, "b": 3} + str_random = "jflkajflkaelfha" + dict_int = {12: 34, 13: 66} + data_frame = match.dict_repr_trans_to_df(dict_repr_test) + datatype = {'Gene': np.dtype('O'), 'reprTrans': np.dtype('O')} + + with pytest.raises(TypeError, match=r"Only dictionaries are allowed"): + match.dict_repr_trans_to_df(str_random) + with pytest.raises(TypeError, match=r"Keys should be strings"): + match.dict_repr_trans_to_df(dict_int) + with pytest.raises(TypeError, match=r"Values should be strings"): + match.dict_repr_trans_to_df(dict_mixed) + + assert tFun.column_number(data_frame) == 2, \ + "number of columns not equal to 2" + assert tFun.column_dType(data_frame) == datatype, \ + "at least one column has the wrong datatype" + assert tFun.duplicated_rows(data_frame).empty, \ + "at least one row is duplicated" + assert tFun.NA_value(data_frame) == 0, \ + "at least one row contain NA values" + + def test_tsv_or_csv_to_df(self): + """ + This function test if the function tsv_or_csv_to_df() can take + csv and tsv file as input and return a pandas dataframe in the + right format + """ + path_tsv = tFun.find_path(r"test_gene_exprL") + df_tsv = match.tsv_or_csv_to_df(path_tsv) + path_csv = tFun.find_path(r"test_gene_exprL_csv.csv") + df_csv = match.tsv_or_csv_to_df(path_csv) + datatype = {'Transcript': np.dtype('O'), + 'Expression_level': np.dtype('float64')} + + assert tFun.column_number(df_tsv) == 2, \ + "number of columns is not equal to 2" + assert tFun.column_dType(df_tsv) == datatype, \ + "at least one column has the wrong datatype" + assert tFun.duplicated_rows(df_tsv).empty, \ + "at least one row are duplicated " + assert tFun.NA_value(df_tsv) == 0, \ + "at least one row contain NA values" + assert_frame_equal(df_tsv, df_csv), \ + "csv and tsv import doesn't match" + + def test_expr_level_by_gene(self): + """ + This function test if the function expr_level_by_gene can find + the gene of each transcipt given by the expression level csv/tsv + file and sum their expression level + """ + path_tsv = tFun.find_path(r"test_gene_exprL") + df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) + df_gene_transcript = pd.DataFrame( + {'Gene': ['ENSMUSG00000024691', 'ENSMUSG00000024691', + 'ENSMUSG00000024691', 'ENSMUSG00000024691', + 'ENSMUSG00000079415', 'ENSMUSG00000063683', + 'ENSMUSG00000063683', 'ENSMUSG00000063683', + 'ENSMUSG00000063683', 'ENSMUSG00000063683'], + 'Transcript': ['ENSMUST00000139270', 'ENSMUST00000151307', + 'ENSMUST00000144662', 'ENSMUST00000025595', + 'ENSMUST00000112933', 'ENSMUST000000449762', + 'ENSMUST00000155846', 'ENSMUST00000157069', + 'ENSMUST00000119960', 'ENSMUST00000123173']} + ) + + df_exprLevel = match.expr_level_by_gene( + df_tsv_exprL, df_gene_transcript + ) + datatype = {'Gene': np.dtype('O'), + 'Expression_level': np.dtype('float64')} + + assert tFun.column_number(df_exprLevel) == 2, \ + "number of columns is not equal to 2" + assert tFun.column_dType(df_exprLevel) == datatype, \ + "at least one column has the wrong datatype" + assert tFun.duplicated_rows(df_exprLevel).empty, \ + "at least one row are duplicated " + assert tFun.NA_value(df_exprLevel) == 0, \ + "at least one row contain NA values " + assert tFun.duplicated_index(df_exprLevel).empty, \ + "at least one index element is duplicated" + + def test_match_by_gene(self): + """ + This function test if the function "match_by_gene()" can + create a pandas dataframe matching representative transcript + and their expression level based on their gene in the + correct pandas dataframe format. + """ + + dict_repr_test = { + 'ENSMUSG00000079415': 'ENSMUST00000112933', + 'ENSMUSG00000024691': 'ENSMUST00000025595', + 'ENSMUSG00000063683': 'ENSMUST00000119960'} + df_dict_reprTrans = match.dict_repr_trans_to_df(dict_repr_test) + + path_tsv = tFun.find_path(r"test_gene_exprL") + df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) + df_gene_transcript = pd.DataFrame( + {'Gene': ['ENSMUSG00000024691', 'ENSMUSG00000024691', + 'ENSMUSG00000024691', 'ENSMUSG00000024691', + 'ENSMUSG00000079415', 'ENSMUSG00000063683', + 'ENSMUSG00000063683', 'ENSMUSG00000063683', + 'ENSMUSG00000063683', 'ENSMUSG00000063683'], + 'Transcript': ['ENSMUST00000139270', 'ENSMUST00000151307', + 'ENSMUST00000144662', 'ENSMUST00000025595', + 'ENSMUST00000112933', 'ENSMUST000000449762', + 'ENSMUST00000155846', 'ENSMUST00000157069', + 'ENSMUST00000119960', 'ENSMUST00000123173']} + ) + df_exprLevel = match.expr_level_by_gene( + df_tsv_exprL, df_gene_transcript) + + df_match = match.match_by_gene(df_dict_reprTrans, df_exprLevel) + datatype = { + 'reprTrans': np.dtype('O'), + 'Expression_level': np.dtype('float64')} + + assert tFun.column_number(df_match) == 2, \ + "number of columns is not equal to 2" + assert tFun.column_dType(df_match) == datatype, \ + "at least one column has the wrong datatype" + assert tFun.duplicated_rows(df_match).empty, \ + "at least one row are duplicated " + assert tFun.NA_value(df_match) == 0, \ + "at least one row contain NA values " + assert tFun.duplicated_index(df_match).empty, \ + "at least one index element is duplicated" + + def test_match_repr_transcript_expression_level(self): + """ + This function test that the right output is generated by the function + match_repr_transcript_expression_level() + """ + input_path = tFun.find_path("test_gene_exprL") + intermediate_path = tFun.find_path_intermediateFile() + dict_repr_test = { + 'ENSMUSG00000079415': 'ENSMUST00000112933', + "ENSMUSG00000024691": "ENSMUST00000025595", + "ENSMUSG00000063683": "ENSMUST00000119960"} + + match.match_repr_transcript_expression_level( + exprTrans=input_path, + dict_reprTrans=dict_repr_test, + gtf_file=intermediate_path) + + ref_path = tFun.find_path("test_ref_output.tsv") + output_path = tFun.find_output() + + with open(ref_path, 'r', encoding="utf-8") as t1,\ + open(output_path, 'r', encoding="utf-8") as t2,\ + open(input_path, 'r', encoding="utf-8") as t3: + fileRef = t1.readlines() + fileOutput = t2.readlines() + fileInput = t3.readlines() + + assert ( + sorted(fileRef) == sorted(fileOutput) + ), "the output does't match the expected tsv file" + assert ( + sorted(fileRef) != sorted(fileInput) + ), "the output does't match the expected tsv file" + + # def test_txt_to_dict(self): + # """This function tests if txt is convertod to dict""" + # path = tFun.find_path("test_dict_repr_trans.txt") + # dico = match.txt_to_dict(path) + # dict_test = {'ENSMUSG00000079415': 'ENSMUST00000112933', + # "ENSMUSG00000024691": "ENSMUST00000025595", + # "ENSMUSG00000063683": "ENSMUST00000119960"} + # assert dico == dict_test + + # def test_transcripts_by_gene_inDf(): + # """ + # This function test if a dataframe generated from + # the intermediate file is converted in another + # dataframe without the support level column. + # """ + # path = tFun.find_path_intermediateFile() + # df = repr.import_gtfSelection_to_df(path) + # df_gene = match.transcripts_by_gene_inDf(df) + # datatype = {'Gene': np.dtype('O'), 'Transcript': np.dtype('O')} + # assert tFun.column_number(df_gene) == ( + # 2, "number of columns is not equal to 2") + # assert tFun.column_dType(df_gene) == ( + # datatype, "at least one column has the wrong datatype") + # assert tFun.duplicated_rows(df_gene).empty, \ + # "at least one row are duplicated" + # assert tFun.NA_value(df_gene) == 0, "at least one row contain NA values" + + # def test_output_tsv(): + # """ + # This function test if a tsv file is generated from a pandas + # dataframe in the right format. + # """ + + # dict_repr_test = { + # 'ENSMUSG00000079415': 'ENSMUST00000112933', + # "ENSMUSG00000024691": "ENSMUST00000025595", + # "ENSMUSG00000063683": "ENSMUST00000119960"} + # df_dict_reprTrans = match.dict_repr_trans_to_df(dict_repr_test) + + # path_tsv = tFun.find_path(r"test_gene_exprL") + # df_tsv_exprL = match.tsv_or_csv_to_df(path_tsv) + # path_intermediate = tFun.find_path_intermediateFile() + # df_intermediate = repr.import_gtfSelection_to_df(path_intermediate) + # df_gene_transcript = match.transcripts_by_gene_inDf(df_intermediate) + + # df_exprLevel = match.expr_level_by_gene(df_tsv_exprL, df_gene_transcript) + + # df_match = match.match_by_gene(df_dict_reprTrans, df_exprLevel) + + # match.output_tsv(df_match) + + # ref_path = tFun.find_path("test_ref_output.tsv") + # output_path = tFun.find_output() + + # with open(ref_path, 'r') as t1, open(output_path, 'r') as t2: + # fileRef = t1.readlines() + # fileOutput = t2.readlines() + + # assert ( + # sorted(fileRef) == sorted(fileOutput) + # ), "the output does't match the expected tsv file" + +# test_dict_repr_trans_to_df() +# test_txt_to_dict() +# test_transcripts_by_gene_inDf() +# test_tsv_or_csv_to_df() +# test_expr_level_by_gene() +# test_match_by_gene() +# test_output_tsv() +# test_match_repr_transcript_expression_level() + +# print("test_match is done ! No error was found") diff --git a/test/Test_representative_and_match/test_representative.py b/tests/test_representative.py similarity index 58% rename from test/Test_representative_and_match/test_representative.py rename to tests/test_representative.py index 4d00097..4ee6778 100644 --- a/test/Test_representative_and_match/test_representative.py +++ b/tests/test_representative.py @@ -1,6 +1,4 @@ import pytest -import pandas as pd -import datatest as dt import representative as repr import numpy as np import test_Functions as tFun @@ -14,71 +12,82 @@ def test_import_gtfSelection_to_df(): None Returns: - Assert results - + Assert results + Raises: None """ path = tFun.find_path_intermediateFile() - df = repr.import_gtfSelection_to_df(path) - datatype={'Gene': np.dtype('O'), 'Transcript': np.dtype('O'), 'Support_level': np.dtype('float64')} - assert tFun.column_number(df)==3, "number of columns is not equal to 3" - assert tFun.column_dType(df)==datatype, "at lease one column has the wrong datatype" + df = repr.import_gtfSelection_to_df(path) + datatype = {'Gene': np.dtype('O'), 'Transcript': np.dtype('O'), + 'Support_level': np.dtype('float64')} + assert tFun.column_number(df) == ( + 3, "number of columns is not equal to 3") + assert tFun.column_dType(df) == ( + datatype, "at lease one column has the wrong datatype") assert tFun.duplicated_rows(df).empty, "at lease one row are duplicated " assert tFun.NA_value(df) == 0, "at lease one row contain NA values " with pytest.raises(TypeError, match=r"Only str path is allowed"): repr.import_gtfSelection_to_df(123) -def test_representative_transcript_inDict(): +def test_representative_transcript_inDict(): """ Test if df generated by "import_gtfSelection_to_df()" output - a dict in the right format + a dict in the right format Args: Pandas dataframe with [Gene, Transcript, Support_level] as columns, validated with test_import_gtfSelection_to_df() Returns: - Assert results - + Assert results + Raises: None """ path = tFun.find_path_intermediateFile() - df = repr.import_gtfSelection_to_df(path) + df = repr.import_gtfSelection_to_df(path) dict_to_test = repr.representative_transcripts_inDict(df) - dict_expected = {'ENSMUSG00000024691': ['ENSMUST00000025595.5'], - 'ENSMUSG00000063683': ['ENSMUST00000044976.12', 'ENSMUST00000119960.2'], - 'ENSMUSG00000079415': ['ENSMUST00000112933.2']} + dict_expected = { + 'ENSMUSG00000024691': ['ENSMUST00000025595.5'], + 'ENSMUSG00000063683': ['ENSMUST00000044976.12', + 'ENSMUST00000119960.2'], + 'ENSMUSG00000079415': ['ENSMUST00000112933.2']} assert dict_to_test == dict_expected with pytest.raises(TypeError, match=r"Only pandas DataFrame is allowed"): repr.representative_transcripts_inDict(123) with pytest.raises(TypeError, match=r"Only pandas DataFrame is allowed"): repr.representative_transcripts_inDict("hello") with pytest.raises(TypeError, match=r"Only pandas DataFrame is allowed"): - repr.representative_transcripts_inDict(["hello","world",123]) + repr.representative_transcripts_inDict(["hello", "world", 123]) with pytest.raises(TypeError, match=r"Only pandas DataFrame is allowed"): - repr.representative_transcripts_inDict({"hello":"world", "bonjour":["le monde", 123]}) + repr.representative_transcripts_inDict({"hello": "world", + "bonjour": ["le monde", 123]}) + def test_find_repr_by_SupportLevel(): """ - Test if the correct dict is generated from gencode.vM31.annotation_intermediat_file.txt + Test if the correct dict is generated from + gencode.vM31.annotation_intermediat_file.txt Args: - None + None Returns: - Assert results - + Assert results + Raises: None """ path = tFun.find_path_intermediateFile() dict_to_test = repr.find_repr_by_SupportLevel(path) - dict_expected = {'ENSMUSG00000024691': ['ENSMUST00000025595.5'], - 'ENSMUSG00000063683': ['ENSMUST00000044976.12', 'ENSMUST00000119960.2'], - 'ENSMUSG00000079415': ['ENSMUST00000112933.2']} + dict_expected = { + 'ENSMUSG00000024691': ['ENSMUST00000025595.5'], + 'ENSMUSG00000063683': ['ENSMUST00000044976.12', + 'ENSMUST00000119960.2'], + 'ENSMUSG00000079415': ['ENSMUST00000112933.2']} assert dict_to_test == dict_expected + test_representative_transcript_inDict() test_find_repr_by_SupportLevel() test_import_gtfSelection_to_df() diff --git a/test/Test_representative_and_match/inputs/.gitkeep b/transcript_sampler/__init__.py similarity index 100% rename from test/Test_representative_and_match/inputs/.gitkeep rename to transcript_sampler/__init__.py diff --git a/transcript_sampler/find_reptrans.py b/transcript_sampler/find_reptrans.py new file mode 100644 index 0000000..6025e29 --- /dev/null +++ b/transcript_sampler/find_reptrans.py @@ -0,0 +1,288 @@ +"""Find representative transcripts""" + +import logging + +LOG = logging.getLogger(__name__) + + +class FindRepTrans: + """Find representative transcripts.""" + + def __init__(self): + pass + + @staticmethod + def attributes_converter(attributes: str) -> list: + """ + This funtion converts the "unstructured" ;-seperated part of + the line into a list of identifiers and corresponding data, + the structure of which can be used ot find the data easily e.g + the index of the identifier transcript_id + 1 will give the + transcript id of the current gene. + Input: + attributes = str() # the unstructured part of the entry + Output: + attributes = list() # cleaned list with the \ + characteristics described above + """ + attributes = ( + attributes.replace('"', "") + .replace(";", "") + .replace("\\n", "") + .split(" ") + ) + return attributes + + @staticmethod + def find_in_attributes(attributes: list, look_for: str) -> str: + """ + This function finds a keyword and used that to locate the value of that + keyword e.g key = gene_id, value = 'ENSMUSG00002074970', + this works as they are next to each other in the attributes list. + Inputs: + attributes = list() + look_for = str() # string of the name of the key to look for + Output: + attributes[index] or NA = str() # NA is returned if the key + was not found in the attributes + """ + if look_for in attributes: + index = attributes.index(look_for) + 1 + return attributes[index] + else: + LOG.warning('No %s in the entry, the return was set to NA', + look_for) + return "NA" + + @staticmethod + def reformat_reptrans(rep_trans_dict: dict) -> dict: + """ + This function is meant to reformat dictionary of the representative + transcripts into an dictionary with only one entry per key + Input: + rep_trans_dict = {gene_id : [ + transcript_id, transcript_support_level, transcript_length]} + Output: + rep_transcripts = {gene_id : transcript_id} + """ + rep_transcripts = {} + for gene_id in rep_trans_dict: + rep_transcripts[gene_id] = rep_trans_dict[gene_id][0] + + return rep_transcripts + + def get_rep_trans(self, file_name: str) -> dict: + """ + This is the main function of this script. It selects one + representative transcript per gene based on a GTF annotation file. + It does so by two criteria: the transcript support level and if + there are several transcripts of one gene that have the same + transcript_support_level, it chooses the one that corresponds + to the longest mRNA. + + Args: + file_name (str): Name of the annotation file with or without + the .gtf extension. + + Returns: + rep_transcripts (dict): Dictionary of gene_id to transcript_id + representing the selected representative transcripts. + + Raises: + ValueError: If an unexpected entry is encountered in the GTF file. + """ + + # setting default variables + rep_transcripts = {} + cur_g_id = "" + # [transcript_id, transcript_support_level, transcript_length] + cur_best_trans = ["", 100, 0] + + with open(file_name, "r", encoding="utf-8") as file: + for line in file: + entry = line.split("\t") + + # removes expected but unneeded entries + if len(entry) == 1 or entry[2] in [ + "CDS", "stop_codon", + "five_prime_utr", "three_prime_utr", + "start_codon", "Selenocysteine" + ]: + continue + + # this function turns the less organized part of the entry + # into a readable list + attributes = self.attributes_converter(entry[8]) + + # looking for and processing exons entries + if entry[2] == "exon": + if cur_g_id != attributes[1]: + LOG.error() + raise ValueError("Exon from an unexpected gene") + elif ( + self.find_in_attributes( + attributes, "transcript_id" + ) != cur_tID + ): + LOG.error() + raise ValueError("Exon from an unexpected transcript") + + # adding the length of the exon to the appropriate list and + # checking for changes in best transcript + if pot_best_trans: + pot_best_trans[2] += int(entry[4]) - int(entry[3]) + if pot_best_trans[2] > cur_best_trans[2]: + cur_best_trans = pot_best_trans + pot_best_trans = False + else: + cur_best_trans[2] += int(entry[4]) - int(entry[3]) + + # looking for and processing transcript entries + elif entry[2] == "transcript": + # verify that the gen is correct + if cur_g_id != attributes[1]: + LOG.error() + raise ValueError("Transcript from an unexpected gene") + + # finding the transcript id and the support level + cur_tID = self.find_in_attributes( + attributes, "transcript_id" + ) + t_supp_lvl = self.find_in_attributes( + attributes, "transcript_support_level" + ) + + # If there is no transcript support level or the level is + # given as NA it is nomed as 100. else the transcript + # support level is turned into int + if t_supp_lvl == "NA": + t_supp_lvl = 100 + else: + if t_supp_lvl.isdigit(): + t_supp_lvl = int(t_supp_lvl) + else: + t_supp_lvl = 100 + + # decides if the transcript has potential to become the + # representative transcript + if t_supp_lvl < cur_best_trans[1] or cur_best_trans[0] == "": + cur_best_trans = [cur_tID, t_supp_lvl, 0] + pot_best_trans = False + ignor_trans = False + elif t_supp_lvl == cur_best_trans[1]: + pot_best_trans = [cur_tID, t_supp_lvl, 0] + else: + ignor_trans = True + + # looking for and processing gene entries + elif entry[2] == "gene": + # updating rep_transcripts dict + if cur_g_id in rep_transcripts: + if (rep_transcripts[cur_g_id][1] > cur_best_trans[1] + or (rep_transcripts[cur_g_id][1] == + cur_best_trans[1] + and rep_transcripts[cur_g_id][2] < + cur_best_trans[2])): + rep_transcripts[cur_g_id] = cur_best_trans + else: + rep_transcripts[cur_g_id] = cur_best_trans + + # updating cur_g_id and resetting cur_best_trans + cur_g_id = attributes[1] + cur_best_trans = ["", 100, 0] + + # raises an error for unidentifiable entries + else: + LOG.error() + raise ValueError("This entry could not be identified") + + # adding the final gene to the dictionary + if cur_g_id in rep_transcripts: + if (rep_transcripts[cur_g_id][1] > cur_best_trans[1] + or (rep_transcripts[cur_g_id][1] == cur_best_trans[1] + and rep_transcripts[cur_g_id][2] < cur_best_trans[2])): + rep_transcripts[cur_g_id] = cur_best_trans + else: + rep_transcripts[cur_g_id] = cur_best_trans + + del rep_transcripts[""] + rep_transcripts = self.reformat_reptrans(rep_transcripts) + return rep_transcripts + + def gtf_file_writer(self, original_file: str, + rep_transcript_dict: dict, output_file: str): + """ + This function writes the output GTF file. + """ + output = [] + + with open(original_file, "r", encoding="utf-8") as f: + for line in f: + if line.startswith("#"): + continue + + entry = line.split("\t") + attributes = self.attributes_converter(entry[8]) + feature_type = entry[2] + + if feature_type == "gene": + gene_id = self.find_in_attributes(attributes, "gene_id") + output.append(line) + else: + transcript_id = self.find_in_attributes( + attributes, "transcript_id" + ) + if gene_id in rep_transcript_dict and \ + rep_transcript_dict[gene_id] == transcript_id: + output.append(line) + + with open(output_file, "w", encoding="utf-8") as last_file: + last_file.writelines(output) + + +# def _test(): +# """ +# This funtion is meant to be run for test +# Output: +# file with the dictionary generated based on the test file +# """ +# file_name = "test.gtf" +# rt = get_rep_trans(file_name) +# expected_result = {"ENSG00000160072": "ENST00000472194", +# "ENSG00000234396": "ENST00000442483", +# "ENSG00000225972": "ENST00000416931", +# "ENSG00000224315": "ENST00000428803", +# "ENSG00000198744": "ENST00000416718", +# "ENSG00000279928": "ENST00000624431", +# "ENSG00000228037": "ENST00000424215", +# 'ENSG00000142611': 'ENST00000378391'} +# if rt != expected_result: +# print("The test failed due to not yielding the same results") +# print("The results the program got\n", rt) +# print("The expected results\n", expected_result) +# else: +# print("The test was successful") + + +# # Execution part # +# if __name__ == "__main__": +# parser = argparse.ArgumentParser( +# description="find_representativ_transcripts", +# formatter_class=argparse.ArgumentDefaultsHelpFormatter +# ) +# parser.add_argument("-file_name", required=True, +# help="gtf file with genome annotation") +# parser.add_argument("-t", required=False, default=False, +# help="to run the test input -t True") +# args = parser.parse_args() + +# # standadize the file_name inlude .gtf# +# file_name = args.file_name +# i_gtf = file_name.find(".gtf") +# if i_gtf == -1: +# file_name += ".gtf" + +# if args.t: +# _test() +# else: +# get_rep_trans(file_name) diff --git a/transcript_sampler/match_reptrans_explvl.py b/transcript_sampler/match_reptrans_explvl.py new file mode 100644 index 0000000..e6d7a9a --- /dev/null +++ b/transcript_sampler/match_reptrans_explvl.py @@ -0,0 +1,345 @@ +"""Match representative transcript with expression level""" +# Made by Hugo Gillet # + +import logging +import pandas as pd +from gtfparse import read_gtf + +LOG = logging.getLogger(__name__) + + +class MatchReptransExplvl: + """Match representative transcript with expression level""" + def __init__(self): + pass + + @staticmethod + def gtf_to_df(gtf_file: str) -> pd.DataFrame: + """ + This function takes a .gtf file and converts it into a pandas DataFrame + containing gene_id and their transcript_id. + + Args: + gtf_file (str): Path to the .gtf file. + + Returns: + df_gtf (pd.DataFrame): Pandas DataFrame containing columns + 'Gene' and 'Transcript'. + + Raises: + None + """ + df_gtf = read_gtf(gtf_file,).to_pandas() + df_gtf = df_gtf[df_gtf["feature"] == "transcript"] + df_gtf = df_gtf[["gene_id", "transcript_id"]] + df_gtf = df_gtf.rename(columns={ + "gene_id": "Gene", "transcript_id": "Transcript" + }) + return df_gtf + + @staticmethod + def dict_repr_trans_to_df(dict_reprTrans: "dict[str, str]") -> pd.DataFrame: + """ + Convert a dictionary of genes and their representative transcript into a DataFrame. + + Args: + dict_reprTrans (dict): {'Gene': ['transcriptA', 'transcriptB'], ...} + + Returns: + Pandas DataFrame with 'Gene' and 'Transcript' as columns. + + Raises: + TypeError: Only dictionaries are allowed. + TypeError: Keys should be strings. + TypeError: Values should be strings. + """ + if not isinstance(dict_reprTrans, dict): + LOG.error("Only dictionaries are allowed") + raise TypeError("Only dictionaries are allowed") + if not all(isinstance(key, str) for key in dict_reprTrans.keys()): + LOG.error("Keys should be strings") + raise TypeError("Keys should be strings") + if not all(isinstance(value, str) for value in dict_reprTrans.values()): + LOG.error("Values should be strings") + raise TypeError("Values should be strings") + + df_reprTrans = pd.DataFrame.from_dict(dict_reprTrans, orient="index", columns=["reprTranscript"]) + df_reprTrans = df_reprTrans.reset_index() + df_reprTrans.columns = ["Gene", "reprTrans"] + df_reprTrans["reprTrans"] = df_reprTrans["reprTrans"].str.replace(r"\.[1-9]", "", regex=True) + + return df_reprTrans + + @staticmethod + def tsv_or_csv_to_df(input_txt: str) -> pd.DataFrame: + """ + Convert a TSV or CSV file into a pandas DataFrame. + + Args: + input_txt (str): TSV or CSV file containing transcript expression levels. + + Returns: + df_gene (pd.DataFrame): Pandas DataFrame with 'Transcript' and 'Expression_level' as columns. + + Raises: + None + """ + df_input = pd.read_csv( + input_txt, + sep=r"[\t,]", + lineterminator="\n", + names=["Transcript", "Expression_level"], + engine="python", + ) + return df_input + + @staticmethod + def expr_level_by_gene( + df_exprTranscript: pd.DataFrame, df_output_gtf_selection: pd.DataFrame + ) -> pd.DataFrame: + """ + Find the gene of each transcript given by the expression level CSV/TSV file + and sum the expression level of all transcripts from the same gene. + + Args: + df_exprTranscript (pd.DataFrame): Pandas DataFrame containing transcripts and their expression levels, + generated by the "tsv_or_csv_to_df" function. + df_output_gtf_selection (pd.DataFrame): Pandas DataFrame containing genes and transcripts, + generated by the "transcripts_by_gene_inDf" function. + + Returns: + Pandas DataFrame having 'Gene' and sum of its transcript expression levels. + + Raises: + None + """ + df_merged = pd.merge(df_output_gtf_selection, df_exprTranscript, how="inner", on="Transcript") + df_sum = df_merged.groupby("Gene")["Expression_level"].sum().reset_index() + return df_sum + + @staticmethod + def match_by_gene( + df_reprTranscript: pd.DataFrame, df_expressionLevel_byGene: pd.DataFrame + ) -> pd.DataFrame: + """ + Find matching genes between the two DataFrames. + + Args: + df_reprTranscript (pd.DataFrame): Pandas DataFrame containing genes and their representative transcripts, + generated by the "dict_repr_trans_to_df()" function. + df_expressionLevel_byGene (pd.DataFrame): Pandas DataFrame containing genes and their expression levels, + generated by the "transcript_by_gene_inDf()" function. + + Returns: + Pandas DataFrame having representative transcripts and their expression levels. + + Raises: + None + """ + df_merged = pd.merge(df_reprTranscript, df_expressionLevel_byGene, how="inner", on="Gene") + df_clean = df_merged.loc[:, ["reprTrans", "Expression_level"]] + return df_clean + + def match_repr_transcript_expression_level( + self, exprTrans: str, dict_reprTrans: dict, gtf_file: str, + ): + """ + Combine functions to replace transcripts from an expression level CSV/TSV file with representative transcripts. + + Args: + exprTrans (str): CSV or TSV file containing transcripts and their expression level. + dict_reprTrans (dict): Dictionary of genes and their representative transcripts. + gtf_file (str): Path to the GTF file. + + Returns: + Pandas DataFrame of representative transcripts and their expression level. + + Raises: + None + """ + df_gene_transcript = self.gtf_to_df(gtf_file) + df_exprTrans = self.tsv_or_csv_to_df(exprTrans) + df_reprTrans = self.dict_repr_trans_to_df(dict_reprTrans) + df_expr_level_by_gene = self.expr_level_by_gene(df_exprTrans, df_gene_transcript) + df_match = self.match_by_gene(df_reprTrans, df_expr_level_by_gene) + df_match.rename(columns={"reprTrans": "id", "Expression_level": "level"}, inplace=True) + return df_match + + + +# def dict_repr_trans_to_df(dict_reprTrans: "dict[str, str]") -> pd.DataFrame: + +# """Convert a dictionary of genes and their representative +# transcript into a dataframe + +# Args: +# dict_reprTrans (dict): {'Gene':['transcriptA', 'transcriptB'], ...} + +# Returns: +# Pandas dataframe having Gene and transcript as columns + +# Raises: +# Only dict are allowed +# Key should be strings +# Value should be strings + +# """ +# pass +# if not type(dict_reprTrans) is dict: +# raise TypeError("Only dict are allowed") +# if type(list(dict_reprTrans.keys())[0]) is not str: +# raise TypeError("Key should be strings") +# if type(list(dict_reprTrans.values())[0]) is not str: +# raise TypeError("Values should be strings") + +# df_reprTrans = pd.DataFrame.from_dict( +# dict_reprTrans, orient="index", columns=["reprTranscript"] +# ) +# df_reprTrans = df_reprTrans.reset_index(level=0) +# df_reprTrans.columns = ["Gene", "reprTrans"] +# df_reprTrans["reprTrans"] = df_reprTrans["reprTrans"].str.replace( +# r"\.[1-9]", "", regex=True +# ) +# return df_reprTrans + + +# def gene_and_transcript(gtf_file: str) -> pd.DataFrame: +# """ +# This function take a .gtf file and convert it into a +# dataframe containing gene_id and their transcripts_id. +# Args: +# gtf_file(str) : path to the .gtf file + +# Returns: +# df_gtf(pd.DataFrame): pandas df containing having has columns +# gene_id and their transcripts_id. +# Raises: +# None +# """ +# df_gtf = read_gtf(gtf_file) +# df_gtf = df_gtf.loc[df_gtf["feature"] == "transcript"] +# df_gtf = df_gtf[["gene_id", "transcript_id"]] +# df_gtf = df_gtf.rename(columns={"gene_id": "Gene", +# "transcript_id": "Transcript"}) +# return df_gtf + + +# def tsv_or_csv_to_df(input_txt: str) -> pd.DataFrame: +# """Convert tsv or csv file into a pandas dataframe + +# Args: +# input_txt (str): csv or tsv file containing transcript exp level + +# Returns: +# df_gene (str): Pandas dataframe having transcript and exp level +# as columns + +# Raises: +# None +# """ +# pass +# df_input = pd.read_csv( +# input_txt, +# sep=r"[\t,]", +# lineterminator="\n", +# names=["Transcript", "Expression_level"], +# engine="python", +# ) +# return df_input + + +# def expr_level_by_gene( +# df_exprTrasncript: pd.DataFrame, df_output_gtf_selection: pd.DataFrame +# ) -> pd.DataFrame: +# """find the gene of each transcipt given by the expression level csv/tsv +# file, and summ expression level of all transcipts from the same gene. + +# Args: +# df_exprTranscript: pandas df containing transcript and +# their exp level generated by "tsv_or_csv_to_df" function +# df_output_gtf_selection : pandas df containing genes and +# transcripts, generated by "transcripts_by_gene_inDf" function + +# Returns: +# Pandas dataframe having gene and sum of its transcript exp level + +# Raises: +# None +# """ +# pass +# df_merged = pd.merge( +# df_output_gtf_selection, df_exprTrasncript, +# how="inner", on="Transcript" +# ) +# df_sum = df_merged.groupby("Gene").sum( +# "Expression_level" +# ) +# return df_sum + + +# def match_by_gene( +# df_reprTranscript: pd.DataFrame, df_expressionLevel_byGene: pd.DataFrame +# ) -> pd.DataFrame: +# """Find matching genes bewteen the 2 args + +# Args: +# df_reprTranscript : pandas Dataframe containing genes +# and their representative transcript, generated by +# "dict_repr_trans_to_df()" +# df_expressionLevel_byGene : pandas Dataframe containing +# genes and their expression level generated by +# "transcript_by_gene_inDf()" + +# Returns: +# Pandas dataframe having representative trasncripts +# and their expression level + +# Raises: +# None +# """ +# pass +# df_merged = pd.merge( +# df_reprTranscript, df_expressionLevel_byGene, how="outer", on="Gene" +# ) +# df_clean = df_merged.dropna(axis=0) +# df_clean = df_clean.loc[:, ["reprTrans", "Expression_level"]] +# return df_clean + + +# # functions to run this part of the programm +# def match_repr_transcript_expression_level( +# exprTrans: str, dict_reprTrans: dict, gtf_file: str, +# ): +# """Combine functions to replace transcripts from an exp level csv/tsv file +# with representative transcripts + +# Args: +# exprTrans (str): csv or tsv file containing transcripts +# and their expression level +# dict_reprTrans (dict) : dict of genes and their +# representative transcipt +# intemediate_file (str) : txt file containing genes, transcript +# and their expression level from the transkript_extractor function +# output_path : path indicating were the tsv file should be written + +# Returns: +# tsv file of representative trasncripts and their expression level + +# Raises: +# None +# """ +# df_gene_transcript = gene_and_transcript(gtf_file) +# df_exprTrans = tsv_or_csv_to_df(exprTrans) +# df_reprTrans = dict_repr_trans_to_df(dict_reprTrans) +# df_expr_level_by_gene = expr_level_by_gene( +# df_exprTrans, df_gene_transcript +# ) # error here +# df_match = match_by_gene(df_reprTrans, df_expr_level_by_gene) +# df_match.rename(columns={'reprTrans': 'id', 'Expression_level': 'level'}, +# inplace=True) +# return df_match + + +# # run the program +# if __name__ == "__main__": +# match_repr_transcript_expression_level() diff --git a/transcript_sampler/new_exe.py b/transcript_sampler/new_exe.py new file mode 100644 index 0000000..d96f613 --- /dev/null +++ b/transcript_sampler/new_exe.py @@ -0,0 +1,78 @@ +"""This module executes the transcript_sampler""" +import argparse +import time +import logging +logging.basicConfig( + format='[%(asctime)s: %(levelname)s] %(message)s (module "%(module)s")', + level=logging.INFO, + ) +from find_reptrans import FindRepTrans # pylint: disable=E0401,C0413 +from match_reptrans_explvl import MatchReptransExplvl # pylint: disable=E0401,C0413 +from poisson_sampling import SampleTranscript # pylint: disable=E0401,C0413 + +find_rep_trans = FindRepTrans() +match_reptrs_explvl = MatchReptransExplvl() +poisson_sample = SampleTranscript() + +LOG = logging.getLogger(__name__) + + +def exe(input_gtf, input_csv, output_gtf, output_csv, transcript_nr): + """Execute transcript sampler.""" + start = time.time() + LOG.info("Started transcript sampler...") + dict_repr_trans = find_rep_trans.get_rep_trans(input_gtf) + df_repr = match_reptrs_explvl.match_repr_transcript_expression_level( + dict_reprTrans=dict_repr_trans, exprTrans=input_csv, gtf_file=input_gtf + ) + LOG.info( + "Finding match between representative transcripts \ + and expression level file" + ) + LOG.info("Poisson sampling of transcripts") + poisson_sample.transcript_sampling(transcript_nr, df_repr, output_csv) + LOG.info("Output CSV file ready") + + LOG.info("Writing output GTF file") + find_rep_trans.gtf_file_writer(input_gtf, dict_repr_trans, output_gtf) + + end = time.time() + LOG.info("Script executed in %s sec", (end - start)) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Transcript sampler", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument( + "--input_gtf", required=True, + help="GTF file with genome annotation" + ) + parser.add_argument( + "--input_csv", required=True, + help="CSV or TSV file with transcripts and their expression level" + ) + parser.add_argument( + "--output_gtf", required=True, + help="Output path for the new GTF file of representative transcripts" + ) + parser.add_argument( + "--output_csv", required=True, + help="Output path for the new CSV file of representative transcripts \ + and their sampled number" + ) + parser.add_argument( + "--n_to_sample", required=True, + help="Total number of transcripts to sample" + ) + args = parser.parse_args() + print(args) + + exe( + args.input_gtf, + args.input_csv, + args.output_gtf, + args.output_csv, + args.n_to_sample, + ) diff --git a/transcript_sampler/poisson_sampling.py b/transcript_sampler/poisson_sampling.py new file mode 100644 index 0000000..6c586ac --- /dev/null +++ b/transcript_sampler/poisson_sampling.py @@ -0,0 +1,75 @@ +"""Sample transcripts by Poisson-sampling""" + +import pandas as pd +import numpy as np + + +class SampleTranscript: + ''' + Sample transcript + + This part of the code does Poisson sampling proportionally + to gene expression levels for each gene. + + input: total transcript number (int) + csv file with gene id and gene expression levels + (columns named 'id' and 'level') + + output: csv file with gene id and count + gtf file with transcript samples + ''' + @staticmethod + def transcript_sampling(total_transcript_number, df_repr, output_csv): + """Samples transcript based on Poisson-sampling""" + total = df_repr["level"].sum() + total_transcript_number = int(total_transcript_number) + normalized = total_transcript_number / total + levels = np.random.poisson(df_repr["level"] * normalized) + transcript_numbers = pd.DataFrame({ + "id": df_repr["id"], "count": levels + }) + transcript_numbers.to_csv(output_csv, index=False) + + +# python_version = "3.7.13" +# module_list = [pd, np, argparse] +# modul_name_list = ["pd", "np", "argparse"] + +# def transcript_sampling(total_transcript_number, df_repr, output_csv): +# # df = pd.read_csv( +# # csv_file, sep="\t", lineterminator="\n", names=["id", "level"]) +# # the function match_reprTranscript_expressionLevel() now outputs a df +# df = df_repr +# levels = [] +# sums = df['level'].tolist() +# total = sum(sums) +# # I added this because writting a number in the terminal inputed a string +# total_transcript_number = int(total_transcript_number) +# normalized = total_transcript_number/total +# for expression_level in df['level']: +# poisson_sampled = np.random.poisson(expression_level*normalized) +# levels.append(poisson_sampled) + +# transcript_numbers = pd.DataFrame({'id': df['id'], 'count': levels}) +# pd.DataFrame.to_csv(transcript_numbers, output_csv) + + +# if __name__ == '__main__': +# # te.version_control(module_list,modul_name_list,python_version) +# parser = argparse.ArgumentParser( +# description="Transcript Poisson sampler, csv output", +# formatter_class=argparse.ArgumentDefaultsHelpFormatter +# ) + +# parser.add_argument("--expression_level", required=True, +# help="csv file with expression level") +# parser.add_argument("--output_csv", required=True, +# help="output csv file") +# parser.add_argument("--input_csv", required=True, +# help="input csv file") +# parser.add_argument("--transcript_number", required=True, +# help="total number of transcripts to sample") +# args = parser.parse_args() + +# transcript_sampling(args.transcript_number, args.input_csv, +# args.output_csv, args.transcript_number) diff --git a/scripts/transcript_sampler.ipynb b/transcript_sampler/transcript_sampler_org.ipynb similarity index 100% rename from scripts/transcript_sampler.ipynb rename to transcript_sampler/transcript_sampler_org.ipynb diff --git a/transcript_sampler/transcript_sampler_org.py b/transcript_sampler/transcript_sampler_org.py new file mode 100644 index 0000000..923cbf8 --- /dev/null +++ b/transcript_sampler/transcript_sampler_org.py @@ -0,0 +1,400 @@ +import pandas as pd +import numpy as np +import logging +from gtfparse import read_gtf + +LOG = logging.getLogger(__name__) + +def attributes_converter(attributes: str) -> list: + """ + This funtion converts the "unstructured" ;-seperated part of he line into + a list of identifiers and corresponding data, the structure of + which can be used ot find the data easily e.g the index of the identifier + transcript_id + 1 will give the transcript id of the current gene + Input: + attributes = str() # the unstructured part of the entry + Output: + attributes = list() # cleaned list with the characteristics described + """ + attributes = ( + attributes.replace('"', "") + .replace(";", "") + .replace("\\n", "") + .split(" ") + ) + return attributes + + +def find_in_attributes(attributes: list, look_for: str) -> str: + """ + This function finds a keyword and used that to locate the value of that + keyword e.g key = gene_id, value = 'ENSMUSG00002074970', + this works as they are next to each other in the attributes list. + Inputs: + attributes = list() + look_for = str() # string of the name of the key to look for + Output: + attributes[index] or NA = str() # NA is returned if the key + was not found in the attributes + """ + if look_for in attributes: + index = attributes.index(look_for) + 1 + return attributes[index] + else: + LOG.warning(f'No {look_for} in the entry, the return was set to NA') + return "NA" + + +def _re_format(rep_trans_dict: dict) -> dict: + """ + This function is meant to reformat dictionary of the representative + transcripts into an dictionary with only one entry per key + Input: + rep_trans_dict = {gene_id : [ + transcript_id, transcript_support_level, transcript_length]} + Output: + rep_transcripts = {gene_id : transcript_id} + """ + rep_transcripts = dict() + for gene_id in rep_trans_dict: + rep_transcripts[gene_id] = rep_trans_dict[gene_id][0] + + return rep_transcripts + + +def get_rep_trans(file_name: str = "test.gtf") -> dict: + """ + This is the main function of this script. It selects one representative transcript per gene based on a GTF annotation file. + It does so by two criteria: the transcript support level and if there are several transcripts of one gene that have the same transcript_support_level, it chooses the one that corresponds to the longest mRNA. + + Args: + file_name (str): Name of the annotation file with or without the .gtf extension. + + Returns: + rep_transcripts (dict): Dictionary of gene_id to transcript_id representing the selected representative transcripts. + + Raises: + ValueError: If an unexpected entry is encountered in the GTF file. + """ + + # setting default variables + rep_transcripts = {} + cur_gID = "" + cur_best_trans = ["", 100, 0] # [transcript_id, transcript_support_level, transcript_length] + + with open(file_name, "r") as f: + for line in f: + entry = line.split("\t") + + # removes expected but unneeded entries + if len(entry) == 1 or entry[2] in [ + "CDS", + "stop_codon", + "five_prime_utr", + "three_prime_utr", + "start_codon", + "Selenocysteine" + ]: + continue + + # this function turns the less organized part of the entry + # into a readable list + attributes = attributes_converter(entry[8]) + + # looking for and processing exons entries + if entry[2] == "exon": + if ignor_trans: + continue + elif cur_gID != attributes[1]: + LOG.error() + raise ValueError("Exon from an unexpected gene") + elif find_in_attributes(attributes, "transcript_id") != cur_tID: + LOG.error() + raise ValueError("Exon from an unexpected transcript") + + # adding the length of the exon to the appropriate list and + # checking for changes in best transcript + if pot_best_trans: + pot_best_trans[2] += int(entry[4]) - int(entry[3]) + if pot_best_trans[2] > cur_best_trans[2]: + cur_best_trans = pot_best_trans + pot_best_trans = False + else: + cur_best_trans[2] += int(entry[4]) - int(entry[3]) + + # looking for and processing transcript entries + elif entry[2] == "transcript": + # verify that the gen is correct + if cur_gID != attributes[1]: + LOG.error() + raise ValueError("Transcript from an unexpected gene") + + # finding the transcript id and the support level + cur_tID = find_in_attributes(attributes, "transcript_id") + t_supp_lvl = find_in_attributes(attributes, "transcript_support_level") + + # If there is no transcript support level or the level is + # given as NA it is nomed as 100. else the transcript + # support level is turned into int + if t_supp_lvl == "NA": + t_supp_lvl = 100 + else: + if t_supp_lvl.isdigit(): + t_supp_lvl = int(t_supp_lvl) + else: + t_supp_lvl = 100 + + # decides if the transcript has potential to become the + # representative transcript + if t_supp_lvl < cur_best_trans[1] or cur_best_trans[0] == "": + cur_best_trans = [cur_tID, t_supp_lvl, 0] + pot_best_trans = False + ignor_trans = False + elif t_supp_lvl == cur_best_trans[1]: + pot_best_trans = [cur_tID, t_supp_lvl, 0] + else: + ignor_trans = True + + # looking for and processing gene entries + elif entry[2] == "gene": + # updating rep_transcripts dict + if cur_gID in rep_transcripts: + if rep_transcripts[cur_gID][1] > cur_best_trans[1] or (rep_transcripts[cur_gID][1] == cur_best_trans[1] and rep_transcripts[cur_gID][2] < cur_best_trans[2]): + rep_transcripts[cur_gID] = cur_best_trans + else: + rep_transcripts[cur_gID] = cur_best_trans + + # updating cur_gID and resetting cur_best_trans + cur_gID = attributes[1] + cur_best_trans = ["", 100, 0] + + # raises an error for unidentifiable entries + else: + LOG.error() + raise ValueError("This entry could not be identified") + + # adding the final gene to the dictionary + if cur_gID in rep_transcripts: + if rep_transcripts[cur_gID][1] > cur_best_trans[1] or (rep_transcripts[cur_gID][1] == cur_best_trans[1] and rep_transcripts[cur_gID][2] < cur_best_trans[2]): + rep_transcripts[cur_gID] = cur_best_trans + else: + rep_transcripts[cur_gID] = cur_best_trans + + del rep_transcripts[""] + rep_transcripts = _re_format(rep_transcripts) + return rep_transcripts + + +def _test(): + """ + This funtion is meant to be run for test + Output: + file with the dictionary generated based on the test file + """ + file_name = "test.gtf" + rt = get_rep_trans(file_name) + expected_result = { + "ENSG00000160072": "ENST00000472194", + "ENSG00000234396": "ENST00000442483", + "ENSG00000225972": "ENST00000416931", + "ENSG00000224315": "ENST00000428803", + "ENSG00000198744": "ENST00000416718", + "ENSG00000279928": "ENST00000624431", + "ENSG00000228037": "ENST00000424215", + "ENSG00000142611": "ENST00000378391", + } + if rt != expected_result: + print("The test fail due to not yieding the same results") + print("The results the program got\n", rt) + print("The expected results\n", expected_result) + else: + print("The test was succsesfull") + + +def gtf_file_writer(original_file: str, rep_transcript_dict: dict, output_file: str): + """ + This function writes the output GTF file. + """ + output = [] + + with open(original_file, "r") as f: + for line in f: + if line.startswith("#"): + continue + + entry = line.split("\t") + attributes = attributes_converter(entry[8]) + feature_type = entry[2] + + if feature_type == "gene": + gene_id = find_in_attributes(attributes, "gene_id") + output.append(line) + else: + transcript_id = find_in_attributes(attributes, "transcript_id") + if gene_id in rep_transcript_dict and rep_transcript_dict[gene_id] == transcript_id: + output.append(line) + + with open(output_file, "w") as last_file: + last_file.writelines(output) + + +def gtf_to_df(gtf_file: str) -> pd.DataFrame: + """ + This function takes a .gtf file and converts it into a pandas DataFrame + containing gene_id and their transcript_id. + + Args: + gtf_file (str): Path to the .gtf file. + + Returns: + df_gtf (pd.DataFrame): Pandas DataFrame containing columns 'Gene' and 'Transcript'. + + Raises: + None + """ + df_gtf = read_gtf(gtf_file,).to_pandas() + df_gtf = df_gtf[df_gtf["feature"] == "transcript"] + df_gtf = df_gtf[["gene_id", "transcript_id"]] + df_gtf = df_gtf.rename(columns={"gene_id": "Gene", "transcript_id": "Transcript"}) + return df_gtf + + +def dict_reprTrans_to_df(dict_reprTrans: "dict[str, str]") -> pd.DataFrame: + """ + Convert a dictionary of genes and their representative transcript into a DataFrame. + + Args: + dict_reprTrans (dict): {'Gene': ['transcriptA', 'transcriptB'], ...} + + Returns: + Pandas DataFrame with 'Gene' and 'Transcript' as columns. + + Raises: + TypeError: Only dictionaries are allowed. + TypeError: Keys should be strings. + TypeError: Values should be strings. + """ + if not isinstance(dict_reprTrans, dict): + LOG.error() + raise TypeError("Only dictionaries are allowed") + if not all(isinstance(key, str) for key in dict_reprTrans.keys()): + LOG.error() + raise TypeError("Keys should be strings") + if not all(isinstance(value, str) for value in dict_reprTrans.values()): + LOG.error() + raise TypeError("Values should be strings") + + df_reprTrans = pd.DataFrame.from_dict(dict_reprTrans, orient="index", columns=["reprTranscript"]) + df_reprTrans = df_reprTrans.reset_index() + df_reprTrans.columns = ["Gene", "reprTrans"] + df_reprTrans["reprTrans"] = df_reprTrans["reprTrans"].str.replace(r"\.[1-9]", "", regex=True) + + return df_reprTrans + + +def tsv_or_csv_to_df(input_txt: str) -> pd.DataFrame: + """ + Convert a TSV or CSV file into a pandas DataFrame. + + Args: + input_txt (str): TSV or CSV file containing transcript expression levels. + + Returns: + df_gene (pd.DataFrame): Pandas DataFrame with 'Transcript' and 'Expression_level' as columns. + + Raises: + None + """ + df_input = pd.read_csv( + input_txt, + sep=r"[\t,]", + lineterminator="\n", + names=["Transcript", "Expression_level"], + engine="python", + ) + return df_input + + +def exprLevel_byGene( + df_exprTranscript: pd.DataFrame, df_output_gtf_selection: pd.DataFrame +) -> pd.DataFrame: + """ + Find the gene of each transcript given by the expression level CSV/TSV file + and sum the expression level of all transcripts from the same gene. + + Args: + df_exprTranscript (pd.DataFrame): Pandas DataFrame containing transcripts and their expression levels, + generated by the "tsv_or_csv_to_df" function. + df_output_gtf_selection (pd.DataFrame): Pandas DataFrame containing genes and transcripts, + generated by the "transcripts_by_gene_inDf" function. + + Returns: + Pandas DataFrame having 'Gene' and sum of its transcript expression levels. + + Raises: + None + """ + df_merged = pd.merge(df_output_gtf_selection, df_exprTranscript, how="inner", on="Transcript") + df_sum = df_merged.groupby("Gene")["Expression_level"].sum().reset_index() + return df_sum + + +def match_byGene( + df_reprTranscript: pd.DataFrame, df_expressionLevel_byGene: pd.DataFrame +) -> pd.DataFrame: + """ + Find matching genes between the two DataFrames. + + Args: + df_reprTranscript (pd.DataFrame): Pandas DataFrame containing genes and their representative transcripts, + generated by the "dict_reprTrans_to_df()" function. + df_expressionLevel_byGene (pd.DataFrame): Pandas DataFrame containing genes and their expression levels, + generated by the "transcript_by_gene_inDf()" function. + + Returns: + Pandas DataFrame having representative transcripts and their expression levels. + + Raises: + None + """ + df_merged = pd.merge(df_reprTranscript, df_expressionLevel_byGene, how="inner", on="Gene") + df_clean = df_merged.loc[:, ["reprTrans", "Expression_level"]] + return df_clean + + +# functions to run this part of the program + + +def match_reprTranscript_expressionLevel( + exprTrans: str, dict_reprTrans: dict, gtf_file: str, +): + """ + Combine functions to replace transcripts from an expression level CSV/TSV file with representative transcripts. + + Args: + exprTrans (str): CSV or TSV file containing transcripts and their expression level. + dict_reprTrans (dict): Dictionary of genes and their representative transcripts. + gtf_file (str): Path to the GTF file. + + Returns: + Pandas DataFrame of representative transcripts and their expression level. + + Raises: + None + """ + df_gene_transcript = gtf_to_df(gtf_file) + df_exprTrans = tsv_or_csv_to_df(exprTrans) + df_reprTrans = dict_reprTrans_to_df(dict_reprTrans) + df_exprLevel_byGene = exprLevel_byGene(df_exprTrans, df_gene_transcript) + df_match = match_byGene(df_reprTrans, df_exprLevel_byGene) + df_match.rename(columns={"reprTrans": "id", "Expression_level": "level"}, inplace=True) + return df_match + + +def transcript_sampling(total_transcript_number, df_repr, output_csv): + total = df_repr["level"].sum() + total_transcript_number = int(total_transcript_number) + normalized = total_transcript_number / total + levels = np.random.poisson(df_repr["level"] * normalized) + transcript_numbers = pd.DataFrame({"id": df_repr["id"], "count": levels}) + transcript_numbers.to_csv(output_csv, index=False) -- GitLab