Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5418 commits
Select commit Hold shift + click to select a range
102250e
Change download UI and backend to do all/nothing for treatments on do…
ryan-preble May 4, 2026
288ca48
Fix trial download test
ryan-preble May 4, 2026
16d0e29
fix unit mech test
ClayBirkett May 4, 2026
c1016b1
Fix phenotype parser to keep empty trait values
chris263 May 5, 2026
c11e7a0
fixing conflicts
chris263 May 5, 2026
ef17d55
Working on trait select bugs
ryan-preble May 5, 2026
0eb6550
Remove excessive STDERR and fix empty traits in fieldbook file download
ryan-preble May 5, 2026
a74e6c1
adding environment stratification
chris263 May 5, 2026
aee9e41
Get data type in upload genotyping protocol click handler
grapereader May 5, 2026
0cb1621
vector upload generic plugin
titima15 May 5, 2026
3dce914
refactor cache files location, helps clearing from the UI
isaak May 6, 2026
66eaab3
Add hyperlinks to images and stocks on field trial detail popup
ryan-preble May 6, 2026
3e0568c
autogenerated names for vector upload
titima15 May 6, 2026
de5f07e
Add flatpickr javascript and change to flatpickr in trial creation
bm743 May 7, 2026
27e88ef
fixing blocks in RCBD and missing data
chris263 May 7, 2026
63305e1
refine trial data analyis cache clearing
isaak May 7, 2026
e6bd97d
CXGN::File::Parse - change unique_only_columns def to an array
dwaring87 May 7, 2026
34aa0db
Add unique_only_columns check to some generic file parser uploads
dwaring87 May 7, 2026
79a1723
debug
titima15 May 7, 2026
0fadd64
stop focus change that stops datepicker dropdown from opening
bm743 May 7, 2026
37451d3
Merge pull request #6086 from BFF-AFIRMS/setraver/upstream/fix-upload…
lukasmueller May 7, 2026
02d1b8e
Merge pull request #6076 from solgenomics/topic/fix_accession_swap_du…
lukasmueller May 7, 2026
53deae6
Merge pull request #6064 from solgenomics/topic/download_upload_pheno…
lukasmueller May 7, 2026
a5e3080
Merge pull request #6059 from solgenomics/quicksearch
lukasmueller May 7, 2026
6104c67
Restrict remove fillers function to curators
bm743 May 7, 2026
154c64a
Fix css linting errors
bm743 May 7, 2026
7edc838
remove autogenerated name option for vector upload
titima15 May 7, 2026
a08e235
Merge branch 'master' into topic/vector_upload
titima15 May 7, 2026
d2b459d
check unique value
titima15 May 7, 2026
652aa50
Add subplot/plant buttons back to UI if curator, tweak fieldmap plot …
ryan-preble May 7, 2026
0dc0dcf
Add curator delete button to plant and subplot tables
ryan-preble May 8, 2026
ac335dd
Add year to cxgn time ontology
ktmeaton May 8, 2026
07b24ab
spreadsheet info
titima15 May 8, 2026
4390b67
Skeleton functions for delete plants and subplots
ryan-preble May 11, 2026
4710b90
Add hrefs to primary and intercropped accessions
ryan-preble May 11, 2026
78d7ee9
Merge pull request #6094 from solgenomics/topic/add_links_to_plot_det…
titima15 May 11, 2026
d6258e4
fix stockprop update
titima15 May 11, 2026
8f1302e
Remove unique_only_columns check for OU name from phenotype upload
dwaring87 May 11, 2026
24901b4
fix test
titima15 May 11, 2026
757b8a4
fix default cluster k number
isaak May 12, 2026
0e509ec
refactor caching structure to make it easy for clearing
isaak May 12, 2026
2055101
update expected trait count for brapi phenotyping test
ktmeaton May 12, 2026
ec97bfe
Merge pull request #6061 from solgenomics/topic/remove_field_fillers
lukasmueller May 12, 2026
73f3424
Merge pull request #6053 from solgenomics/topic/pheno_download_trait_…
lukasmueller May 12, 2026
8d09838
Merge pull request #6034 from solgenomics/add-markers-prot
lukasmueller May 12, 2026
7e47f27
Merge pull request #6081 from solgenomics/topic/remove_treatment_proj…
lukasmueller May 12, 2026
b43af2f
lib: explicit defined checks for new unit values to permit 0
grapereader May 12, 2026
276599d
Use trait id for exif verification instead of trait name
bm743 May 12, 2026
4e608fa
enable exporting phenotypes with a value of 0
ktmeaton May 12, 2026
a599835
better handling of 0 value check for exact phenotypes
ktmeaton May 12, 2026
c7b5ddb
Merge pull request #6098 from solgenomics/topic/file_upload_unique_co…
titima15 May 13, 2026
4495c1e
Merge pull request #6105 from BFF-AFIRMS/topic/export-0-value-phenotypes
lukasmueller May 13, 2026
c163f77
Merge pull request #6103 from BFF-AFIRMS/setraver/upstream/new-unit-zero
lukasmueller May 13, 2026
a8ea59c
Merge pull request #6101 from solgenomics/topic/vector_upload
lukasmueller May 13, 2026
0d775c6
move kinship related file functions to kinship controller
isaak May 14, 2026
d5a59b3
show run kinship btn when analysis attempt fails
isaak May 14, 2026
0c472c3
update kinship files location
isaak May 14, 2026
e4083ac
update for easy cache clean up
isaak May 14, 2026
0a081bd
Finish subplot and plant delete functions
ryan-preble May 14, 2026
f38a01a
fix javascript errors on trial details page
ClayBirkett May 14, 2026
4319fe7
Let curator delete all jobs and fix finish logfile bug
ryan-preble May 15, 2026
589ce84
Replace all evals with trycatch for consistency
ryan-preble May 15, 2026
46177f4
Merge branch 'master' into topic/job_fixes
ryan-preble May 15, 2026
d9f9b3d
Vector Generic Upload: change unique_only_columns def from hash to array
dwaring87 May 18, 2026
d3066bb
fix upload
ClayBirkett May 18, 2026
50d1840
fix upload
ClayBirkett May 18, 2026
4adb4df
fix some more javascript errors
ClayBirkett May 18, 2026
3a5984e
remove backdrop
titima15 May 18, 2026
246d97a
Merge pull request #6109 from solgenomics/topic/fix_vector_upload_uni…
lukasmueller May 18, 2026
5780690
Merge branch 'master' into topic/job_fixes
ryan-preble May 18, 2026
c4432a5
Merge pull request #6095 from solgenomics/topic/fix_datepicker
lukasmueller May 18, 2026
25df11a
Merge pull request #6087 from solgenomics/topic/fix_exif_verify
lukasmueller May 18, 2026
d5fcd92
Merge branch 'master' into topic/plot_names
titima15 May 18, 2026
c0f5c0b
Merge pull request #5920 from solgenomics/topic/adding_dap
lukasmueller May 18, 2026
5117a4a
remove bad css files
ClayBirkett May 18, 2026
2542b4f
Remove lowercasing and switch to filter non-ascii characters only
ryan-preble May 18, 2026
ad01ecc
Merge pull request #6082 from solgenomics/topic/plot_names
titima15 May 18, 2026
35ebb18
Merge pull request #6108 from solgenomics/topic/job_fixes
lukasmueller May 18, 2026
305bfd3
Update checkout action from v4 to v5
ClayBirkett May 18, 2026
d85d99b
Upgrade GitHub Actions to latest versions
ClayBirkett May 18, 2026
039a62f
Update checkout action version to v5
ClayBirkett May 18, 2026
4a2e663
fix ontology definition and raise time root to 5000
ktmeaton May 19, 2026
44e9b49
update conf to have new time in years ontology root
ktmeaton May 19, 2026
708f016
add time in years to composable cvs
ktmeaton May 19, 2026
be88e1d
update compose trait to use new time in years accession
ktmeaton May 19, 2026
d828e7b
Merge branch 'master' into topic/update_phenotype_upload_info
bm743 May 20, 2026
b81258c
Change phenotype summary UI to have data level and group by accession…
ryan-preble May 20, 2026
4591093
fix upload accession using list
ClayBirkett May 20, 2026
5d1846b
BrAPI: fix PUT /trials response returning trialName in trialDescription
shbrainard May 21, 2026
b8a7da2
SGN::Controller::Folder: handle non-folder project ids gracefully
shbrainard May 21, 2026
78365a5
Fix unit mech test
ryan-preble May 21, 2026
8fbc606
check for the type of population before writing genetic values to file
isaak May 22, 2026
b653bc2
cleanp up dot at the end of a url
isaak May 22, 2026
c8cfeab
Add HDP protocols and instance ids to search wizard
bm743 May 22, 2026
3a19df3
improve trial data related clearing cache
isaak May 26, 2026
2f65a89
pass explicitly cache dir
isaak May 26, 2026
ee039ea
add beforeunload so code will work better with large files
May 26, 2026
f45dce1
fixing upload json multi categorical data from field book
chris263 May 26, 2026
3620882
update caching scheme for correlation
isaak May 27, 2026
c03f56c
scroll up a bit more
isaak May 27, 2026
967e53a
engine-strict should go in .npmrc file
ClayBirkett May 28, 2026
dc9eaee
Enable adding additional plants and subplots
ryan-preble May 28, 2026
1551ba9
add analysis_cache_dir function
isaak May 29, 2026
73c4747
update and pass kinship selenium test
isaak May 29, 2026
42d2607
update kinship cacher dir
isaak May 29, 2026
48f349b
Merge branch 'master' into topic/modify_plants_subplots
ryan-preble May 29, 2026
3a5605e
try updating nodejs requirements
ClayBirkett May 29, 2026
04a95af
fixing lint in perl
chris263 Jun 1, 2026
cae4d13
update and pass solgs selenium test
isaak Jun 1, 2026
9831e1a
adding dataset compatibility and login requirement
chris263 Jun 1, 2026
eb2a20b
changes for node.js v18
ClayBirkett Jun 1, 2026
63724a1
fixing duplicated call for environment stratification
chris263 Jun 1, 2026
b6eae85
allow obsolete accession in trial on accession details page
titima15 Jun 1, 2026
e094f35
allow obsolete accession in trial on transformation tool
titima15 Jun 1, 2026
3e76093
fixing grid row and col number rendering, removing trials from list, …
chris263 Jun 1, 2026
9ba1c79
update solgs tempfiles_dirs location
isaak Jun 2, 2026
203fa2d
try using package-lock.json
ClayBirkett Jun 2, 2026
bd86e9c
Add Node.js setup and dependency installation steps
ClayBirkett Jun 2, 2026
6bd23b0
Delete js/package-lock.json
ClayBirkett Jun 2, 2026
5195c8a
revert to no package-lock.json
ClayBirkett Jun 2, 2026
6cc704d
Set working directory for JS dependencies installation
ClayBirkett Jun 2, 2026
2533f53
Add step to pin Node binaries in test workflow
ClayBirkett Jun 2, 2026
7d8b768
update and pass list and dataset type prediction selenium test
isaak Jun 3, 2026
29d7a79
update pca caching and pass selenium test
isaak Jun 3, 2026
85e82c8
Merge pull request #6114 from solgenomics/topic/update-github-actions
ClayBirkett Jun 3, 2026
e2077b0
Merge branch 'master' into upload-accn-list
ClayBirkett Jun 4, 2026
87712e3
Merge branch 'master' into topic/obsolete_accession_in_trial
titima15 Jun 4, 2026
6daa7a8
Merge branch 'master' into topic/modify_plants_subplots
ryan-preble Jun 4, 2026
a25c1d5
Merge branch 'master' into topic/pheno_summary_statistics
ryan-preble Jun 4, 2026
80c86c7
Create HDP phenotype download for CSV and excel
bm743 Jun 4, 2026
79344d4
Add hdp download section to wizard page
bm743 Jun 4, 2026
32bc999
Merge remote-tracking branch 'origin/master' into topic/hdp_search_wi…
bm743 Jun 4, 2026
53afbff
Merge pull request #6120 from solgenomics/upload-accn-list
lukasmueller Jun 4, 2026
4fea0fb
Resolve conflict
ryan-preble Jun 4, 2026
b91a7ef
Merge pull request #6130 from solgenomics/topic/obsolete_accession_in…
isaak Jun 8, 2026
cb93a56
Merge pull request #6113 from solgenomics/topic/numbers_in_cvterms
lukasmueller Jun 8, 2026
7d02311
Merge pull request #6107 from solgenomics/trial-javascript-error
lukasmueller Jun 8, 2026
b265985
Merge pull request #6100 from BFF-AFIRMS/topic/add-time-ontology-year
lukasmueller Jun 8, 2026
51c508c
Clean up UI and make sure buttons are synced
ryan-preble Jun 8, 2026
e4adad9
ensure newly predicted selection pops are added to analyes select menus
isaak Jun 9, 2026
482786d
Change instance to hdp upload id, use hdp_type variable instead of ha…
bm743 Jun 10, 2026
5e2206c
Add trait synonym column to search results
bm743 Jun 10, 2026
5f3dbec
clean up malformed rows in a genotype data frame
isaak Jun 10, 2026
ae03952
Disable observation levels that don't have data and report empty tabl…
ryan-preble Jun 10, 2026
39b3c9a
Better error reporting and clarify row/columns when adding additional…
ryan-preble Jun 10, 2026
cbc29b4
Merge pull request #6141 from solgenomics/topic/hdp_search_wizard_dow…
lukasmueller Jun 10, 2026
204aef4
Merge pull request #6122 from shbrainard/fix/folder-page-program-id-500
lukasmueller Jun 10, 2026
e519d5c
Merge pull request #6121 from shbrainard/fix/brapi-put-trials-trialde…
lukasmueller Jun 10, 2026
228928c
add observationUnitDbId as valid input for phenotype spreadsheet parser
bm743 Jun 11, 2026
2911321
make datatables sort by plant/subplot name by default
ryan-preble Jun 11, 2026
539ecb7
Merge branch 'master' into topic/modify_plants_subplots
ryan-preble Jun 11, 2026
b749a7c
Merge branch 'master' into topic/modify_plants_subplots
ryan-preble Jun 11, 2026
44e0b10
fix trial description
titima15 Jun 11, 2026
c1b0bef
Better handling for returning search results with synonyms, fix test
bm743 Jun 12, 2026
0acd1f7
Merge pull request #6153 from solgenomics/topic/fix_BrAPIv2_core
titima15 Jun 12, 2026
b1fed27
Merge branch 'master' into topic/modify_plants_subplots
ryan-preble Jun 12, 2026
03cd084
manage accession lists
ClayBirkett Jun 12, 2026
5ddf1c9
Merge pull request #6128 from solgenomics/topic/modify_plants_subplots
titima15 Jun 12, 2026
d901554
Fix count with synonyms returned in search results
bm743 Jun 13, 2026
6fb7a47
update and pass k-means clustering selenium tests
isaak Jun 15, 2026
0d463f2
update clustering cache dir structure
isaak Jun 15, 2026
de91b1f
add predicted list type pops to cluster menu
isaak Jun 15, 2026
2927c2b
clean up
isaak Jun 15, 2026
d37c6a0
use solgs_tempfiles_dir output instead of a stashed one
isaak Jun 15, 2026
3e25dad
add log files cache_dir...
isaak Jun 15, 2026
07d1e51
update gebvs cache dir location
isaak Jun 15, 2026
64e0ab5
add selection index cache and tempfiles dir methods
isaak Jun 15, 2026
4bd3c31
use solgs_tempfiles_dir func
isaak Jun 15, 2026
5255ff6
use solgs_tempfiles_dir func
isaak Jun 15, 2026
24fee2e
update caching and clean up
isaak Jun 15, 2026
8f19560
clean up
isaak Jun 15, 2026
d0fcc00
Add synonyms and variety name to label designer
ryan-preble Jun 15, 2026
1a82209
Fix Pheno Download
dwaring87 Jun 15, 2026
6e84c03
Merge branch 'master' into topic/update_phenotype_upload_info
bm743 Jun 15, 2026
30e7545
Remove synonyms from label designer
ryan-preble Jun 15, 2026
b7ef5dc
Enable multiple parents for trait and treatment terms
ryan-preble Jun 15, 2026
463fcf9
replace remove dir system command with remove_tree func
isaak Jun 16, 2026
c8c5282
update heritability cache dir and pass selenium test
isaak Jun 16, 2026
2aa62ac
also save untransposed upload file
ClayBirkett Jun 16, 2026
51c616e
Add synonym UI and parent term UI to cvterm detail page
ryan-preble Jun 16, 2026
7c63d92
Merge pull request #6162 from solgenomics/topic/fix_pheno_download_hd…
titima15 Jun 16, 2026
028a6d6
fix missing warnings
ClayBirkett Jun 16, 2026
76f6c40
also save untransposed upload file
ClayBirkett Jun 16, 2026
dfba852
Add tissue samples as a valid format for fieldbook file upload
bm743 Jun 16, 2026
2b60546
pedigree option
titima15 Jun 16, 2026
eec754e
fix test
ClayBirkett Jun 17, 2026
22a5eac
fix analysis cache and tempfile dirs getters
isaak Jun 17, 2026
76c3d63
integrate clearing cached analysis output tp delete trial data workflow
isaak Jun 17, 2026
dc0cc29
Manage Accessions: remove list_id query param after adding accessions
dwaring87 Jun 17, 2026
8f88506
Fix unit fixture tests
ryan-preble Jun 17, 2026
2da084e
pedigree option on manage trials page and stock details page
titima15 Jun 17, 2026
b0c3813
when pedigrees are large, the merge function will try to parse the en…
lukasmueller Jun 18, 2026
e702c89
Merge pull request #6160 from solgenomics/topic/label_designer_stockp…
lukasmueller Jun 18, 2026
f8dbbda
Merge pull request #6157 from solgenomics/manage-accn-list2
lukasmueller Jun 18, 2026
042a7dd
Merge pull request #6084 from solgenomics/topic/update_phenotype_uplo…
lukasmueller Jun 18, 2026
e9ac8c7
Fix syntax errors
ryan-preble Jun 18, 2026
701526f
Add synonyms and variety name to label designer
ryan-preble Jun 15, 2026
f2f37c7
Remove synonyms from label designer
ryan-preble Jun 15, 2026
55a9725
manage accession lists
ClayBirkett Jun 12, 2026
0a61d76
Manage Accessions: remove list_id query param after adding accessions
dwaring87 Jun 17, 2026
562ce22
add observationUnitDbId to list of valid headers for phenotype upload…
bm743 May 1, 2026
ecbe80c
add observationUnitDbId as valid input for phenotype spreadsheet parser
bm743 Jun 11, 2026
6707cea
fix an issue with the get_direct_parents function (accessor get_stock…
lukasmueller Jun 18, 2026
3579e7c
retrieve parents
titima15 Jun 19, 2026
698823e
Merge branch 'master' into topic/speed_up_merge_script
lukasmueller Jun 21, 2026
16a02bf
Merge pull request #6166 from solgenomics/topic/tissue_sample_fieldbo…
lukasmueller Jun 21, 2026
b266912
Merge pull request #6145 from solgenomics/topic/fix_trait_search
lukasmueller Jun 21, 2026
5c6728b
update hierarchical clustering selenium test
isaak Jun 22, 2026
69314e8
fixe conflict and merge master
isaak Jun 22, 2026
28953ac
fix perl lint issues
isaak Jun 22, 2026
798b04a
replace legacy mkpath with make_path
isaak Jun 22, 2026
f2a6a98
fix perl lint issues
isaak Jun 22, 2026
f89d61d
replace Unix rm command with perl remove_tree func
isaak Jun 22, 2026
0f5d643
Merge pull request #6119 from solgenomics/topic/pheno_summary_statistics
lukasmueller Jun 22, 2026
31ba6ae
modified dialog titles
titima15 Jun 22, 2026
fabfc4a
include parent search in query
titima15 Jun 22, 2026
9f56f9d
clean up
titima15 Jun 22, 2026
dd304cf
fix ordering
titima15 Jun 23, 2026
229f5fb
use genotyping protocol from dataset, if dataset has it
isaak Jun 24, 2026
25d3d0b
Merge branch 'master' into topic/advance_meeting
chris263 Jun 24, 2026
ef3b8b1
Merge pull request #6093 from solgenomics/topic/env_stratification
lukasmueller Jun 24, 2026
19eadf4
Update PhenotypeSpreadsheetSimpleGeneric.pm
chris263 Jun 24, 2026
3a2cc8b
fixing timestamp and trait name
chris263 Jun 24, 2026
43ac111
Label Designer: sort labels by trial layout from list of plots
dwaring87 Jun 24, 2026
6397421
Label Designer: add fix for sorting from a Public List
dwaring87 Jun 25, 2026
35dabea
Merge pull request #6164 from solgenomics/archive-genotype-file
lukasmueller Jun 25, 2026
a9bb8a9
Merge pull request #6124 from solgenomics/topic/fix_fieldbook_json_up…
lukasmueller Jun 25, 2026
e17e94f
Merge pull request #6078 from solgenomics/topic/new_trial_design_method
lukasmueller Jun 25, 2026
3358f32
Merge pull request #6004 from solgenomics/topic/advance_meeting
lukasmueller Jun 25, 2026
e8492c1
download: remove redundant branch and use intended value for genotypi…
grapereader Jun 25, 2026
2457bdf
Merge pull request #6172 from solgenomics/topic/trial_pedigree
lukasmueller Jun 29, 2026
8ae0f03
Merge pull request #6165 from solgenomics/topic/trait_synonyms_and_pa…
lukasmueller Jun 29, 2026
8bb1459
refactor parent addition - add add_parent function to CXGN::Stock obj…
lukasmueller Jun 30, 2026
c75e77a
fix merge stock test.
lukasmueller Jun 30, 2026
a31daa1
put rollback back.
lukasmueller Jun 30, 2026
8da8761
refactor clear analysis result cache
isaak Jul 1, 2026
95f8a01
update trial related analysis result cache deletion call
isaak Jul 1, 2026
67f911c
delete cached analysis result from the dataset
isaak Jul 1, 2026
731ad73
Merge branch 'master' into topic/solgs/add-clear-cache
isaak Jul 1, 2026
8ec747b
check dataStr is defined...
isaak Jul 1, 2026
e1fa44d
bring back code snippet lost during merge and conflict fix
isaak Jul 1, 2026
9a9eb1d
fix input type
titima15 Jul 1, 2026
d62970f
Merge pull request #6177 from BFF-AFIRMS/fix/upstream/download-plate-…
lukasmueller Jul 2, 2026
2cb9f57
Merge pull request #6174 from solgenomics/topic/labeldesigner_sort_tr…
lukasmueller Jul 2, 2026
951c8f8
Merge pull request #6168 from solgenomics/topic/speed_up_merge_script
lukasmueller Jul 2, 2026
dc41dc5
relax regular expression for timestamp.
lukasmueller Jul 6, 2026
0bd9bf8
edit error message to reflect new accepted formats.
lukasmueller Jul 6, 2026
eceb956
Merge pull request #6170 from solgenomics/topic/solgs/add-clear-cache
lukasmueller Jul 9, 2026
bd45d9a
Merge pull request #6181 from solgenomics/topic/fix_activity_page
lukasmueller Jul 10, 2026
9364e3c
Merge pull request #6187 from solgenomics/topic/relax_timestamp_re2
lukasmueller Jul 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/docs/*
5 changes: 5 additions & 0 deletions .github/linters/.htmlhintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"head-script-disabled": false,
"alt-require": false,
"id-class-value": false
}
3 changes: 3 additions & 0 deletions .github/workflows/.htmlhintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"head-script-disabled": false
}
53 changes: 53 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: Lint

on: # yamllint disable-line rule:truthy
push:
branches:
- 'master'
pull_request:
branches:
- 'master'

permissions: {}

env:
FILTER_REGEX_EXCLUDE: "docs/.*|t/unit_mech/AJAX/_BrAPIv2_germplasm.t"

jobs:
build:
name: Lint
runs-on: ubuntu-latest

permissions:
contents: read
packages: read
# To report GitHub Actions status checks
statuses: write

steps:
- name: Checkout code
uses: actions/checkout@v5
with:
# super-linter needs the full git history to get the
# list of files that changed across commits
fetch-depth: 0

- name: Super-linter
uses: super-linter/super-linter@v8.3.1 # x-release-please-version
env:
# To report GitHub Actions status checks
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HTMLHINT_CONFIG_FILE: .github/linters/.htmlhintrc
VALIDATE_ALL_CODEBASE: false
VALIDATE_ANSIBLE: false
VALIDATE_CHECKOV: false
VALIDATE_JSCPD: false
VALIDATE_LATEX: false
VALIDATE_CSS: false
FIX_YAML_PRETTIER: true
VALIDATE_JAVASCRIPT_PRETTIER: false
VALIDATE_JAVASCRIPT_ES: false
VALIDATE_SQLFLUFF: false
VALIDATE_BIOME_FORMAT: false
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
47 changes: 47 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes/marge targeting the default branch
push:
branches: ["master"]
paths:
- 'docs/**'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy_static_pages:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
# Upload docs only
path: './docs'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4


42 changes: 41 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,46 @@ jobs:
- ${{ github.workspace }}:/home/vagrant/cxgn/sgn
options: --health-cmd="curl --silent --head http://localhost:4444 || exit 1"

keycloak_db:
image: postgres:13.0
env:
POSTGRES_DB: keycloak
POSTGRES_PASSWORD: postgres
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5

keycloak:
image: bffafirms/keycloak:26.5.1-0-breedbase-testing
env:
KC_DB_USERNAME: postgres
KC_DB_PASSWORD: postgres
KC_BOOTSTRAP_ADMIN_PASSWORD: password

steps:
- name: Checkout sgn
uses: actions/checkout@v2
uses: actions/checkout@v5

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install JS deps
working-directory: js
run: npm install

- name: Pin Node binaries
run: |
NODE_BIN="$(dirname "$(which node)")"
for tool in node npm npx; do
ln -sf "$NODE_BIN/$tool" /usr/local/bin/$tool
ln -sf "$NODE_BIN/$tool" /usr/bin/$tool
done
node --version
npm --version

- name: Run unit tests
run: prove --recurse t/unit 2>/dev/null
Expand Down Expand Up @@ -75,6 +112,9 @@ jobs:
- name: Run selenium tests dataset
run: /entrypoint.sh --nopatch t/selenium2/03_dataset 2>/dev/null

- name: Run selenium tests authenticate
run: /entrypoint.sh --nopatch t/selenium2/authenticate 2>/dev/null

- name: Run selenium tests breeders
run: /entrypoint.sh --nopatch t/selenium2/breeders 2>/dev/null

Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/test_static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Simple workflow for deploying static content to GitHub Pages
name: Build documentation with R bookmark

on:
# Runs on pushes/marge targeting the default branch
pull_request:
paths:
- 'docs/r_markdown_docs/**'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: write
id-token: write

jobs:
# Single deploy job since we're just deploying
build_and_deploy_static_pages_for_manual:
runs-on: ubuntu-latest
container:
image: bienkowskid/fedora40-r-bookdown
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
- name: Save directory for checkout
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Create gitbook
working-directory: ./docs/r_markdown_docs
run: R -q -e 'bookdown::render_book("index.Rmd", "bookdown::gitbook")'
- name: Create manual pdf
working-directory: ./docs/r_markdown_docs
run: R -q -e 'bookdown::render_book("index.Rmd", "bookdown::pdf_book")'
- name: Commit and push documentation
run: |
date > generated.txt
git config user.name github-actions
git config user.email github-actions@github.com
git add --force --all docs/
git commit -m "update bookdown docs"
git push
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ logfile*.txt
MANIFEST*
./cgi-bin/secretom
MYMETA.json
db/delete_nd_experiment_ids/
tags
.prove
.Rhistory
Expand All @@ -47,4 +48,8 @@ typescript
docs/Gemfile.lock
docs/_site/
.DS_Store
sgn.iml
sgn.iml
docs/*
!docs/r_markdown_docs/
!docs/r_markdown_docs/**
.idea/
127 changes: 127 additions & 0 deletions R/DRRC.r
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@

args=commandArgs(TRUE)

##args is now a list of character vectors
## First check to see if arguments are passed.
## Then cycle through each element of the list and evaluate the expressions.

if(length(args)==0){
print("No arguments supplied.")
##supply default values
paramfile=''
} else {
for(i in 1:length(args)){
print(paste("Processing arg ", args[[i]]));
eval(parse(text=args[[i]]))
}
}

library(reshape2)
library(dplyr)
library(blocksdesign)

source(paramfile)
## 1) Preparing dataframe
if (!exists("engine", inherits = FALSE)) engine <- "breedbase"
if(engine == 'trial_allocation'){ all.clones <- c(treatments, controls) } else { all.clones <- treatments }
nTrt <- length(all.clones)
nRep <- nRep
nRows <- nRow
nCols <- nCol
# nCols <- nTrt*nRep/nRows
rowsPerBlock <- nTrt/nCols
colsPerBlock <- nTrt/nRows
superCols <- nCols/colsPerBlock
totalPlots <- nTrt*nRep

plot_type <- plot_type

plot_start = 1
if( serie == 2){ plot_start <- 101 }
if( serie == 3){ plot_start <- 1001 }

blocks = data.frame(block_number = gl(nRep,nTrt),
Cols = gl(superCols,colsPerBlock,totalPlots),
row_number = gl(nRows,nCols,totalPlots),
col_number = gl(nCols,1,totalPlots))

## Setting rep number orthogonal to block number
rep_number = as.numeric(blocks$Cols)


# treatments = data.frame(treatments =gl(nTrt,1,totalPlots))
Z=design(all.clones,blocks, searches = 50, weighting=0.5)
fieldBook <- Z$Design

trialMatrix <- matrix(0,nRows,nCols)

for(i in 1:nrow(fieldBook)){
trialMatrix[fieldBook$subRows[i],fieldBook$subCols[i]]<-fieldBook$treatments[i]
}
trialMatrix

## Adding plot number
colnames(fieldBook)[5] <- "plot_number"

fieldBook$block_number <- as.integer(fieldBook$block_number)
fieldBook$row_number <- as.integer(fieldBook$row_number)
fieldBook$col_number <- as.integer(fieldBook$col_number)

# Load dplyr
library(dplyr)

# Arrange fieldBook by row_number and col_number
fieldBook <- fieldBook %>% arrange(row_number, col_number)
fieldBook$plot_number <- c(1:totalPlots)
fieldBook$plot_id <- c(1:nTrt)



## Number start
## 00101 will be added for NCSU
if(plot_start == "00101"){
fieldBook$plot_number = paste0(formatC(fieldBook$block_number,width=3,flag="0"),
formatC(fieldBook$plot_id,width=2,flag="0"))
}else if (plot_start == 1001){
fieldBook$plot_number <- (1000*fieldBook$block_number)+fieldBook$plot_id
}else if (plot_start == 101) {
fieldBook$plot_number <- (100*fieldBook$block_number)+fieldBook$plot_id
}

cat("plot start is ", plot_start,"\n")
cat("plot type is ", plot_type,"\n")

plot_type = "serpentine"
## Plot number format
if(plot_type == "serpentine"){
for(i in 1:nRows){
if(i%%2==0){
fieldBook[fieldBook$row_number == i, "plot_number"] <- rev(fieldBook[fieldBook$row_number==i,"plot_number"])
}
}
}

fieldBook$rep_number <- rep_number


#### create is_a_control
names(fieldBook)[names(fieldBook) == "treatments"] <- "accession_name"
fieldBook <- transform(fieldBook, is_a_control = ifelse(fieldBook$accession_name %in% controls, 1, 0))

design <- fieldBook %>% dplyr::select(block_number, rep_number, row_number, col_number, plot_number, accession_name, is_a_control)

if(engine == 'trial_allocation'){
design <- design %>% dplyr::select(plot_number, block_number, accession_name, rep_number, is_a_control)
colnames(design) <- c("plots", "block", "all_entries", "rep", "is_control")
}



head(design)

# save result files
basefile <- tools::file_path_sans_ext(paramfile)
outfile = paste(basefile, ".design", sep="");
sink(outfile)
write.table(design, quote=F, sep='\t', row.names=FALSE)
sink();
Loading