Skip to content

Lectin report script (option c-i): report-only table, no call - #79

Draft
hyphaltip wants to merge 3 commits into
lectin-class-spec-r5from
lectin-report-script
Draft

hyphaltip wants to merge 3 commits into
lectin-class-spec-r5from
lectin-report-script

Conversation

@hyphaltip

Copy link
Copy Markdown
Member

Script for option (c-i) of the lectin class spec (PR #78). It makes a report only. It makes no call and writes no status file. No change to src/, family_table.tsv or categories.yaml.

  • analysis/lectin_class_report/lectin_report.py: runs hmmsearch --cut_ga (Pfam 38.2) with the 15 M1/M2 models of spec 3.1; writes counts, a hit table and a markdown report. PF07938 hits carry the D7 family label only. Report text states a hit does not show surface location, secretion or host-glycan binding. M3 house-keeping models are listed, not scanned.
  • --signalp FILE and --name-list FILE produce the (a2) section naming the six pool S Onygenales PF07938 proteins (f27_six/). SignalP 6.0h (fast, eukarya, one run): all six have a signal peptide. BLASTP of the six vs FleA Q4WW81: 38.4 to 44.7% identity. This is a check, not an orthology claim.
  • Main counts use the sequence GA; extra columns domain_ge_ga and n_hit_domain_ge_ga give the domain-GA rule used by the tool's Pfam module (owner decision).
  • Duplicate-ID warning; ID-only matching documented.
  • Tests: 14 pytest tests (stub hmmsearch), ruff clean.

Validation (login node, HMMER 3.4): 25-proteome sample matches review2/whole_proteome_hits.tsv (PF07938: 36 proteins, 14 proteomes, max score difference 0.0); six Phase C proteomes match F23 in 78 of 78 cells (using the domain column).

Not checked: all 653 proteomes; the SLURM wrapper (not submitted); H and U values in the "not called" table are copied by hand from the spec; the six proteins' orthology and function.

Do not merge: needs owner review.

🤖 Generated with Claude Code

hyphaltip and others added 3 commits October 10, 2026 17:16
… c-i, no call)

Runs hmmsearch --cut_ga with the M1/M2 models of the lectin spec against Pfam,
writes per-proteome per-model counts, a hit table and the report text. The (a2)
group section appears only when signal peptide data are given. No call, no status
file. Includes an optional sbatch wrapper (not submitted), a comparison script
against review2/whole_proteome_hits.tsv and a stub-based pytest test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ASTP check; name list and duplicate-ID warning

Extracts the six F27 proteins from the source proteomes (exactly 6 verified), runs SignalP 6
(fast, eukarya) on them, and checks identity to FleA (Q4WW81) by BLASTP. The report script
gets --name-list, a SignalP 6 tab-format fix, a warning for IDs in two proteomes, and the
F27 and Kerr 2016 notes in the (a2) section. No call, no status.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…nput, endemic note, duplicate and empty FASTA handling, README)

Strict read_signalp (two formats, CRLF stripped, error otherwise). ENDEMIC_NOTE follows the L3b
result. Repeated IDs inside one proteome are counted once and warned. An empty FASTA gives 0
proteins and a warning. --name-list accepts a bare accession. Adds README.md.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant