Skip to content

Commit 4df75ce

Browse files
Merge pull request #3296 from qiita-spots/revert-3295-fix-3275
Revert "fix-3275"
2 parents 160955e + 467829e commit 4df75ce

File tree

3 files changed

+5
-54
lines changed

3 files changed

+5
-54
lines changed

qiita_pet/handlers/admin_processing_job.py

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from qiita_db.exceptions import QiitaDBUnknownIDError
1818

1919
from json import dumps
20-
from collections import Counter
2120

2221

2322
class AdminProcessingJobBaseClass(BaseHandler):
@@ -110,43 +109,21 @@ def post(self):
110109
# Get user-inputted qiita id and sample names
111110
qid = self.get_argument("qid")
112111
snames = self.get_argument("snames").split()
113-
error, matching, missing, extra, blank, duplicates = [None]*6
112+
error, matching, missing, extra, blank = [None]*5
114113

115114
# Stripping leading qiita id from sample names
116115
# Example: 1.SKB1.640202 -> SKB1.640202
117116
try:
118-
st = Study(qid).sample_template
119-
qsnames = list(st)
117+
qsnames = list(Study(qid).sample_template)
120118
except TypeError:
121119
error = f'Study {qid} seems to have no sample template'
122120
except QiitaDBUnknownIDError:
123121
error = f'Study {qid} does not exist'
124122

125123
if error is None:
126-
# if tube_id is present then this should take precedence in qsnames
127-
tube_ids = dict()
128-
if "tube_id" in st.categories:
129-
for k, v in st.get_category("tube_id").items():
130-
# ignoring empty values
131-
if v in (None, 'None', ''):
132-
continue
133-
if k.startswith(qid):
134-
k = k.replace(f'{qid}.', "", 1)
135-
tube_ids[k] = v
136-
137124
for i, qsname in enumerate(qsnames):
138125
if qsname.startswith(qid):
139-
qsname = qsname.replace(f'{qid}.', "", 1)
140-
if qsname in tube_ids:
141-
nname = f'{qsname}, tube_id: {tube_ids[qsname]}'
142-
snames = [s if s != tube_ids[qsname] else nname
143-
for s in snames]
144-
qsname = nname
145-
qsnames[i] = qsname
146-
147-
# Finds duplicates in the samples
148-
seen = Counter(snames)
149-
duplicates = [f'{s} \u00D7 {seen[s]}' for s in seen if seen[s] > 1]
126+
qsnames[i] = qsname.replace(f'{qid}.', "", 1)
150127

151128
# Remove blank samples from sample names
152129
blank = [x for x in snames if x.lower().startswith('blank')]
@@ -160,5 +137,4 @@ def post(self):
160137
extra = snames.difference(qsnames)
161138

162139
self.render("sample_validation.html", input=False, matching=matching,
163-
missing=missing, extra=extra, blank=blank,
164-
duplicates=duplicates, error=error)
140+
missing=missing, extra=extra, blank=blank, error=error)

qiita_pet/templates/sample_validation.html

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<style>
44
.column {
55
float: left;
6-
width: 20%;
6+
width: 25%;
77
}
88

99
.row:after {
@@ -53,14 +53,6 @@ <h2>Blank</h2>
5353
{% end %}
5454
</ul>
5555
</div>
56-
<div class="column">
57-
<h2>Duplicates</h2>
58-
<ul>
59-
{% for sample in duplicates %}
60-
<li>{{ sample }}</li>
61-
{% end %}
62-
</ul>
63-
</div>
6456
<div class="column">
6557
<h2>Extra</h2>
6658
<ul>

qiita_pet/test/test_admin_processing_job_handlers.py

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,8 @@
1010
from json import loads
1111

1212
from mock import Mock
13-
import pandas as pd
1413

1514
from qiita_db.user import User
16-
from qiita_db.metadata_template.sample_template import SampleTemplate as ST
1715
from qiita_pet.handlers.base_handlers import BaseHandler
1816
from qiita_pet.test.tornado_test_base import TestHandlerBase
1917

@@ -65,21 +63,6 @@ def test_post(self):
6563
for name in snames:
6664
self.assertIn(name, body)
6765

68-
# Check succes with tube_id
69-
md_dict = {'SKB1.640202': {'tube_id': '12345'}}
70-
md_ext = pd.DataFrame.from_dict(md_dict, orient='index', dtype=str)
71-
ST(1).extend(md_ext)
72-
post_args = {
73-
'qid': 1,
74-
'snames': '12345 SKB2.640194 BLANK.1A BLANK.1B'
75-
}
76-
response = self.post('/admin/sample_validation/', post_args)
77-
self.assertEqual(response.code, 200)
78-
snames = ['SKB2.640194', 'SKB1.640202, tube_id: 12345']
79-
body = response.body.decode('ascii')
80-
for name in snames:
81-
self.assertIn(name, body)
82-
8366
# Check failure: invalid qiita id
8467
post_args = {
8568
'qid': 2,

0 commit comments

Comments
 (0)