Skip to content

Commit

Permalink
Break up actions (#54)
Browse files Browse the repository at this point in the history
* Break up actions into one that does linting and tests python build and other that builds and publishes the wheel

* fix flake8 errors for undefined variables (it cant tell about going through loops or cases that end up defining variables before being called
  • Loading branch information
bruce-edelman committed May 8, 2024
1 parent a606f98 commit 42dd4c9
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 22 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,36 +1,45 @@

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: diploshic
name: Build

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
on: push

jobs:
build:

Build_Package:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.10
uses: actions/setup-python@v2
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: "3.10"
- name: Install dependencies
python-version: ${{ matrix.python-version }}
- name: Setup conda
uses: s-weigand/setup-conda@v1
with:
activate-conda: true
update-conda: true
python-version: ${{ matrix.python-version }}
conda-channels: conda-forge
- name: Install dependencies
run: |
conda install pip setuptools
python -m pip install --upgrade pip
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
- name: Install diploSHIC
run: |
pip install .
- name: List installed
run: |
pytest
conda list
12 changes: 9 additions & 3 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,18 @@
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package
name: Publish

on: [push, pull_request]
on:
push:
branches:
- main
- master
tags:
- v*

jobs:
manylinux:
Build_Wheel:
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
9 changes: 7 additions & 2 deletions diploshic/fvTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ def readFa(faFileName, upper=False):
fopen = open
with fopen(faFileName, "rt") as faFile:
reading = False
currChr = None
for line in faFile:
if line.startswith(">"):
if reading:
Expand Down Expand Up @@ -493,6 +494,10 @@ def readMaskDataForTraining(
readingMasks = False
isAccessible, isAccessibleArm = [], []
genoMaskInfo = []
currChr = None
genos = None
positions = None
positions2SnpIndices = None
with fopen(maskFileName, "rt") as maskFile:
for line in maskFile:
if line.startswith(">"):
Expand Down Expand Up @@ -916,7 +921,7 @@ def calcAndAppendStatValDiplo(
- statVals["pi"][instanceIndex][subWinIndex]
)
elif statName == "HapCount":
statVals[statName][instanceIndex].append(len(hapsInSubWin.distinct()))
statVals[statName][instanceIndex].append(len(genosInSubWin.distinct()))
elif statName == "nDiplos":
diplotypeCounts = dps.getHaplotypeFreqSpec(genosNAlt)
nDiplos = diplotypeCounts[genosNAlt.shape[1]]
Expand Down Expand Up @@ -1021,7 +1026,7 @@ def calcAndAppendStatValForScanDiplo(
)
elif statName == "HapCount":
# AK: undefined variables
statVals[statName].append(len(hapsInSubWin.distinct()))
statVals[statName].append(len(genosInSubWin.distinct()))
elif statName == "nDiplos":
diplotypeCounts = dps.getHaplotypeFreqSpec(genosNAlt)
nDiplos = diplotypeCounts[genosNAlt.shape[1]]
Expand Down

0 comments on commit 42dd4c9

Please sign in to comment.