Skip to content

Instantly share code, notes, and snippets.

Bryan Ellerbrock bellerbrock

Block or report user

Report or block bellerbrock

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Running schemaspy
1. Download the latest schemaspy release from
2. Check your java installation, and if not installed already install the required version of java. In this case java 8
To check:
java -version
update-alternatives --list java
To install: (from
bellerbrock / Editing trait ontology obo file in protege
Last active Aug 5, 2019
Editing trait ontology obo file in protege
View Editing trait ontology obo file in protege
Step 1: Download and install Protege.
Step 2: Git clone the ontology repository into local directory.
Step 3: run git checkout -c topic/your_new_topic.
Step 4: Run Protege (./ on linux) and load the .obo file.
Step 5: go to File -> Preferences -> New Entities. Set Auto Generated ID to Numeric, and set Start to an id that will start filling in an unused sequence.
Step 6: Go to entities tab and add new terms by selecting parent class and clicking add subclass.
Step 7: When finished with edits, go to file -> save as and save as obo file.
Step 8: Finally add to git with git add -u, git commit -m "your message here", and git push --set-upstream topic/your_new_topic.
Step 9: Repeat with futher commits as needed, then go to and submit pull request.
bellerbrock / Ontology Update example
Last active Aug 7, 2019
Ontology Update example
View Ontology Update example
# Start by cloning or pulling the latest updates in the ibp-sweetpotato-traits and Chado repos
git clone
git clone
# Load the ontology terms, then update cvterm paths. It may be necessary to add to Chado modules to perl5lib: export PERL5LIB=/home/production/cxgn/Chado/chado/lib:$PERL5LIB
perl Chado/chado/bin/ -H -D sandbox_batatabase -s CO_331 -d Pg -r postgres -p <PASSWORD> -n SweetpotatoTrait -u -v ibp-sweetpotato-traits/sweetpotato_trait.obo
perl Chado/chado/bin/ -H -D sandbox_batatabase -d Pg -u postgres -p <PASSWORD> -c SweetpotatoTrait
View HIDAP update instuctions
sudo R
View restart hidap
sudo xl list
sudo xl destroy
sudo xl create /etc/xen/
sudo systemctl restart shiny-server
View workflow for doing a site update
commit and push, or pull all branches to be included in update into master branch.
1. run tests, including unit, unit fixture, and selenium tests.
- for unit tests: `perl t/ --noserver t/unit`
- for unit_fixture tests: `perl t/ t/unit_fixture
- for selenium tests:
run selenium2 server in seperate terminal with `java -jar selenium-server-standalone-2.53.0.jar`. This jar file should be in the vagrant home directory
then run `perl t/ t/selenium2/`
if any tests fail, they can be run individually and troubleshot to make any necessary fixes to the code on the master branch, or to update the test itself
View pheno queries
query for no misisng values:
SELECT table1.accession_id, table1.accession_name, table1.trait1, table2.trait2, table3.trait3 from (SELECT accession_id, accession_name, avg(phenotype_value::real) as trait1 FROM materialized_phenoview WHERE trial_id = 122 AND trait_id = 70741 group by 1,2) as table1 join (SELECT accession_id, accession_name, avg(phenotype_value::real) as trait2 FROM materialized_phenoview WHERE trial_id = 122 AND trait_id = 70691 group by 1,2) as table2 using(accession_id) join (SELECT accession_id, accession_name, avg(phenotype_value::real) as trait3 FROM materialized_phenoview WHERE trial_id = 122 AND trait_id = 70762 group by 1,2) as table3 using(accession_id) order by 2;
query for allowing missing values:
SELECT table0.accession_id, table0.accession_name, table1.trait1, table2.trait2, table3.trait3 from (SELECT accession_id, accession_name from materialized_phenoview WHERE trial_id = 122 group by 1,2) as table0 full outer join (SELECT accession_id, accession_name, avg(phenotype_value::re
bellerbrock / Create temp user accounts
Last active May 6, 2019
Create temp user accounts en masse for workshops
View Create temp user accounts
#here's how I was able to create temp user accounts en masse for spb workshops. Could prove useful for future workshops:
Manually create a dummy account through the test site's user interface. Give it username 'password_source' and the password that you want to use for all the temp user accounts.
Then, connect to the test database using psql and run:
insert into sgn_people.sp_person (first_name, last_name, username, password, private_email, user_type) (select 'test' as first_name, 'user' || i as last_name, 'testuser' || i as username, (select password from sgn_people.sp_person where username = 'password_source') as password, 'spbuser' || i || '' as email, 'submitter' as user_type from generate_Series(0,50) as i);
View expanding a virtualbox vm's disk size
Make sure your VM is shut down!
1. In your virtualbox folder, find the correct disk image. If it isn't already a vdi, convert it:
`VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format vdi`
2. Enlarge the vdi file.
The number you give as an argument is in MB, or GB times 1024. In this case 250GB * 1024 MB/GB = 256000:
`VBoxManage modifyhd box-disk1.vdi --resize 256000`
3. Open VirtualBox manager and click on the New icon in the top left to create a new machine. After naming it and picking the amount of memory,
View database renaming, dumping and reloading
to dump production db:
from commandline: pg_dump -U postgres -h cxgn_musabase | db5.cxgn_musabase.pgsql.gz
to rename old test db:
ALTER DATABASE sandbox_musabase RENAME TO sandbox_musabase_backup
if there is an error, check for active processes: SELECT * FROM pg_stat_activity;
and force disconnect of processes (should be idle!):
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid( ) AND datname = 'sandbox_musabase';
the run ALTER command again, or remove it:
DROP DATABASE sandbox_musabase;
You can’t perform that action at this time.