Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
aab2153
Readme updates
joshfactorial Oct 16, 2025
a1ef7bb
Vcf seems to be sorted out and it is running much faster in parallel …
joshfactorial Oct 17, 2025
d42dd76
Updating changelog and readme. I missed a couple releases.
joshfactorial Oct 17, 2025
2438254
Merge branch 'develop' into fix-vcf-creation-lag
joshfactorial Oct 17, 2025
bc04f61
Merge pull request #184 from ncsa/fix-vcf-creation-lag
joshfactorial Oct 17, 2025
dde0d28
Fixing quality score array output
joshfactorial Oct 23, 2025
a22f72a
added functions to index the bam and vcf files
joshfactorial Oct 24, 2025
71fc59a
Added some clarifying comments
joshfactorial Oct 24, 2025
8e68158
Merge pull request #185 from ncsa/fix-bam-quals
joshfactorial Oct 24, 2025
662f325
Fix for single-ended reads
joshfactorial Oct 24, 2025
4debd95
Merge pull request #186 from ncsa/fix-bam-quals
joshfactorial Oct 24, 2025
469500a
Updates to constrain read creation
joshfactorial Nov 1, 2025
4b6fa34
wrong variable
joshfactorial Nov 2, 2025
a732726
bug in stitch fixed
joshfactorial Nov 2, 2025
3e47dc8
updating concat vcfs
joshfactorial Nov 2, 2025
5a8bb33
Fixing bugs and code cleanup. Vcf looking better.
joshfactorial Nov 4, 2025
5a5f54d
fixing some issues
joshfactorial Nov 4, 2025
73ebf49
Fixed vcf creation
joshfactorial Nov 4, 2025
ac10142
Merge pull request #192 from ncsa/187-incorrect-numpy-rng-endpoint-of…
joshfactorial Nov 4, 2025
ffaf1d1
Fixing bug in parse_input_vcf call
joshfactorial Nov 4, 2025
9ecb071
Updated model generation for new output prefix
joshfactorial Nov 4, 2025
0331810
Adding scipy to pyproject.toml
joshfactorial Nov 4, 2025
b19b339
Merge pull request #195 from ncsa/189-namespace-object-has-no-attribu…
joshfactorial Nov 4, 2025
e3d0c82
Merge pull request #196 from ncsa/187-incorrect-numpy-rng-endpoint-of…
joshfactorial Nov 4, 2025
a3765de
Updatin version
joshfactorial Nov 4, 2025
919be52
simplifying the installation hopefully
joshfactorial Nov 5, 2025
1bf6773
Updating readme
joshfactorial Nov 5, 2025
70ef7c8
Updating readmed
joshfactorial Nov 5, 2025
35b3894
modeling scripts work againg
joshfactorial Nov 5, 2025
607b954
Merge pull request #199 from ncsa/198-some-minor-bugs
joshfactorial Nov 5, 2025
d66ff5d
Made all sequences upper case
joshfactorial Nov 5, 2025
78f5c0f
tests working locally, wit the biopython warning
joshfactorial Nov 5, 2025
8da771c
Walking back aligner changes
joshfactorial Nov 6, 2025
c2ab343
Refactor import statement for pairwise2 module
joshfactorial Nov 7, 2025
e19bfc0
Merge pull request #200 from ncsa/194-softmasking-fix
joshfactorial Nov 7, 2025
b0ddef4
Fix for model_seq_error
joshfactorial Nov 7, 2025
d3e656b
added an exit if file can't be read correctly
joshfactorial Nov 7, 2025
5c6b4ac
Adding log message
joshfactorial Nov 7, 2025
65db458
Merge pull request #201 from ncsa/fix-model-seq-error
joshfactorial Nov 7, 2025
97e1b92
Removed 'upper()' calls when writing, since we did 'upper()' when rea…
joshfactorial Nov 7, 2025
da0b030
fixed fastq qual scores
joshfactorial Nov 7, 2025
3ecd793
Merge pull request #202 from ncsa/fix-fastq-qual_scores
joshfactorial Nov 7, 2025
4608920
fixing bam qual scores
joshfactorial Nov 7, 2025
e1aba21
Fixed bam quality scores
joshfactorial Nov 7, 2025
0ae9c86
Hoping to speed up intermediate file I/O
joshfactorial Nov 7, 2025
d410301
Missed one
joshfactorial Nov 7, 2025
b6026b9
still tweaking
joshfactorial Nov 7, 2025
a4698cb
Merge pull request #204 from ncsa/fix-bam-quals
joshfactorial Nov 7, 2025
f27cb86
Hoping to speed up intermediate file I/O
joshfactorial Nov 7, 2025
b572704
Missed one
joshfactorial Nov 7, 2025
893d2cf
still tweaking
joshfactorial Nov 7, 2025
c6685ac
Merge remote-tracking branch 'refs/remotes/origin/check-slow-splits' …
joshfactorial Nov 7, 2025
d0089d5
Bam creation working as expected again
joshfactorial Nov 9, 2025
c3eb220
Merge pull request #203 from ncsa/check-slow-splits
joshfactorial Nov 9, 2025
ef92c28
Coverage looks much less repetetive now
joshfactorial Nov 9, 2025
a6bb005
Merge pull request #206 from ncsa/check_coverage
joshfactorial Nov 9, 2025
2252667
Modified how vcf header was written and when to get the indexing to w…
joshfactorial Nov 10, 2025
3d27b45
Slight tweak to split inputs.
joshfactorial Nov 10, 2025
d66d5a9
Fixing sort command, changing to subprocess
joshfactorial Nov 10, 2025
c2e1147
Updating readme
joshfactorial Nov 10, 2025
c6bcc5e
Minor fixes
joshfactorial Nov 10, 2025
6ea24d4
BAM alignments looking better
joshfactorial Nov 11, 2025
8b45cd5
Merge pull request #210 from ncsa/redo_alignments
joshfactorial Nov 11, 2025
096fda1
Working on coverage and making sure single ended reads still work
joshfactorial Nov 11, 2025
812de57
Coverage needed a divide by 2 in paired-ended mode
joshfactorial Nov 11, 2025
b707f4c
Merge pull request #211 from ncsa/check_coverage
joshfactorial Nov 11, 2025
8ca6a5d
added a todo
joshfactorial Nov 11, 2025
0c45f4a
Merge pull request #212 from ncsa/check_coverage
joshfactorial Nov 11, 2025
47fa099
Updates to README.md.
keshav-gandhi Nov 11, 2025
1fae822
More updates to README.md.
keshav-gandhi Nov 11, 2025
c38e6d3
More updates to README.md with bioconda.
keshav-gandhi Nov 11, 2025
cd8aa76
Readability updates to README.md with bioconda.
keshav-gandhi Nov 11, 2025
5e2e020
Merge pull request #214 from ncsa/docs/readme-bioconda
keshav-gandhi Nov 13, 2025
d7de26f
A variety of testing-related changes.
keshav-gandhi Nov 14, 2025
4198968
Updating enivronment file
joshfactorial Nov 14, 2025
102c74b
Replacing file
joshfactorial Nov 14, 2025
b320b03
H1N1 unzipped
joshfactorial Nov 14, 2025
56aadef
Merge pull request #217 from ncsa/more-tests
keshav-gandhi Nov 18, 2025
0edd6bc
Tables, descriptions, and more.
keshav-gandhi Nov 19, 2025
950ee30
A note about ploidy.
keshav-gandhi Nov 19, 2025
036a58e
fixing stitch and no fastq
joshfactorial Nov 21, 2025
7dd1172
Merge pull request #219 from ncsa/fix_stitch
joshfactorial Nov 21, 2025
0b4cc24
Updating times
joshfactorial Nov 21, 2025
ebadd18
Merge pull request #218 from ncsa/docs/readme-table
joshfactorial Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,36 @@
name: NEAT Unit Tests
name: NEAT Unit and Integration Tests

on:
push:
branches: [develop]
pull_request:
branches: [main]
branches: [main, develop]

jobs:
detailed_test_execution:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: mamba-org/setup-micromamba@v1
- name: Checkout
uses: actions/checkout@v4

- name: Set up micromamba
uses: mamba-org/setup-micromamba@v1
with:
environment-file: environment.yml
environment-name: test_neat
environment-name: neat
cache-environment: true

- name: Run unit tests (pytest)
- name: Install NEAT (with developer dependencies)
shell: bash -l {0}
run: |
micromamba run -n neat poetry install --with dev

- name: Run unit tests
shell: bash -l {0}
run: |
micromamba run -n neat pytest -q tests

- name: Run CLI integration test
shell: bash -l {0}
run: |
micromamba run -n test_neat poetry install
micromamba run -n test_neat pytest -q tests
micromamba run -n neat pytest -q tests/test_cli
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,37 @@ In general, we follow the "fork-and-pull" Git workflow.

Note: Be sure to merge the latest changes before making the pull request. You can increase your chances of a successfull pull request by indicating clearly what branch you are contributing to and making a detailed commit message. It also helps if you open an issue first to let us know you are working on this project.

Running Tests
-------

We use `pytest` for unit and integration tests.

### Recommended setup
```bash
conda env create -f environment.yml
conda activate neat
poetry install --with dev
```

It will also be necessary to gunzip this file:

```bash
gunzip data/H1N1.fa.gz
```

To run all tests, use the following command:

```bash
pytest -q tests
```

It is also possible to run a subset of tests:

```bash
pytest -q tests/test_models
pytest -q tests/test_cli/test_basic_cli.py
```

License
-------

Expand Down
3 changes: 3 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# NEAT has a new home
NEAT is now a part of the NCSA github and active development will continue here. Please direct issues, comments, and requests to the NCSA issue tracker. Submit pull requests here insead of the old repo.

# NEAT v4.3.5
- An improvement rather than a bug fix this time. We moved vcf processing into the threaded portion, as our speeds were better than single threaded, but very slow on the vcf writing portion. This sped things up considerably, so we tested and confirmed that it is working as desired and are updating to a new version with improved VCF production in parallel mode.

# NEAT 4.3.4
- More fixes to bam creation, finalizing parallel code

Expand Down
373 changes: 243 additions & 130 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion config_template/simple_template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ overwrite_output: .

mode: .
size: .
jobs: .
threads: .
cleanup_splits: .
reuse_splits: .
200 changes: 0 additions & 200 deletions data/H1N1.fasta

This file was deleted.

22 changes: 6 additions & 16 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,12 @@
name: neat

channels:
- conda-forge
- bioconda
- bioconda
- conda-forge

dependencies:
- python=3.10.*
- biopython=1.85
- pkginfo
- matplotlib
- numpy
- pyyaml
- python==3.11.*
- pip
- scipy
- libgcc=14
- htslib
- bcftools==1.22*
- pip:
- pysam
- frozendict
- poetry==1.3.*

- pytest
- poetry==2.2.*
2 changes: 1 addition & 1 deletion neat/cli/commands/gen_mut_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,4 @@ def execute(self, arguments: argparse.Namespace):
"""
compute_mut_runner(arguments.reference, arguments.mutations, arguments.bed, arguments.outcounts,
arguments.show_trinuc, arguments.save_trinuc, arguments.human_sample,
arguments.skip_common, arguments.output, arguments.overwrite)
arguments.skip_common, arguments.output_dir, arguments.prefix, arguments.overwrite)
2 changes: 1 addition & 1 deletion neat/cli/commands/model_fragment_lengths.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ def execute(self, arguments: argparse.Namespace):

:param arguments: The namespace with arguments and their values.
"""
compute_fraglen_runner(arguments.input_file, arguments.min_reads, arguments.output, arguments.overwrite)
compute_fraglen_runner(arguments.input_file, arguments.min_reads, arguments.output_dir, arguments.prefix, arguments.overwrite)
3 changes: 2 additions & 1 deletion neat/cli/commands/model_sequencing_error.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,5 +95,6 @@ def execute(self, arguments: argparse.Namespace):
# arguments.pileup,
# arguments.plot,
arguments.overwrite,
arguments.output
arguments.output_dir,
arguments.prefix
)
Loading
Loading