Skip to content

Commit

Permalink
Minor improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
Jumitti committed Oct 10, 2024
1 parent 0c81d64 commit a35c0a0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 24 deletions.
12 changes: 5 additions & 7 deletions navigation/aio.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,13 +178,11 @@ def aio_page():
# Species
st.markdown("🔹 :blue[**Step 1.2**] Species of gene names and sliced variants:")
col1, col2, col3 = st.columns(3)
species = col1.selectbox("🔹 :blue[**Step 1.2**] Select species of gene names:",
["Human", "Mouse", "Rat", "Drosophila", "Zebrafish"], index=0,
label_visibility='collapsed')

all_variants = col2.toggle('All variant')

gr = col3.selectbox("Genome", ["Current", "Previous"], index=0, help="For human Current is GRCh38 and Previous is GRCh37 for example")
gr = col1.selectbox("Genome:", ["Current", "Previous"], index=0, help='Example for Homo sapiens:\n\n"Current" is GRCh38\n\n"Previous" is GRCh37')
species = col2.selectbox("Species:", ["Human", "Mouse", "Rat", "Drosophila", "Zebrafish"], index=0)
col3.markdown("")
col3.markdown("")
all_variants = col3.toggle(label='All variants')

# Upstream/Downstream Promoter
st.markdown("🔹 :blue[**Step 1.3**] Regulatory region:")
Expand Down
29 changes: 12 additions & 17 deletions tfinder/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
from sklearn.preprocessing import StandardScaler
from tqdm import tqdm


headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
Expand Down Expand Up @@ -128,10 +127,10 @@ def find_sequences(self):
result_promoter = f'Please verify {self.gene_id} variant'
return result_promoter
else:
variant, gene_name, title, chraccver, chrstart, chrstop, species_API = NCBIdna.get_variant_info(entrez_id,
self.gene_id)
variant, gene_name, title, chraccver, chrstart, chrstop, species_API = NCBIdna.get_variant_info(
entrez_id,
self.gene_id)
else:
variant = '0'
if self.gene_id.isdigit():
entrez_id = self.gene_id

Expand All @@ -141,7 +140,8 @@ def find_sequences(self):
return entrez_id, message

if not self.all_slice_forms:
variant, gene_name, title, chraccver, chrstart, chrstop, species_API, message = NCBIdna.get_gene_info(entrez_id, self.gr, gene_name_error=self.gene_id)
variant, gene_name, title, chraccver, chrstart, chrstop, species_API, message = NCBIdna.get_gene_info(
entrez_id, self.gr, gene_name_error=self.gene_id)
if variant == "Error 200":
return variant, message

Expand All @@ -163,20 +163,13 @@ def find_sequences(self):
return result_window, "OK"

if not self.all_slice_forms or self.all_slice_forms and self.gene_id.startswith(
'XM_') or self.gene_id.startswith('NM_') or self.gene_id.startswith(
'XR_') or self.gene_id.startswith('NR_'):
'XM_') or self.gene_id.startswith('NM_') or self.gene_id.startswith('XR_') or self.gene_id.startswith('NR_'):
dna_sequence = NCBIdna.get_dna_sequence(prom_term, upstream, downstream, chraccver, chrstart, chrstop)

if prom_term == 'promoter':
if variant != '0':
dna_sequence = f">{variant} {gene_name} | {title} {chraccver} | {self.prom_term} | TSS (on chromosome): {chrstart + 1} | TSS (on sequence): {self.upstream}\n{dna_sequence}\n"
else:
dna_sequence = f">{gene_name} | {title} {chraccver} | {self.prom_term} | TSS (on chromosome): {chrstart + 1} | TSS (on sequence): {self.upstream}\n{dna_sequence}\n"
dna_sequence = f">{variant} {gene_name} | {title} {chraccver} | {self.prom_term} | TSS (on chromosome): {chrstart + 1} | TSS (on sequence): {self.upstream}\n{dna_sequence}\n"
else:
if variant != '0':
dna_sequence = f">{variant} {gene_name} | {species_API} | {title} {chraccver} | {self.prom_term} | Gene end (on chromosome): {chrstop} | Gene end (on sequence): {self.upstream}\n{dna_sequence}\n"
else:
dna_sequence = f">{gene_name} | {species_API} | {title} {chraccver} | {self.prom_term} | Gene end (on chromosome): {chrstop} | Gene end (on sequence): {self.upstream}\n{dna_sequence}\n"
dna_sequence = f">{variant} {gene_name} | {title} {chraccver} | {self.prom_term} | Gene end (on chromosome): {chrstop} | Gene end (on sequence): {self.upstream}\n{dna_sequence}\n"

return dna_sequence, "OK"

Expand Down Expand Up @@ -545,7 +538,8 @@ def all_variant(entrez_id, from_id=False):
if len(all_variants) > 0:
return all_variants, f"Transcript(s) found(s) for {entrez_id}: {all_variants}"
else:
gene_name, title, chraccver, chrstart, chrstop, species_API, message = NCBIdna.get_gene_info(entrez_id, from_id=False)
gene_name, title, chraccver, chrstart, chrstop, species_API, message = NCBIdna.get_gene_info(
entrez_id, from_id=False)
if gene_name == "Error 200":
all_variants.append(("Error 200", None, None, None, None, None))
return "Error 200", f"Transcript not found(s) for {entrez_id}."
Expand Down Expand Up @@ -702,7 +696,8 @@ def is_dna(dna_sequence):

@staticmethod
# Find with JASPAR and manual matrix
def individual_motif_finder(dna_sequences, threshold, matrix, progress_bar=None, calc_pvalue=None, tss_ge_distance=None, alldirection=None):
def individual_motif_finder(dna_sequences, threshold, matrix, progress_bar=None, calc_pvalue=None,
tss_ge_distance=None, alldirection=None):
if calc_pvalue is not None:
if calc_pvalue not in ["ATGCPreset", "ATGCProportion"]:
raise ValueError("Use 'ATGCPreset' or 'ATGCProportion'")
Expand Down

0 comments on commit a35c0a0

Please sign in to comment.