hiyata commited on
Commit
a61f4be
·
verified ·
1 Parent(s): 2243c0c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -6
app.py CHANGED
@@ -30,7 +30,7 @@ class VirusClassifier(nn.Module):
30
  def forward(self, x):
31
  return self.network(x)
32
 
33
- def sequence_to_kmer_vector(sequence: str, k: int = 4) -> np.ndarray:
34
  """Convert sequence to k-mer frequency vector"""
35
  try:
36
  kmers = [''.join(p) for p in product("ACGT", repeat=k)]
@@ -46,11 +46,9 @@ def sequence_to_kmer_vector(sequence: str, k: int = 4) -> np.ndarray:
46
  logger.error(f"Error in sequence_to_kmer_vector: {str(e)}")
47
  raise
48
 
49
- def parse_fasta(file_obj) -> list:
50
- """Parse FASTA format from file object"""
51
  try:
52
- # Read the content from the file object
53
- content = file_obj.decode('utf-8')
54
  logger.info(f"Received file content length: {len(content)}")
55
 
56
  sequences = []
@@ -86,6 +84,9 @@ def predict_sequence(file_obj) -> str:
86
  if file_obj is None:
87
  return "Please upload a FASTA file"
88
 
 
 
 
89
  device = 'cuda' if torch.cuda.is_available() else 'cpu'
90
  logger.info(f"Using device: {device}")
91
  k = 4
@@ -103,7 +104,7 @@ def predict_sequence(file_obj) -> str:
103
 
104
  # Process sequences
105
  try:
106
- sequences = parse_fasta(file_obj)
107
  except Exception as e:
108
  logger.error(f"Error parsing FASTA file: {str(e)}")
109
  return f"Error parsing FASTA file: {str(e)}"
 
30
  def forward(self, x):
31
  return self.network(x)
32
 
33
+ def sequence_to_kmer_vector(sequence: str, k: int = 6) -> np.ndarray:
34
  """Convert sequence to k-mer frequency vector"""
35
  try:
36
  kmers = [''.join(p) for p in product("ACGT", repeat=k)]
 
46
  logger.error(f"Error in sequence_to_kmer_vector: {str(e)}")
47
  raise
48
 
49
+ def parse_fasta(content: str) -> list:
50
+ """Parse FASTA format from string content"""
51
  try:
 
 
52
  logger.info(f"Received file content length: {len(content)}")
53
 
54
  sequences = []
 
84
  if file_obj is None:
85
  return "Please upload a FASTA file"
86
 
87
+ # Read the file content
88
+ content = file_obj.read().decode('utf-8')
89
+
90
  device = 'cuda' if torch.cuda.is_available() else 'cpu'
91
  logger.info(f"Using device: {device}")
92
  k = 4
 
104
 
105
  # Process sequences
106
  try:
107
+ sequences = parse_fasta(content)
108
  except Exception as e:
109
  logger.error(f"Error parsing FASTA file: {str(e)}")
110
  return f"Error parsing FASTA file: {str(e)}"