-
Notifications
You must be signed in to change notification settings - Fork 29
132 lines (111 loc) · 3.86 KB
/
makefile.yml
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: compile and e.coli
on:
push:
paths:
- '**.sm'
- '**.py'
- '**.sh'
- 'src/*'
- '.github/workflows/*.yml'
branches-ignore:
- v2
pull_request:
branches: [ master ]
jobs:
build_linux:
name: Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Setup Python 3.11
uses: actions/setup-python@v2
with:
python-version: 3.11
- name: Install Conda
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
mamba-version: "*"
channels: conda-forge,bioconda
python-version: 3.11
- name: Install dependencies
run: |
mamba install -c conda-forge -c bioconda 'python=3.11' 'pulp<=2.7.0' 'snakemake-minimal>7,<8' GraphAligner mashmap winnowmap
sudo apt-get install libcurl4-openssl-dev
pip install networkx
echo ""
echo "CONDA LIST"
echo ""
conda list
echo ""
echo "PYTHON TEST"
echo " "`command -v python`
echo " "`python --version`
echo > x.py "from importlib import metadata"
echo >> x.py "for dist in metadata.distributions():"
echo >> x.py " print(dist._path)"
python x.py
echo > x.py "from importlib.metadata import version"
echo >> x.py "version('networkx')"
python x.py
echo > x.py "import networkx as nx"
echo >> x.py "G = nx.Graph()"
echo >> x.py "print(G)"
python x.py
- name: Compile
run: |
cd src
make -j 2
- name: Fetch Data
run: |
curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_hifi_subset24x.fastq.gz -o hifi.fastq.gz
curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli_ont_subset50x.fastq.gz -o ont.fastq.gz
curl -L https://obj.umiacs.umd.edu/sergek/shared/ecoli-test-cache.tar -o cache.tar
tar -xf cache.tar
- name: Assemble
run: |
reportLogs() {
for fn in `find . -name \*err -print` ; do
echo ""
echo "==BEGIN $fn"
cat $fn
echo "==END $fn"
done
exit 1
}
export PATH=${PATH}:$CONDA/bin
rm -f mbg.sh
rm -f ga.sh
rm -f lib/verkko/bin/utgcns
echo > mbg.sh '#!/bin/sh'
echo >> mbg.sh 'xz -dc ../../cache/hifi-resolved.gfa.xz > hifi-resolved.gfa'
echo >> mbg.sh 'cp ../../cache/hifi_nodecov.csv hifi_nodecov.csv'
echo >> mbg.sh 'xz -dc ../../cache/paths.gaf.xz > paths.gaf'
echo > ga.sh '#!/bin/sh'
echo >> ga.sh 'if [ ! -e "graph.index" ] ; then'
echo >> ga.sh ' touch graph.index'
echo >> ga.sh ' touch diploid.index'
echo >> ga.sh ' touch empty.gaf'
echo >> ga.sh 'else'
echo >> ga.sh ' xz -dc ../../cache/aligned001.WORKING.gaf.xz > aligned001.WORKING.gaf'
echo >> ga.sh 'fi'
echo > lib/verkko/bin/utgcns '#!/bin/sh'
echo >> lib/verkko/bin/utgcns 'if [ ! -e part001.fasta ]; then'
echo >> lib/verkko/bin/utgcns 'cp ../../cache/part001.fasta packages/part001.fasta.WORKING'
echo >> lib/verkko/bin/utgcns 'fi'
echo >> lib/verkko/bin/utgcns ''
echo >> lib/verkko/bin/utgcns 'if [ ! -e part002.fasta ]; then'
echo >> lib/verkko/bin/utgcns 'cp ../../cache/part002.fasta packages/part002.fasta.WORKING'
echo >> lib/verkko/bin/utgcns 'fi'
chmod 755 mbg.sh
chmod 755 ga.sh
chmod 755 lib/verkko/bin/utgcns
./bin/verkko -d asm --mbg $PWD/mbg.sh --graphaligner $PWD/ga.sh --hifi ./hifi.fastq.gz --nano ./ont.fastq.gz
if [ ! -s asm/assembly.fasta ]; then
reportLogs
fi