-
Notifications
You must be signed in to change notification settings - Fork 1
/
SConstruct
56 lines (48 loc) · 2.42 KB
/
SConstruct
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#! /usr/bin/env python
# -*- coding: utf-8 -*-
'''
generate output plots for CD1b-GMM paper
'''
from __future__ import print_function
import os
import sys
# import sconsutils
from warnings import warn
from SCons.Script import Environment, AddOption
# sconsutils
# Set up SCons environment
environ = os.environ.copy()
env = Environment(ENV=environ)
# Add bin dir to PATH
env.PrependENVPath('PATH', 'bin')
# download TCRdist resources
tcrdist_setup = env.Command(['bin/tcrdist/datasets',
'bin/tcrdist/db',
'bin/tcrdist/external',
'bin/tcrdist/testing_ref'],
None,
'cd bin/tcrdist && python setup.py')
# download/unzip Adaptive tsv and TCRdist NN-distantce data
immuneaccess_link = 'https://s3-us-west-2.amazonaws.com/publishedproject-supplements/seshadri-2018-journalofimmunology/seshadri-2018-journalofimmunology-data.tar.gz'
data = env.Command('data/',
None,
'mkdir data && wget {} -O data.tar.gz && tar -zxvf data.tar.gz && rm data.tar.gz'.format(immuneaccess_link))
# manifold embedding for CD1b-GMM tetramer sorted sequences
embed_TRA = env.Command('output/embed_TRA.pdf',
data,
'python bin/embed.py --out $TARGET --Vmap $SOURCE/Adaptive/Vmap.tsv $SOURCE/Adaptive/tetramer_sorts/CS*Tetramer+_TCRAD.tsv')
embed_TRB = env.Command('output/embed_TRB.pdf',
data,
'python bin/embed.py --out $TARGET --Vmap $SOURCE/Adaptive/Vmap.tsv $SOURCE/Adaptive/tetramer_sorts/CS*Tetramer+.tsv')
env.Depends(embed_TRA, tcrdist_setup)
env.Depends(embed_TRB, tcrdist_setup)
# classification results using GEM motifs and NN-distance
outbase = 'output/classify'
classification = env.Command([outbase + '.' + f for f in ['canonical.pdf',
'cdr3_length.pdf',
'meanNNdist.pdf',
'GEM-TCR_motifs.decision.pdf',
'TCRdist.decision.pdf',
'roc.pdf']],
data,
'python bin/classify.py ' + outbase + ' $SOURCE/Adaptive/clinical_groups.tsv $SOURCE/NNdist/tmp.*wsplit*NNdistance.tsv')