Skip to content

Commit 4a325e7

Browse files
authored
FASTA_preprocessed allowed files prefixed by sample_names (#48)
* ci changes * FASTA_preprocessed by sample_names * fix test
1 parent 508d124 commit 4a325e7

File tree

4 files changed

+69
-28
lines changed

4 files changed

+69
-28
lines changed

.github/workflows/qiita-plugin-ci.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
on:
44
push:
5-
branches: [ dev ]
5+
branches: [dev]
66
pull_request:
77

88
jobs:
@@ -70,7 +70,7 @@ jobs:
7070
shell: bash -l {0}
7171
run: |
7272
conda activate qiita
73-
pip install qiita-dev/ --no-binary redbiom
73+
pip --quiet install qiita-dev/ --no-binary redbiom
7474
mkdir ~/.qiita_plugins
7575
7676
- name: Install plugins
@@ -80,17 +80,17 @@ jobs:
8080
conda create -q --yes -n qtp-sequencing python=3.9 pip pigz quast fqtools
8181
conda activate qtp-sequencing
8282
83-
export QIITA_SERVER_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
83+
export QIITA_ROOTCA_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
8484
export QIITA_CONFIG_FP=`pwd`/qiita-dev/qiita_core/support_files/config_test_local.cfg
8585
pip install -U pip
8686
pip install .
87-
configure_qtp_sequencing --env-script "source /home/runner/.profile; conda activate qtp-sequencing" --server-cert $QIITA_SERVER_CERT
87+
configure_qtp_sequencing --env-script "source /home/runner/.profile; conda activate qtp-sequencing" --ca-cert $QIITA_ROOTCA_CERT
8888
8989
- name: Starting services
9090
shell: bash -l {0}
9191
run: |
9292
conda activate qiita
93-
export QIITA_SERVER_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
93+
export QIITA_ROOTCA_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
9494
export QIITA_CONFIG_FP=`pwd`/qiita-dev/qiita_core/support_files/config_test_local.cfg
9595
sed "s#/home/runner/work/qiita/qiita#${PWD}/qiita-dev/#g" `pwd`/qiita-dev/qiita_core/support_files/config_test.cfg > ${QIITA_CONFIG_FP}
9696
@@ -123,7 +123,7 @@ jobs:
123123
COVER_PACKAGE: ${{ matrix.cover_package }}
124124
run: |
125125
conda activate qtp-sequencing
126-
export QIITA_SERVER_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
126+
export QIITA_ROOTCA_CERT=`pwd`/qiita-dev/qiita_core/support_files/ci_rootca.crt
127127
export QIITA_CONFIG_FP=`pwd`/qiita-dev/qiita_core/support_files/config_test_local.cfg
128128
129129
nosetests --with-doctest --with-coverage -v --cover-package=qtp_sequencing
@@ -135,21 +135,21 @@ jobs:
135135
136136
- uses: codecov/codecov-action@v1
137137
with:
138-
token: ${{ secrets.CODECOV_TOKEN }}
139-
file: codecov.yml
138+
token: ${{ secrets.CODECOV_TOKEN }}
139+
file: codecov.yml
140140

141141
lint:
142142
runs-on: ubuntu-latest
143143
steps:
144-
- name: flake8
145-
uses: actions/setup-python@v2
146-
with:
147-
python-version: 3.9
148-
- name: install dependencies
149-
run: python -m pip install --upgrade pip
150-
- name: Check out repository code
151-
uses: actions/checkout@v2
152-
- name: lint
153-
run: |
154-
pip install -q flake8
155-
flake8 qtp_sequencing setup.py scripts/*
144+
- name: flake8
145+
uses: actions/setup-python@v2
146+
with:
147+
python-version: 3.9
148+
- name: install dependencies
149+
run: python -m pip install --upgrade pip
150+
- name: Check out repository code
151+
uses: actions/checkout@v2
152+
- name: lint
153+
run: |
154+
pip install -q flake8
155+
flake8 qtp_sequencing setup.py scripts/*

qtp_sequencing/tests/test_validate.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -728,6 +728,33 @@ def test_validate_FASTA_preprocessed(self):
728728
exp = [ArtifactInfo(None, atype, files)]
729729
self.assertEqual(obs_ainfo, exp)
730730

731+
def test_validate_FASTA_preprocessed_samplename(self):
732+
prep_info = {"1.SKB2.640194": {"run_prefix": "s1"},
733+
"1.SKM4.640180": {"run_prefix": "s2"},
734+
"1.SKB3.640195": {"run_prefix": "s3"},
735+
"1.SKB6.640176": {"run_prefix": "s4"}}
736+
737+
files = {'preprocessed_fasta': [
738+
'/path/to/1.SKB2.640194.fna', '/path/to/1.SKM4.640180.fna',
739+
'/path/to/1.SKB3.640195.fna', '/path/to/1.SKB6.640176.fna']}
740+
741+
out_dir = mkdtemp()
742+
self._clean_up_files.append(out_dir)
743+
744+
atype = 'FASTA_preprocessed'
745+
job_id, _ = self._create_template_and_job(prep_info, files, atype)
746+
obs_success, obs_ainfo, obs_error = _validate_multiple(
747+
self.qclient, job_id, prep_info, files, atype, True)
748+
self.assertEqual(obs_error, "")
749+
self.assertTrue(obs_success)
750+
751+
files = [('/path/to/1.SKB2.640194.fna.gz', 'preprocessed_fasta'),
752+
('/path/to/1.SKM4.640180.fna.gz', 'preprocessed_fasta'),
753+
('/path/to/1.SKB3.640195.fna.gz', 'preprocessed_fasta'),
754+
('/path/to/1.SKB6.640176.fna.gz', 'preprocessed_fasta')]
755+
exp = [ArtifactInfo(None, atype, files)]
756+
self.assertEqual(obs_ainfo, exp)
757+
731758

732759
FASTQ_SEQS = """@{s1}_1 orig_bc=abc new_bc=abc bc_diffs=0
733760
xyz

qtp_sequencing/validate.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ def _validate_multiple(qclient, job_id, prep_info, files, atype, test=False):
128128
# the run_prefix column
129129
run_prefixes = set(v['run_prefix'] for k, v in prep_info.items())
130130
num_prefixes = len(run_prefixes)
131+
sample_names = prep_info.keys()
131132

132133
# Check those filepath types that are required
133134
for ftype, t_files in files.items():
@@ -150,9 +151,22 @@ def _validate_multiple(qclient, job_id, prep_info, files, atype, test=False):
150151
else:
151152
fps.append(bn)
152153
if fps:
153-
offending[ftype] = (
154-
"The provided files do not match the run prefix "
155-
"values in the prep information: %s" % ', '.join(fps))
154+
# let's check by sample_name
155+
fps_rp = fps
156+
rps, fps = [], []
157+
for fp in t_files:
158+
bn = basename(fp)
159+
found = [sn for sn in sample_names
160+
if bn.startswith(sn)]
161+
if found:
162+
rps.extend(found)
163+
else:
164+
fps.append(bn)
165+
if fps:
166+
offending[ftype] = (
167+
"The provided files do not match the run prefix "
168+
"values in the prep information: %s" % ', '.join(
169+
fps_rp))
156170
else:
157171
rps = run_prefixes - set(rps)
158172
if rps:

scripts/configure_qtp_sequencing

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ from qtp_sequencing import plugin
1616
@click.command()
1717
@click.option('--env-script', prompt='Environment script',
1818
default='conda activate qtp-sequencing')
19-
@click.option('--server-cert', prompt='Server certificate', default='None')
20-
def config(env_script, server_cert):
19+
@click.option('--ca-cert', prompt='Server certificate', default='None')
20+
def config(env_script, ca_cert):
2121
"""Generates the Qiita configuration files"""
22-
if server_cert == 'None':
23-
server_cert = None
22+
if ca_cert == 'None':
23+
ca_cert = None
2424
plugin.generate_config(env_script, 'start_qtp_sequencing',
25-
server_cert=server_cert)
25+
ca_cert)
2626

2727

2828
if __name__ == '__main__':

0 commit comments

Comments
 (0)