Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
af83fdc
intermediate update
robert-vogel Nov 18, 2025
907d0ee
intermediate progress on using htslib for reading vcf, vcf.gz, bcf fi…
robert-vogel Nov 19, 2025
24a0f80
update for reading bcf header
robert-vogel Nov 19, 2025
c3c6730
added retrieval of sample names
robert-vogel Nov 19, 2025
053d877
updates
robert-vogel Dec 11, 2025
d82567f
added options for different matrices, made place holders for computat…
robert-vogel Dec 12, 2025
e238d21
IMPORTANT: not working. Added logger tool and applied to the main.cp…
robert-vogel Dec 12, 2025
97800d8
simplified logger
robert-vogel Dec 13, 2025
fd1d7fb
added todo to make the logger accept more than one message string. F…
robert-vogel Dec 13, 2025
b320b88
workflow
robert-vogel Dec 13, 2025
3ec9aef
added a new github action.
robert-vogel Dec 13, 2025
7c5ab04
added record parsing, but no computations are complete, just trying t…
robert-vogel Dec 16, 2025
c26fb86
intermediate progress, still not operational
robert-vogel Dec 17, 2025
d7227e9
intermediate update
robert-vogel Dec 17, 2025
5328e99
update BcfRecord to BcfFloatRecord
robert-vogel Dec 17, 2025
b1bb96e
intermediate upate
robert-vogel Dec 18, 2025
119d3a3
increase code warnings and errors at compile time.
robert-vogel Dec 19, 2025
919904c
Intermediate and temporary update
robert-vogel Dec 23, 2025
81d1eb6
updated subcommands for both contig matrix calculation and loco
robert-vogel Jan 2, 2026
7b94ce0
intermediate and incomplete update of grm writer call in main function.
robert-vogel Jan 3, 2026
a710901
Changed genetic matrix to grm specific so that I can include the bina…
robert-vogel Jan 3, 2026
ab22949
unfinished update
robert-vogel Jan 7, 2026
04c7855
intermediate commit to move code to another dev environment.
robert-vogel Jan 13, 2026
9ebb4b9
intermediate update.
robert-vogel Jan 15, 2026
adbb2ff
intermediate commit
robert-vogel Jan 20, 2026
0e1c9a9
incomplete update and reorganization of grm and i/o. does not compil…
robert-vogel Jan 23, 2026
821a58a
updating writing for better use of claude code, the agentic AI coding…
robert-vogel Jan 26, 2026
60942e4
small incomplete update to equations
robert-vogel Jan 27, 2026
eb32f5a
Intermediate progress on equations, commiting to test equation typese…
robert-vogel Jan 27, 2026
3a98669
Update:
robert-vogel Jan 29, 2026
f178f4d
Updating the README.md. Explaining the distinct GRMs that can be calc…
robert-vogel Jan 30, 2026
2a545b0
Simplifying equations in the README.md to ease understanding. Trying…
robert-vogel Jan 30, 2026
2317e05
To add space in an equation in GitHub markdown I learned that I need …
robert-vogel Jan 30, 2026
fe277a8
added a draft of the haplotype grm description to README
robert-vogel Jan 30, 2026
7fef10f
Update README.md
robert-vogel Jan 30, 2026
b242615
Working on README documentation. Finished a draft of the loco GRM de…
robert-vogel Feb 2, 2026
ae1ba67
Debug README for proper rendering on github. I had made a simple mis…
robert-vogel Feb 2, 2026
41e6dd0
Update README.md
robert-vogel Feb 2, 2026
2fef20b
Start work on Claude's recommendation for readme. Mainly updating th…
robert-vogel Feb 2, 2026
9889fa0
Complete .grm file format specification in README.
claude Feb 2, 2026
b3bc9d2
Merge pull request #1 from robert-vogel/claude/hgrm-readme-grm-format…
robert-vogel Feb 2, 2026
12924df
intermediate update. Trying to write the binary file io for matrix. …
robert-vogel Mar 18, 2026
4bfd157
intermediate progress on read and write operations for data structures.
robert-vogel Mar 18, 2026
4cc4c5d
worked on implementing read/write for header class
robert-vogel Mar 18, 2026
ba44450
added grm read /write code, update for size_t -> uint64_t, versioning…
robert-vogel Mar 19, 2026
0f90443
debug careless errors.
robert-vogel Mar 20, 2026
2f07e7e
debugging more careless errors.
robert-vogel Mar 20, 2026
b4ef2c1
debug grm io so that it compiles, and started writing unit tests.
robert-vogel Mar 20, 2026
5935161
Aesthetic changes to comments.
robert-vogel Mar 21, 2026
4deca00
debug, with invalid input I wasn't setting the Coordinates.pos unique…
robert-vogel Mar 21, 2026
0809300
only header file, therefore delete the io.cpp.
robert-vogel Mar 21, 2026
5ea3fc8
I fixed an error in the macro that transorms matrix row and col numbe…
robert-vogel Mar 21, 2026
33a333c
Fixed nullptr dereference by making the deefault constructor of grm::…
robert-vogel Mar 21, 2026
df85b14
Add grm unit tests exposing bug in grm::read null-arg error code
claude Mar 21, 2026
f2f7d01
debug so that nullptr input returns the correct error.
robert-vogel Mar 21, 2026
48592fa
Add 24 more grm unit tests covering edge cases and error paths
claude Mar 21, 2026
ea482dd
more debugging.
robert-vogel Mar 22, 2026
c09cc2a
Claude introduced the same bug many many times. The bug is the compar…
robert-vogel Mar 22, 2026
1edf2a9
Changed aesthetics in comments for source and header files. Added un…
robert-vogel Mar 26, 2026
7e233e5
Merge pull request #4 from robert-vogel/use_htslib
robert-vogel Mar 26, 2026
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
28 changes: 28 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: C/C++ CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }}
strategy:
matrix:
os: [ ubuntu-latest, ubuntu-latest-arm, macos-15 ]

steps:
- uses: actions/checkout@v4
# - name: configure
# run: ./configure
- name: make
run: make
- name: make check
run: make check
# - name: make distcheck
# run: make distcheck

27 changes: 27 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Main C/C++ CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest

steps:
- name: clone repo
uses: actions/checkout@v4
- name: make
run: make
- name: make check
run: make check

# - name: make distcheck
# run: make distcheck
# - name: configure
# run: ./configure

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
build/
tmp_*
*.swp
*.swo
*~
*.DS_Store
*.vscode/
scratch/
data/
tags
40 changes: 40 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Purpose
- Compute the genetic similarity matrix from genetic data stored in the
vcf, vcf.gz, and bcf files.
- Use htslib C library to query / read genentic data.
- Write data to a binary file with a header and payload.
* header data must include all information that is
required to reproduce the calculation.
* payload consists of the computed values
- Easy to use command line interface


# External libraries
- htslib, code available on github at: https://github.com/samtools/htslib
- argparse, code available on github at: https://github.com/robert-vogel/argparse


# Code style
- variable, function, class, etc. names:
* should be descriptive (self-documenting) and short.
* classes and structs use Upper camel case
* functions and variables use snake case
- global constants use all upper case
- keep orthogonal services of the code in distinct modules
- module header files
* written to the 'include' directory.
* API documentation should be on line(s) proceeding the entities they
describe.
- implementation files in the 'src' directory, make sure to describe the
purpose / design of complex code blocks in the comments
- Unit tests should be written in the 'tests' directory and use Google
test and mock frameworks


# File and directory structure
- 'scratch' directory is not tracked by version control and is for testing
ideas by implementing in small programs
- 'build' directory is the target path for program and unit test builds
and should not be tracked by version control.
- 'include' directory for header files
- 'src' directory for 'main.cpp' file and module implementation files
109 changes: 0 additions & 109 deletions CMakeLists.txt

This file was deleted.

Loading
Loading