Skip to content

update unit tests

update unit tests #75

# This is a subsampling unit test to get early results
on:
push:
branches: [master]
name: Listeria-with-Kraken1
env:
TSV: "Kalamari/src/Listeria.tsv"
OUTDIR: "Listeria.out"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-20.04' ]
perl: [ '5.32' ]
name: Perl ${{ matrix.perl }} on ${{ matrix.os }}
steps:
- name: Set up perl
uses: shogo82148/actions-setup-perl@v1
with:
perl-version: ${{ matrix.perl }}
multi-thread: "true"
- name: checkout my repo
uses: actions/checkout@v2
with:
path: Kalamari
- name: env check
run: |
echo $PATH | tr ':' '\n' | sort
- name: apt-get install
run: sudo apt-get install ca-certificates tree
- name: install jellyfish
run: |
wget https://github.com/gmarcais/Jellyfish/releases/download/v1.1.12/jellyfish-linux -O jellyfish1
chmod -v +x jellyfish1
ln -sv jellyfish1 jellyfish
echo $(realpath .) >> $GITHUB_PATH
tree $(realpath .)
- name: install-edirect
run: |
sudo apt-get install ncbi-entrez-direct
echo "installed edirect the apt way"
exit
cd $HOME
perl -MNet::FTP -e '$ftp = new Net::FTP("ftp.ncbi.nlm.nih.gov", Passive => 1); $ftp->login; $ftp->binary; $ftp->get("/entrez/entrezdirect/edirect.tar.gz");'
gunzip -cv edirect.tar.gz | tar xf -
rm -v edirect.tar.gz
export PATH=${PATH}:$HOME/edirect >& /dev/null || setenv PATH "${PATH}:$HOME/edirect"
yes Y | ./edirect/setup.sh
tree edirect
- name: check-env
run: echo "$PATH"
- name: select for only Listeria
run: |
head -n 1 Kalamari/src/chromosomes.tsv > ${{ env.TSV }}
grep -m 2 Listeria Kalamari/src/chromosomes.tsv >> ${{ env.TSV }}
echo "These are the Listeria genomes for downstream tests"
column -ts $'\t' ${{ env.TSV }}
hexdump -c ${{ env.TSV }}
- name: download
run: perl Kalamari/bin/downloadKalamari.pl --outdir ${{ env.OUTDIR }} ${{ env.TSV }}
- name: check-results
run: tree ${{ env.OUTDIR }}
#- name: download-more
# run: perl Kalamari/bin/downloadKalamari.pl --outdir ${{ env.OUTDIR }} ${{ env.TSV }} --and protein --and nucleotide
#- name: check-results
# run: tree ${{ env.OUTDIR }}
- name: install kraken
run: |
wget https://github.com/DerrickWood/kraken/archive/refs/tags/v1.1.1.tar.gz -O kraken-v1.1.1.tar.gz
tar zxvf kraken-v1.1.1.tar.gz
cd kraken-1.1.1 && bash install_kraken.sh kraken-src && cd -
chmod -v +x kraken-1.1.1/kraken-src/*
echo $(realpath kraken-1.1.1/kraken-src) >> $GITHUB_PATH
tree $(realpath) kraken-1.1.1
- name: Kraken1 database
run: |
echo $PATH
which kraken-build
mkdir -pv kraken
cp -rv Kalamari/src/taxonomy kraken/taxonomy
find ${{ env.OUTDIR }} -name '*.fasta' -exec kraken-build --db kraken --add-to-library {} \;
tree kraken
# Some super debugging here with -x
#sed -i.bak 's/set -e/set -e; set -x/' $(which build_kraken_db.sh)
#grep -v '^#' -m 20 -C 2 $a_bin/build_kraken_db.sh
echo ".....Building the database....."
kraken-build --minimizer-len 9 --rebuild --db kraken --threads 2 --work-on-disk
- name: Kraken1 query
run: |
QUERY=$(find ${{ env.OUTDIR }} -name '*.fasta' | head -n 1)
echo "Query is $QUERY"
kraken --db kraken -output kraken.raw --fasta-input $QUERY
- name: Kraken1 view results
run: |
tree kraken
ls -lhSR kraken
echo
head kraken.raw