Jayesh13 commited on
Commit
0f05186
·
verified ·
1 Parent(s): 0cfb879

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -22
app.py CHANGED
@@ -1,4 +1,3 @@
1
- import streamlit as st
2
  import requests
3
 
4
  def get_genome_from_ncbi(accession_number):
@@ -9,7 +8,7 @@ def get_genome_from_ncbi(accession_number):
9
  if response.status_code == 200:
10
  return response.text
11
  else:
12
- st.error("Failed to retrieve genome. Please check the accession number.")
13
  return None
14
 
15
  def extract_sequences(genome_data):
@@ -24,26 +23,36 @@ def extract_sequences(genome_data):
24
  return start_sequence, end_sequence
25
 
26
  def main():
27
- st.title("Download Genome from NCBI")
28
- st.write("Enter the accession number to download the corresponding genome.")
29
-
30
- accession_number = st.text_input("Accession Number")
31
-
32
- if st.button("Get Genome"):
33
- if accession_number:
34
- genome_data = get_genome_from_ncbi(accession_number)
35
- if genome_data:
36
- start_sequence, end_sequence = extract_sequences(genome_data)
37
-
38
- # Display the sequences
39
- st.text_area("Starting 55 Base Pairs", start_sequence, height=50)
40
- st.text_area("Ending 114 Base Pairs", end_sequence, height=100)
41
-
42
- # Prepare content for download
43
- download_content = f"Starting 55 Base Pairs:\n{start_sequence}\n\nEnding 114 Base Pairs:\n{end_sequence}\n"
44
- st.download_button("Download Sequences", download_content, file_name=f"{accession_number}_sequences.txt", mime="text/plain")
45
- else:
46
- st.warning("Please enter an accession number.")
 
 
 
 
 
 
 
 
 
 
47
 
48
  if __name__ == "__main__":
49
  main()
 
 
1
  import requests
2
 
3
  def get_genome_from_ncbi(accession_number):
 
8
  if response.status_code == 200:
9
  return response.text
10
  else:
11
+ print(f"Failed to retrieve genome for {accession_number}. Please check the accession number.")
12
  return None
13
 
14
  def extract_sequences(genome_data):
 
23
  return start_sequence, end_sequence
24
 
25
  def main():
26
+ # Read accession numbers from a text file
27
+ input_file = "accession_numbers.txt" # Input file containing accession numbers
28
+ output_start_file = "starting_sequences.txt" # Output file for starting 55 base pairs
29
+ output_end_file = "ending_sequences.txt" # Output file for ending 114 base pairs
30
+
31
+ with open(input_file, 'r') as file:
32
+ accession_numbers = file.read().splitlines() # Read lines into a list
33
+
34
+ # Prepare lists to store sequences
35
+ starting_sequences = []
36
+ ending_sequences = []
37
+
38
+ for accession_number in accession_numbers:
39
+ genome_data = get_genome_from_ncbi(accession_number)
40
+ if genome_data:
41
+ start_sequence, end_sequence = extract_sequences(genome_data)
42
+ starting_sequences.append(f"{accession_number}: {start_sequence}")
43
+ ending_sequences.append(f"{accession_number}: {end_sequence}")
44
+
45
+ # Write starting sequences to file
46
+ with open(output_start_file, 'w') as file:
47
+ for seq in starting_sequences:
48
+ file.write(seq + '\n')
49
+
50
+ # Write ending sequences to file
51
+ with open(output_end_file, 'w') as file:
52
+ for seq in ending_sequences:
53
+ file.write(seq + '\n')
54
+
55
+ print(f"Sequences extracted and saved to {output_start_file} and {output_end_file}.")
56
 
57
  if __name__ == "__main__":
58
  main()