<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dondi</id>
		<title>LMU BioDB 2015 - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://xmlpipedb.lmucs.io/biodb/fall2015/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dondi"/>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php/Special:Contributions/Dondi"/>
		<updated>2026-05-03T18:29:55Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.1</generator>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=8149</id>
		<title>Gene Database Project</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=8149"/>
				<updated>2015-12-18T22:13:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Individual Deliverable */ Eliminate CATME requirement.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
* You will give a final group [[Gene_Database_Project_Deliverables#PowerPoint_Presentation | PowerPoint presentation]] in class during the final exam period on &amp;#039;&amp;#039;&amp;#039;Tuesday, December 15, 2:00pm&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Final due date for all other deliverables is no later than &amp;#039;&amp;#039;&amp;#039;Friday, December 18, 4:30pm&amp;#039;&amp;#039;&amp;#039; (according to official final exam schedule for fall, 2015).&lt;br /&gt;
* The deliverables should be uploaded and organized onto one group wiki page, or alternately, delivered on digital media to either Dr. Dahlquist or Dr. Dionisio.  &lt;br /&gt;
* Each member of the group will be assigned the same grade for the group project.&lt;br /&gt;
* Detailed specifications, particularly for the [[Gene Database Project Deliverables#Group Report|group report]] and [[Gene Database Project Deliverables#Individual Assessment and Reflection|individual assessment and reflection]], are given on the [[Gene Database Project Deliverables]] page.&lt;br /&gt;
&lt;br /&gt;
=== Group Deliverables ===&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** [https://github.com/lmu-bioinformatics/xmlpipedb/blob/readme/GenMAPP%20Gene%20Databases/V.%20cholerae/V.%20cholerae%2020101022/ReadMe.md Sample ReadMe in markdown (a work in progress)] &lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:GenMAPP_schema_generic_bacteria_20151210.zip | GenMAPP_schema_generic_bacteria_20151210.zip]] &amp;lt;!--[[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]--&amp;gt;&lt;br /&gt;
*** Sample schema in jpeg format: [[Media:GenMAPP_schema_generic_bacteria_20151210.jpg | GenMAPP_schema_generic_bacteria_20151210.jpg]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.xlsx&amp;#039;&amp;#039;)&lt;br /&gt;
* Data file used for import into GenMAPP (&amp;#039;&amp;#039;.txt&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.csv&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Exceptions file of data imported into GenMAPP (&amp;#039;&amp;#039;.EX.txt&amp;#039;&amp;#039;)&lt;br /&gt;
* Raw MAPPFinder results files (&amp;#039;&amp;#039;-GO.txt&amp;#039;&amp;#039;)&lt;br /&gt;
* &amp;#039;&amp;#039;.gmf&amp;#039;&amp;#039; file&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.xlsx&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Gene Database Project Deliverables#Group Report | Group Report]] describing the creation of the Gene Database and the biological analysis of the data (&amp;#039;&amp;#039;.doc&amp;#039;&amp;#039;, &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039;, or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, &amp;#039;&amp;#039;.pptx&amp;#039;&amp;#039;, or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
=== Individual Deliverable ===&lt;br /&gt;
&lt;br /&gt;
The individual deliverable is an [[Gene Database Project Deliverables#Individual Assessment and Reflection|assessment and reflection]] on the process (either wiki or email, depending on your preference; see note in the linked section):&lt;br /&gt;
* Statement of work&lt;br /&gt;
* Assessment of the work done&lt;br /&gt;
* What was learned&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* Team evaluation via the [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Team Journal Entries ==&lt;br /&gt;
&lt;br /&gt;
* Each team will write a combined journal entry for each week with contributions from all members.&lt;br /&gt;
* [[Week 10]] Creation of page and combined annotated bibliography (midnight 11/10)&lt;br /&gt;
* [[Week 11]] (midnight 11/17)&lt;br /&gt;
* [[Week 12]] (midnight 11/24)&lt;br /&gt;
* [[Week 14]] (midnight 12/8)&lt;br /&gt;
* [[Week 15]] (midnight 12/15)&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
The project groups are:&lt;br /&gt;
# Team 1 - &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Heavy Metal HaterZ&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Shewanella oneidensis&amp;#039;&amp;#039;&lt;br /&gt;
#* Coder: Mary Alverson&lt;br /&gt;
#* Quality Assurance: Josh Kuroda&lt;br /&gt;
#* GenMAPP Users: Ron Legaspi &amp;amp; Emily Simso&lt;br /&gt;
#* Project Manager: Ron Legaspi&lt;br /&gt;
# Team 2 - &amp;#039;&amp;#039;&amp;#039;Class Whoopers&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Bordetella pertussis&amp;#039;&amp;#039; (Whooping Cough)&lt;br /&gt;
#* Coder: Nicole Anguiano&lt;br /&gt;
#* Quality Assurance: Brandon Klein&lt;br /&gt;
#* GenMAPP Users: Lena Olufson &amp;amp; Mahrad Saeedi&lt;br /&gt;
#* Project Manager: Nicole Anguiano&lt;br /&gt;
# Team 3 - &amp;#039;&amp;#039;&amp;#039;GÉNialOMICS&amp;#039;&amp;#039;&amp;#039; - &amp;#039;&amp;#039;Burkholderia cenocepacia&amp;#039;&amp;#039;&lt;br /&gt;
#* Coder: Anu Varshneya&lt;br /&gt;
#* Quality Assurance: Brandon Litvak&lt;br /&gt;
#* GenMAPP Users: Veronica Pacheco &amp;amp; Kevin Wyllie&lt;br /&gt;
#* Project Manager: Anu Varshneya&lt;br /&gt;
# Team 4 - &amp;#039;&amp;#039;&amp;#039; Oregon Trail Survivors&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;Shigella flexneri&amp;#039;&amp;#039;&lt;br /&gt;
#* Coder: Jake Woodlee&lt;br /&gt;
#* Quality Assurance: Trixie Roque&lt;br /&gt;
#* GenMAPP Users: Erich Yanoschik &amp;amp; Kristin Zebrowski&lt;br /&gt;
#* Project Manager: Kristin Zebrowski&lt;br /&gt;
&lt;br /&gt;
== Roles (Guilds) ==&lt;br /&gt;
&lt;br /&gt;
As the project moves forward, we will use class time for team meetings.  In addition, we will also have guild meetings where students sharing the same role can work together on common issues.  Each student has been assigned a primary role in the project by the instructors (see above).&lt;br /&gt;
&lt;br /&gt;
=== [[Project Manager]] (PM) ===&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time.&lt;br /&gt;
&lt;br /&gt;
=== [[GenMAPP User]] (GU) ===&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP). His or her tasks generally correspond to the work done during the DNA microarray analysis exercise ([http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1], [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]), as applicable to the team’s chosen bacterium.&lt;br /&gt;
&lt;br /&gt;
=== [[Quality Assurance]] (QA) ===&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats.  He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Coder]] (C) ===&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Project Milestones ==&lt;br /&gt;
&lt;br /&gt;
Specific project milestones are found on the individual guild pages.&lt;br /&gt;
&lt;br /&gt;
=== Overall Flow ===&lt;br /&gt;
&lt;br /&gt;
A successful project will have the following steps from end to end.  Depending on the data and/or other issues that are encountered, one or more of these steps may go through iterations, repetitions, or refinements.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWorkflow.png|450px|thumb|right|Overall Flow]]&lt;br /&gt;
&lt;br /&gt;
# Following the steps shown in the [[Running GenMAPP Builder]] instructions, download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Make sure that you are choosing the correct strain/subspecies as the microarray data you have.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Download GO terms from [http://geneontology.org/page/download-ontology#Legacy_Downloads Gene Ontology].&lt;br /&gt;
#* You will need the OBO-XML format, the &amp;quot;obo-xml.gz&amp;quot; file.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
#* Create a [[Gene Database Testing Report Sample | Gene Database Testing Report]] each time a new export is run.&lt;br /&gt;
#* Compare to the model organism database for your species&lt;br /&gt;
# Find an original journal article describing a DNA microarray experiment performed on your species.&lt;br /&gt;
#* Download the microarray data for this article.&lt;br /&gt;
#* Consult with Dr. Dahlquist about the proper steps to take to process the data (normalization, statistical analysis) and perform the analysis.&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* MAPPFinder&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Guild Milestones ===&lt;br /&gt;
&lt;br /&gt;
These are links to the respective milestone lists in the guild pages:&lt;br /&gt;
* [[Project Manager#Milestones|Project Manager]]&lt;br /&gt;
* [[GenMAPP User#Milestones|GenMAPP User]]&lt;br /&gt;
* [[Quality Assurance#Milestones|Quality Assurance]]&lt;br /&gt;
* [[Coder#Milestones|Coder]]&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4944</id>
		<title>Gene Database Project</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4944"/>
				<updated>2015-11-02T07:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Deliverables */ Additional link to deliverables page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
* You will give a final group PowerPoint presentation in class on &amp;#039;&amp;#039;&amp;#039;Tuesday, December 15, 2:00pm&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Final due date for all other deliverables is no later than &amp;#039;&amp;#039;&amp;#039;Friday, December 18, 4:30pm&amp;#039;&amp;#039;&amp;#039; (according to official final exam schedule for fall, 2015).&lt;br /&gt;
* The deliverables should be uploaded and organized onto one group wiki page, or alternately, delivered on digital media to either Dr. Dahlquist or Dr. Dionisio.  &lt;br /&gt;
* Each member of the group will be assigned the same grade for the group project.&lt;br /&gt;
* Detailed specifications, particularly for the [[Gene Database Project Deliverables#Group Report|group report]] and [[Gene Database Project Deliverables#Individual Assessment and Reflection|individual assessment and reflection]], are given on the [[Gene Database Project Deliverables]] page.&lt;br /&gt;
&lt;br /&gt;
=== Group Deliverables ===&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Gene Database Project Deliverables#Group Report | Group Report]] describing the creation of the Gene Database and the biological analysis of the data (&amp;#039;&amp;#039;.doc&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
=== Individual Deliverable ===&lt;br /&gt;
&lt;br /&gt;
The individual deliverable is an [[Gene Database Project Deliverables#Individual Assessment and Reflection|assessment and reflection]] on the process (either wiki or email, depending on your preference; see note in the linked section):&lt;br /&gt;
* Statement of work&lt;br /&gt;
* Assessment of the work done&lt;br /&gt;
* What was learned&lt;br /&gt;
* Team evaluation via the [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Team Journal Entries ==&lt;br /&gt;
&lt;br /&gt;
* Each team will write a combined journal entry for each week with contributions from all members.&lt;br /&gt;
* [[Week 10]] Creation of page (midnight 11/10)&lt;br /&gt;
* [[Week 11]] (midnight 11/17)&lt;br /&gt;
* [[Week 12]] (midnight 11/24)&lt;br /&gt;
* [[Week 14]] (midnight 12/8)&lt;br /&gt;
* [[Week 15]] (midnight 12/15)&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
The project groups are:&lt;br /&gt;
# Team 1&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 2&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 3&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 4&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
&lt;br /&gt;
== Roles (Guilds) ==&lt;br /&gt;
&lt;br /&gt;
As the project moves forward, we will use class time for team meetings.  In addition, we will also have guild meetings where students sharing the same role can work together on common issues.  Each student has been assigned a primary role in the project by the instructors (see above).&lt;br /&gt;
&lt;br /&gt;
=== [[Project Manager]] (PM) ===&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time.&lt;br /&gt;
&lt;br /&gt;
=== [[GenMAPP User]] (GU) ===&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP). His or her tasks generally correspond to the work done during the DNA microarray analysis exercise ([http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1], [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]), as applicable to the team’s chosen bacterium.&lt;br /&gt;
&lt;br /&gt;
=== [[Quality Assurance]] (QA) ===&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats.  He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Coder]] (C) ===&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Project Milestones ==&lt;br /&gt;
&lt;br /&gt;
Specific project milestones are found on the individual guild pages.&lt;br /&gt;
&lt;br /&gt;
=== Overall Flow ===&lt;br /&gt;
&lt;br /&gt;
A successful project will have the following steps from end to end.  Depending on the data and/or other issues that are encountered, one or more of these steps may go through iterations, repetitions, or refinements.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWorkflow.png|450px|thumb|right|Overall Flow]]&lt;br /&gt;
&lt;br /&gt;
# Following the steps shown in the [[Running GenMAPP Builder]] instructions, download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Make sure that you are choosing the correct strain/subspecies as the microarray data you have.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Download GO terms from [http://geneontology.org/page/download-ontology#Legacy_Downloads Gene Ontology].&lt;br /&gt;
#* You will need the OBO-XML format, the &amp;quot;obo-xml.gz&amp;quot; file.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
#* Create a [[Gene Database Testing Report Sample | Gene Database Testing Report]] each time a new export is run.&lt;br /&gt;
#* Compare to the model organism database for your species&lt;br /&gt;
# Find an original journal article describing a DNA microarray experiment performed on your species.&lt;br /&gt;
#* Download the microarray data for this article.&lt;br /&gt;
#* Consult with Dr. Dahlquist about the proper steps to take to process the data (normalization, statistical analysis) and perform the analysis.&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* MAPPFinder&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Guild Milestones ===&lt;br /&gt;
&lt;br /&gt;
These are links to the respective milestone lists in the guild pages:&lt;br /&gt;
* [[Project Manager#Milestones|Project Manager]]&lt;br /&gt;
* [[GenMAPP User#Milestones|GenMAPP User]]&lt;br /&gt;
* [[Quality Assurance#Milestones|Quality Assurance]]&lt;br /&gt;
* [[Coder#Milestones|Coder]]&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4943</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4943"/>
				<updated>2015-11-02T07:29:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Include list of files in deliverables page too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.54 cm (1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages on the lower-right corner&lt;br /&gt;
* Use left justification (“jagged” on the right side)&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Cite and list your references using [https://peerj.com/about/author-instructions/#reference-format PeerJ’s recommended reference format]. This format is very similar to APA style and should feel familiar if you have written research papers before.&lt;br /&gt;
&lt;br /&gt;
To minimize busy work, the PeerJ website includes links to downloadable style files for [https://www.zotero.org/styles/?q=peerj Zotero] and [http://endnote.com/downloads/style/peerj EndNote], if you use either system for managing and rendering references.&lt;br /&gt;
&lt;br /&gt;
== Group Files and Datasets ==&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4942</id>
		<title>Template:Gene Database Project Links</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4942"/>
				<updated>2015-11-02T07:26:06Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Add placeholders for team links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%; text-align: center&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot;|Gene Database Project Links&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;|[[Gene Database Project|Overview]]&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot;| [[Gene Database Project Deliverables|Deliverables]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;|[https://peerj.com/about/author-instructions/#reference-format Reference Format]&lt;br /&gt;
! Guilds&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[Coder]]&lt;br /&gt;
|-&lt;br /&gt;
! Teams&lt;br /&gt;
| [[Team 1]]&lt;br /&gt;
| [[Team 2]]&lt;br /&gt;
| [[Team 3]]&lt;br /&gt;
| [[Team 4]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4941</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4941"/>
				<updated>2015-11-02T07:24:14Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Final Group Project */ Substitute links with template.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%&amp;quot;&amp;gt;Loyola Marymount University&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 250%; line-height: 1.25em&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;BIOL/CMSI 367-01:  Biological Databases&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%; margin-bottom: 0.85em&amp;quot;&amp;gt;Fall 2015&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toc-container&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
* The Microsoft Excel portion of the ID investigation protocol has been added to the wiki: [[Using Microsoft Excel to Compare ID Lists]]. The link has also been added to the course schedule below for Week 9.&lt;br /&gt;
:Please note that this version is similar, but not identical, to the process shown in class ([[User:Dondi|Dondi]] misremembered the function to use; it was supposed to be &amp;lt;code&amp;gt;match&amp;lt;/code&amp;gt;, as shown in the wiki page, and not &amp;lt;code&amp;gt;lookup&amp;lt;/code&amp;gt;). Furthermore, instructions for exporting from PostgreSQL (you might recall that the numbers did not match there either) are included. —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 18:49, 29 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;TriBeta Halloween Party and Costume Contest:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 6:00 PM, LSB Terrace, $3 (to cover food). RSVP to ralkhaya at lion dot lmu dot edu.  Come see if you can beat me in the costume contest! &amp;#039;&amp;#039;&amp;amp;mdash; [[User:Kdahlquist|Kdahlquist]] ([[User talk:Kdahlquist|talk]]) 09:46, 28 October 2015 (PDT)&amp;#039;&amp;#039; &lt;br /&gt;
* An initial round of feedback to the [[Week 6]] assignment has been posted to your respective user talk pages. The database part is not finished, but I figured some feedback and basics on the best practice stuff will be useful as you prepare your [[Week 8]] work (as in, get used to making the best practices routine so you can avoid nagging deductions week after week). —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 21:30, 25 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
* To report issues with the configuration of the computers in Seaver 120, please record it on [[Talk:Software_Configuration | this wiki page.]]  The complete list of software that should be installed for this course is found [[Software Configuration | here]].  Note that this configuration is Windows-specific.  Some software may not be available for a Mac or may look differently.&lt;br /&gt;
&lt;br /&gt;
=== Upcoming Seminars ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, October 29, 11:50 AM, Seaver 200, Presentation by first candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 2:00 PM, LSB Auditorium, Dr. Ashley Robart, LMU Biology, &amp;#039;&amp;#039;MALE QUALITY INFLUENCES PARENTAL CARE, BUT NOT FEMALE COMPETITION, IN A MONOGAMOUS, BIPARENTAL FISH.&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Noyce Poster Session:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 4:00 – 6:00 PM, Hannon Courtyard of the LSB (area just outside the west entrance). The NOYCE Summer Interns will be presenting the posters they made highlighting the research they have done. The Poster Session will be a fantastic opportunity to talk to the presenters and ask them all about their research! To receive the extra credit, fill out one of the &amp;quot;seminar&amp;quot; sheets available according to the instructions and turn it in to a professor before you leave the poster session.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 5, 11:50 AM, Seaver 200, Presentation by second candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, November 6, 2:00 PM, LSB Auditorium, Dr. Wes Dowd, LMU Biology.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Tuesday, November 10, 11:50 AM, Seaver 200, Presentation by third candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 12, 11:50 AM, Seaver 200, Presentation by fourth candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, December 4, 2:00 PM, LSB Auditorium, Dr. Deepa Dabir, LMU Biology.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Course Assessment ===&lt;br /&gt;
&lt;br /&gt;
* Please note also that as part of the deliverables, we ask that you fill out the confidential team evaluation [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing GenMAPP and MAPPFinder ===&lt;br /&gt;
&lt;br /&gt;
* If you want to install GenMAPP and MAPPFinder on your own computer to use over the break, the instructions can be found on the [[Week_8#Downloading_and_installing_the_GenMAPP_and_MAPPFinder_Software | Week 8 Assignment]] page.  Note that this software is Windows-only.&lt;br /&gt;
&lt;br /&gt;
=== Class Locations ===&lt;br /&gt;
&lt;br /&gt;
* Final presentations on Thursday, December 12 will take place in the &amp;#039;&amp;#039;classroom&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Group Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Gene Database Project]]&lt;br /&gt;
* [[Gene Database Project Report Guidelines]]&lt;br /&gt;
&lt;br /&gt;
=== Teams ===&lt;br /&gt;
&lt;br /&gt;
To be determined.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;[[Species | Team name]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[[[Team Name]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Guilds ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[Developer]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Undergraduate Library Research Award ===&lt;br /&gt;
&lt;br /&gt;
The projects for this course will qualify for the Hannon Library’s [http://digitalcommons.lmu.edu/ulra/ Undergraduate Library Research Award (ULRA)].  Click on the link if you are interested in this competition.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instructors ==&lt;br /&gt;
* [[User:Kdahlquist|Kam D. Dahlquist]]&lt;br /&gt;
* [[User:Dondi|John David N. Dionisio]]&lt;br /&gt;
&lt;br /&gt;
== Students ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-left: auto; margin-right: auto&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User: Malverso | Mary Alverson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Rlegaspi | Ron Legaspi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Troque | Trixie Roque]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jwoodlee | Jake Woodlee]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Nanguiano | Nicole Anguiano]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Blitvak | Brandon Litvak]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[user:Msaeedi23 | Mahrad Saeedi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kwyllie | Kevin Wyllie]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Bklein7 | Brandon Klein]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Lenaolufson | Elena Olufson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Emilysimso | Emily Simso]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Eyanosch | Erich Yanoschik]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jkuroda | Josh Kuroda]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Vpachec3 | Veronica Pacheco]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Anuvarsh | Anindita Varshneya]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kzebrows | Kristin Zebrowski]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{ Gene Database Project Links }}&lt;br /&gt;
&lt;br /&gt;
== Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
The current course schedule is shown below.  In addition to the listed in-class agendas, the following guidelines are also notable:&lt;br /&gt;
&lt;br /&gt;
* Unless otherwise stated on the schedule, your weekly journals/assignments are due on Tuesdays at midnight (Monday night/Tuesday morning).  In cases where subsequent revisions or corrections will be accepted, the instructors will provide feedback and submission deadlines on a per-assignment basis.&lt;br /&gt;
* Reading assignments should be completed &amp;#039;&amp;#039;before&amp;#039;&amp;#039; coming to class.&lt;br /&gt;
* Dr. Dionisio&amp;amp;rsquo;s office hours ({{ Dondi Office Hours }}) can be viewed as unofficial lab sessions: use them for IT help or desktop support &lt;br /&gt;
&lt;br /&gt;
=== Part 1: Building Blocks (Genetic Code and Manipulating Text) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/1/2015&lt;br /&gt;
| &lt;br /&gt;
| Syllabus walkthrough&lt;br /&gt;
* &amp;#039;&amp;#039;my.cs.lmu.edu&amp;#039;&amp;#039; account: Visit https://secure.cs.lmu.edu to get a computer science account if you don’t already have one&lt;br /&gt;
* Class wiki account: Set up a username and password for this wiki site&lt;br /&gt;
&lt;br /&gt;
Pairwise interviews (report back after each bullet)&lt;br /&gt;
* Basic acquaintance information&lt;br /&gt;
* Like a cell/not like a cell; like a computer/not like a computer&lt;br /&gt;
&amp;lt;!--** Disk/flash drive; soup can; hard-boiled egg; Etch-a-Sketch; battery; toy flute/recorder; clock--&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 1]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/8)&lt;br /&gt;
&lt;br /&gt;
[[Class_Journal_Week_1 | Class Journal Week 1]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/3/2015&lt;br /&gt;
| &lt;br /&gt;
[http://dl.acm.org/ft_gateway.cfm?id=1378711 &amp;#039;&amp;#039;Voices of Computing&amp;#039;&amp;#039;] and [http://dl.acm.org/ft_gateway.cfm?id=1272529 &amp;#039;&amp;#039;Computing is a Natural Science&amp;#039;&amp;#039;] by Peter Denning (these links should be accessed from within LMU to get the full article)&lt;br /&gt;
&lt;br /&gt;
[https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Chapter 1 of &amp;#039;&amp;#039;On Becoming a Biologist&amp;#039;&amp;#039;] by John Janovy, Jr. (on MyLMUConnect)&lt;br /&gt;
| Discuss the [[Week 1]] assignment (accounts should be ready to wiki at this point)&lt;br /&gt;
* Quick wiki overview&lt;br /&gt;
* User wiki page setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/8/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK21134/#A5234 Ch. 1.1 &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/watsoncrick.pdf Watson &amp;amp; Crick (1953)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/franklingosling.pdf Franklin &amp;amp; Gosling (1953)]&lt;br /&gt;
&lt;br /&gt;
| DNA&lt;br /&gt;
* DNA structure and Genetic Code&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides shown in class on MyLMU Connect]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 2]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/15)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 2]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/10/2015&lt;br /&gt;
| On [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset MyLMUConnect]: &lt;br /&gt;
&lt;br /&gt;
Nirenberg (2004) &amp;#039;&amp;#039;Deciphering the Genetic Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kaji &amp;amp; Kaji (2004) &amp;#039;&amp;#039;Setting the Record Straight&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Moody (2004) &amp;#039;&amp;#039;Digital Code of Life&amp;#039;&amp;#039;, Ch. 1&lt;br /&gt;
&lt;br /&gt;
Hayes (2004) &amp;#039;&amp;#039;Ode to the Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.ncbi.nlm.nih.gov/books/NBK21121/ Brown, T.A. (2002) &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;, Ch. 3, especially section 3.3.2]&lt;br /&gt;
| Central dogma&lt;br /&gt;
* [http://www.youtube.com/watch?v=u9dhO0iCLww Berkeley translation video]&lt;br /&gt;
* This [http://www.dnai.org/a/index.html web site] has links to animations of the replication, transcription, and translation processes.&lt;br /&gt;
* Slides shown in class&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GeneticCode-GeneExpression.pdf | Genetic Code-Gene Expression Pencil Exercise]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/15/2015&lt;br /&gt;
|  [http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ Ford (2015) &amp;#039;&amp;#039;What is Code?&amp;#039;&amp;#039;]&lt;br /&gt;
* Emphasis on first two sections (“The Man in the Taupe Blazer” and “Let’s Begin”), but feel free to read further&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/intro/wheres-my-stuff.pdf Where&amp;#039;s my Stuff?]&lt;br /&gt;
&lt;br /&gt;
[[Introduction to the Command Line]]&lt;br /&gt;
| An overview of computers, networks, files, and databases&lt;br /&gt;
* Useful help resource: http://explainshell.com&lt;br /&gt;
* Manipulating DNA sequences on the command line&lt;br /&gt;
* [[Using the XMLPipeDB Match Utility]] &amp;lt;!-- (requires setup of compression utility and Java); Use XML files as sources --&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 3]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/22)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 3]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/17/2015&lt;br /&gt;
| &lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Hands-on practice&lt;br /&gt;
* Discuss [[Week 3]] assignment tasks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/22/2015&lt;br /&gt;
| [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Moody (2004) Chapter 6 (on MyLMU Connect)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/pdf/4651000a.pdf Science After the Sequence]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/full/4651000a.html Nature Special: Human Genome at 10]&lt;br /&gt;
&lt;br /&gt;
[http://nar.oxfordjournals.org/content/43/D1/D1.full Introduction to &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&lt;br /&gt;
[http://scienceblogs.com/digitalbio/2015/01/30/bio-databases-2015/ Commentary on &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&amp;lt;!--* [http://www.sciencemag.org/content/vol291/issue5507/index.dtl Human Genome Project articles in &amp;#039;&amp;#039;Science&amp;#039;&amp;#039;]&lt;br /&gt;
* [http://www.nature.com/nature/journal/v409/n6822/index.html Human Genome Project articles in &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]--&amp;gt;&lt;br /&gt;
| Genome sequencing and annotation&lt;br /&gt;
&lt;br /&gt;
Introduction to biological databases&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/bbcswebdav/pid-1146580-dt-content-rid-1944592_1/courses/M_46692.201530/20150922_HGP_IntroBiolDB.pdf Slides shown in class (MyLMU Connect)]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L01_DataManagement.pptx DataONE: Why Data Management]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L02_DataSharing.pptx DataONE: Data Sharing]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 4]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/29)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 4]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/24/2015&lt;br /&gt;
| [[More Text Processing Features]]&lt;br /&gt;
&lt;br /&gt;
[[How to Read XML Files]]&lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Review assignment issues&lt;br /&gt;
* Discuss [[Week 4]] computer portion&lt;br /&gt;
&amp;lt;!-- * Public wiki&lt;br /&gt;
* Introduction to software/licensing/open source&lt;br /&gt;
* Open source/open access publishing --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/29/2015&lt;br /&gt;
| [http://myweb.lmu.edu/dondi/share/db/relational1.pdf The Relational Data Model: Structure]&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/sql.pdf An Overview of SQL]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/pgsql-quickstart.pdf PostgreSQL Quick Start]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
| Introduction to relational databases&lt;br /&gt;
* Case study from one of the NAR databases: http://www.rhesusbase.org &amp;lt;!-- Injection query sequence: INSR&amp;#039; and genefullname = &amp;#039;insulin receptor&lt;br /&gt;
then try: INSR&amp;#039;; select * from gene where to reveal error then finally include alias like &amp;#039;%PP for successful injection --&amp;gt;&lt;br /&gt;
* Relating XML structure to relational structure&lt;br /&gt;
&lt;br /&gt;
Test your understanding: http://xkcd.com/327/&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 5]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/6)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 5]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/1/2015&lt;br /&gt;
| Additional background and details can be found in Chapters 1, 2, and 6 of &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039; (on reserve at the library).&lt;br /&gt;
| SQL and working with relational databases continued&lt;br /&gt;
* [[PostgreSQL Tutorial]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #ddf&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;10/6/2015&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; |  &lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | President Synder’s Inauguration Day&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 6]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/13)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 6]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/8/2015&lt;br /&gt;
| &lt;br /&gt;
| Database presentations&lt;br /&gt;
# Nicole, Erich, Kristen, Josh&lt;br /&gt;
# Mary, Emily, Brandon L., Kevin&lt;br /&gt;
# Lena, Jake, Anu, Veronica&lt;br /&gt;
# Ron, Mahrad, Brandon K., Trixie&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
&amp;lt;!--Introduction to the [http://www.opensource.org/ open source] culture--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 2: Going Deeper (Gene Expression Data and Relational Databases) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/13/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK26818/#A1633 Alberts &amp;#039;&amp;#039;et al&amp;#039;&amp;#039;. (2002) &amp;#039;&amp;#039;Molecular Biology of the Cell&amp;#039;&amp;#039;, Ch. 8: Microarrays]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/ng/journal/v21/n1s/full/ng0199supp_33.html Brown &amp;amp; Botstein (1999) &amp;quot;Microarrays&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Campbell &amp;amp; Heyer Chapter 4 (on [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1 MyLMU Connect])&lt;br /&gt;
&lt;br /&gt;
DeRisi et al. (1997)  [http://www.sciencemag.org/content/278/5338/680.full &amp;#039;&amp;#039;Science&amp;#039;&amp;#039; 278: 680-686.]&lt;br /&gt;
&lt;br /&gt;
| Introduction to DNA microarray data, Gene Ontology, and GenMAPP/MAPPFinder&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides on MyLMU Connect]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L04_DataEntryManipulation.pptx DataONE: Data Entry and Manipulation]&lt;br /&gt;
* [http://www.bio.davidson.edu/courses/genomics/chip/chip.html Microarray animation]&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 7]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/20)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 7]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/15/2015&lt;br /&gt;
| [http://www.nature.com/nature/journal/v417/n6889/full/nature00778.html Merrell et al. (2002) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; microarray data&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae DNA Microarray Analysis activity part 1]&lt;br /&gt;
&lt;br /&gt;
Test your understanding: [http://xkcd.com/882/ http://xkcd.com/882/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/20/2015&lt;br /&gt;
| [http://www.nature.com/ng/journal/v25/n1/full/ng0500_25.html Ashburner et al. (2000) &amp;quot;Gene Ontology&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.genomebiology.com/content/4/1/R7 Doniger et al. (2003) &amp;quot;MAPPFinder&amp;quot; &amp;#039;&amp;#039;Genome Biology&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols DNA Microarray Analysis activity part 2]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 8]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/27)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 8]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/22/2015&lt;br /&gt;
| &lt;br /&gt;
| Work session to complete DNA Microarray Analysis [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1] and [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 9&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/27/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Introduction to XMLPipeDB: export a Gene Database for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;&lt;br /&gt;
** [[Running GenMAPP Builder]]&lt;br /&gt;
* [http://www.opensource.org/ Open Source] review&lt;br /&gt;
* Group requests due midnight Saturday, October 31&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 9]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/3)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 9]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/29/2015&lt;br /&gt;
| [http://nar.oxfordjournals.org/content/40/D1/D565.full Dimmer et al. (2012) &amp;quot;UniProt-GOA Database&amp;quot; &amp;#039;&amp;#039;Nucleic Acids Research&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/journal/v406/n6795/full/406477A0.html Heidelberg et al. (2000) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; Genome Sequence&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| &lt;br /&gt;
Integrity analysis of Vibrio Gene Database&lt;br /&gt;
* [[How Do I Count Thee?  Let Me Count The Ways]]&lt;br /&gt;
* [[Using Microsoft Excel to Compare ID Lists]]&lt;br /&gt;
* [[Gene Database Testing Report Sample | Complete your Gene Database Testing Report for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 3: Integrating for Research (Gene Database Project) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 10&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Annotated bibliography of genomics papers for your species&lt;br /&gt;
* &amp;#039;&amp;#039;Course LibGuide:&amp;#039;&amp;#039; http://libguides.lmu.edu/BIOL367&lt;br /&gt;
** Select genome paper for journal club&lt;br /&gt;
** Select microarray paper&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 10]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[Class Journal Week 10]]--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/5/2015&lt;br /&gt;
| &lt;br /&gt;
| Begin [[Gene_Database_Project | group projects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/10/2015&lt;br /&gt;
| &lt;br /&gt;
| Guild meetings and work session&lt;br /&gt;
* Export of Gene Database for your group&amp;#039;s species&lt;br /&gt;
* Document ID types for your species&lt;br /&gt;
* Begin DNA microarray analysis&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 11]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/17)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/12/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
&amp;lt;!--Dondi out of town--&amp;gt;&lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/17/2015&lt;br /&gt;
| &lt;br /&gt;
| First Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 12]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/24)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/19/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/24/2015&lt;br /&gt;
| &lt;br /&gt;
| Second Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;No Week 13 assignment&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #ded&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thursday&amp;lt;br/&amp;gt;11/26/2015&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thanksgiving—no class&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/1/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 14]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/8)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 15&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/8/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 15]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/15)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/10/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #edd&amp;quot; | F&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;12/15/2015&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Final project presentations 2:00-4:00 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Friday&amp;lt;br/&amp;gt;12/18/2015 4:30 PM&lt;br /&gt;
| &lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Project deliverables due 4:30 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Course Information ==&lt;br /&gt;
&lt;br /&gt;
=== Instructors ===&lt;br /&gt;
&lt;br /&gt;
==== [[User:Kdahlquist | Kam D. Dahlquist, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/kdahlqui&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-7697&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; kdahlquist at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Life Sciences Building 289&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; Tuesdays 9:00-11:00 AM, Wednesdays 1:30-3:30 PM and by appointment.  I keep a sign-up sheet on my office door to facilitate appointment-making.&lt;br /&gt;
&lt;br /&gt;
==== [[User:Dondi|John David N. Dionisio, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/dondi&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-5782&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; dondi at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Doolan 106&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; {{Dondi Office Hours}}&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites/Recommended Background ===&lt;br /&gt;
&lt;br /&gt;
To take this course, you must have upper division standing in the Seaver College of Science and Engineering. Otherwise, there are no strict prerequisites. Backgrounds in biology and computer science, as well as prior experience with database or information management applications, may be helpful but not necessary.&lt;br /&gt;
&lt;br /&gt;
=== Class Meetings and Attendance === &lt;br /&gt;
TR 2:40–3:55pm, Seaver 120 &amp;lt;!-- 75-minute class period --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a hands-on, participatory course, thus attendance at all class meetings is required.  Each student is allowed two “sick” days (automatically excused absences) during the semester.  Further unexcused absences from class will result in a 5% deduction from the overall course grade for each absence.  Every effort should be made to attend class on oral presentation days as the content of that day&amp;#039;s class is dependent on student participation.  Unexcused absences from an oral presentation will result in a grade of zero for the presentation.  The instructors should be notified as soon as possible, electronically or by phone, of the reasons for all absences.&lt;br /&gt;
&lt;br /&gt;
Note that the last day to add or drop a class without a grade of W is September 4. The withdrawal or credit/no-credit status deadline is November 6.&lt;br /&gt;
&lt;br /&gt;
=== Mutual Responsibilities ===&lt;br /&gt;
&lt;br /&gt;
This course is designed to foster your development as a biologist and computer scientist and to give you an authentic research experience.  We will be engaged together in discovering, examining, and practicing the personal qualities, technical skills, and community standards of the scientific community.  While you are ultimately responsible for your own learning, you are not alone.  Our class constitutes a team where we will be learning from each other.  The role of the instructors is to provide the expert coaching to support and assist you on your journey.  All of the exercises, readings, assignments, and policies detailed below have been designed with this purpose in mind.&lt;br /&gt;
&lt;br /&gt;
=== Classroom Conduct ===&lt;br /&gt;
&lt;br /&gt;
We are all responsible for maintaining a classroom and laboratory environment that is safe and conducive to learning.  As such, we will observe the following:&lt;br /&gt;
&lt;br /&gt;
# As an LMU Lion, by the [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Lion%27s%20Code.pdf Lion’s code], you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship and to show respect for staff, professors, and other students.&lt;br /&gt;
# You are responsible for your own learning and for being a good class citizen.&lt;br /&gt;
# Class will start promptly on time.&lt;br /&gt;
# You are expected to come to class having done the assigned reading and preparatory work so that you are ready to participate in discussions and to perform the laboratory exercises.&lt;br /&gt;
# You are expected to bring the required materials to each class session.&lt;br /&gt;
# Cell phones, pagers, and other communication or music devices must be turned off and put away out of sight.  Your own laptop and/or tablet may be used to conduct the class exercises; however, if they are being used for other purposes and become distracting to you or others, you will be asked to put them away.&lt;br /&gt;
# All students are governed by [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Loyola-Marymount-University-Community-Standards-2015-2016.pdf LMU Community Standards Publication].&amp;lt;!--this link is to the 2014-2015 PDF, update to 2015-2016 when available--&amp;gt;  Disruptive behavior which is persistent or significantly interferes with classroom activities may be subject to disciplinary action.  A student may be referred to the Office of Student Judicial Affairs if his or her behavior constitutes a violation of the conduct code.&lt;br /&gt;
&lt;br /&gt;
=== Course Website ===&lt;br /&gt;
&lt;br /&gt;
This is the course web site and wiki, hosted by http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.  You will need to [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php?title=Special:UserLogin&amp;amp;returnto=Main+Page&amp;amp;type=signup register] to be able to edit the wiki and complete coursework. Updates to the course schedule and electronic copies of all handouts, assignments, and readings will be posted to this site. You will also use the site to keep an electronic lab notebook/journal for the course. In addition, students have been automatically enrolled in [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset BIOL/CMSI 367-01 on MyLMUConnect]. The two cross-listed sections are using the same site, which is listed as &amp;quot;Biological Databases Fall 2015&amp;quot; with no department or course number.  The MyLMUConnect site will be used for materials that cannot be made public on this wiki, including grades.&lt;br /&gt;
&lt;br /&gt;
=== E-mail Communication ===&lt;br /&gt;
&lt;br /&gt;
At times we will communicate with the entire class using campus e-mail systems, so it is essential that you regularly check your lion.lmu.edu e-mail address or forward your lion account e-mail to your preferred e-mail address. Messages sent to the instructors at night or on the weekend will be answered the next school day. Please CC both instructors on all e-mail messages related to this class.&lt;br /&gt;
&lt;br /&gt;
=== Required Materials ===&lt;br /&gt;
&lt;br /&gt;
==== Texts ====&lt;br /&gt;
&lt;br /&gt;
There is no required text to purchase for the course; materials will be put on reserve at Hannon Library or will be available online on this wiki or the MyLMUConnect site.  Specific reading assignments are given on the course schedule and should be completed before coming to class.&lt;br /&gt;
* This text has been placed on reserve at the library:  Jeffrey Ullman and Jennifer Widom, &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039;, Third Edition. Prentice Hall, 2008.&lt;br /&gt;
* Assorted handouts, articles, and sample code will be distributed throughout the semester.&lt;br /&gt;
* Additional information is also available on the web; do not hesitate to look for further sources of information regarding the concepts, techniques, tools, and paradigms that we will discuss.&lt;br /&gt;
&lt;br /&gt;
==== Materials (must be brought to each class meeting) ====&lt;br /&gt;
&lt;br /&gt;
* 3-ring binder with all course handouts&lt;br /&gt;
* Pen, pencil, extra paper&lt;br /&gt;
* USB flash drive to store data&lt;br /&gt;
* [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php/Special:UserLogin/signup Account for this wiki]&lt;br /&gt;
* [https://secure.cs.lmu.edu/ Computer Science account]&lt;br /&gt;
* [http://www.github.com GitHub account]&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
&lt;br /&gt;
The disciplines of biology and computer science come together in bioinformatics, where computational tools are needed to manage and analyze the flood of data coming from new genomics technologies. Biological databases form a significant part of this young and exciting field. This course introduces students to both the biology and computer science expertise needed to understand, use, and develop biological databases. Biology topics include the fundamentals of genetics, molecular biology, and biochemistry needed to understand the data stored in biological databases, as well as the biotechnologies used to gather these data in a high-throughput manner. Computer science topics include what biological databases are, why they are important (and needed), and the challenges that arise in compiling them effectively. Biology and computer science lectures on topics that are relevant to biological databases are coupled with hands-on experience with a variety of software packages ranging from bioinformatics utilities to general-purpose database and software development tools. After learning how to use a biological database, students will be asked to build one of their own.&lt;br /&gt;
&lt;br /&gt;
==== Course Objectives and Learning Outcomes ====&lt;br /&gt;
&lt;br /&gt;
This course is built upon L. Dee Fink’s &amp;#039;&amp;#039;taxonomy of significant learning&amp;#039;&amp;#039;, as applied to biological databases. Long after the course concludes, our hope is that:&lt;br /&gt;
* You understand how biological information is encoded in the genome and can apply this knowledge to a variety of biological tasks and problems&lt;br /&gt;
* You understand the core concepts, structure, and functions of a database, ranging from individual files to a full relational database management system, and can perform useful tasks with such data&lt;br /&gt;
* You show discipline and proficiency in day-to-day science and engineering best practices, such as maintaining journals and notebooks, managing your files and code, and critically evaluating scientific and technical information&lt;br /&gt;
* You recognize and care about how the biological and technological issues presented in this course relate to and affect society, our daily lives, and ourselves&lt;br /&gt;
* You have some skills and tools for “leaving your comfort zone,” flourishing outside of it, and learning more about biology and computer science on your own&lt;br /&gt;
* You learn how to communicate and work effectively with colleagues from different disciplines&lt;br /&gt;
&lt;br /&gt;
==== University Core Curriculum ====&lt;br /&gt;
&lt;br /&gt;
This course fulfills the following requirements in the University Core Curriculum:&lt;br /&gt;
* Integrations: Interdisciplinary Connections&lt;br /&gt;
* Upper Division Information Literacy Flag&lt;br /&gt;
* Upper Division Oral Communication Flag&lt;br /&gt;
&lt;br /&gt;
=== Course Work and Grading ===&lt;br /&gt;
&lt;br /&gt;
Letter grades are determined as follows: ≥ 90% gets an A– or better; ≥ 80% gets a B– or better; ≥ 70% gets a C– or better. The instructors may curve grades upward based on qualitative considerations such as degree of difficulty, effort, class participation, time constraints, and overall attitude throughout the course. Grades are never curved downward. Current grades will be made available at MyLMU Connect (the system formerly known as Blackboard).&lt;br /&gt;
&lt;br /&gt;
Your work in this course will be assessed in five areas:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed rgb(47, 111, 171); background: rgb(249, 249, 249); margin: 1em 0; padding: 1em&amp;quot; cellpadding=&amp;quot;5ex&amp;quot;&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, individual (10 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 140&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, shared (3 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 42&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Oral presentations&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 105&lt;br /&gt;
| points &amp;lt;!--(NAR: 25, genome/microarray JC: 35, Final: 45)--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Information literacy (additional points added to two journal assignments)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 24&lt;br /&gt;
| points &amp;lt;!-- NAR: 12 extra, lit search/microarray data: 12 extra --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Final Project Deliverables (including written report)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 175&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | &amp;#039;&amp;#039;&amp;#039;486&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;points&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Electronic Laboratory Notebook/Journal ====&lt;br /&gt;
&lt;br /&gt;
One of the most important skills you can develop as a scientist is keeping an excellent laboratory notebook. For computational research, the equivalent of the biology paper-based lab notebook is documentation of your “workflow”. For this course you will practice documentation skills by keeping an electronic lab notebook or journal. The technology we will use is this wiki, that we will create and edit during the semester. You will create an individual user page and make weekly entries that the instructors will read and grade. You will use the wiki to complete the assignments as well. The following guidelines apply:&lt;br /&gt;
* Your weekly journal entry is typically due every midnight on Tuesday PST (&amp;#039;&amp;#039;Monday night/Tuesday morning&amp;#039;&amp;#039;); consult the schedule for specific due dates for each assignment.&lt;br /&gt;
* Each weekly assignment has an individual component and a shared component.  You will earn 10 points per weekly submission for the individual journal entry and 3 points per submission for the shared journal entry.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Late journal entries will be accepted up to one week later for up to half credit.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The instructors will read and comment on how to improve your journal entries on your user talk pages.&lt;br /&gt;
* Depending on the type of assignment for that week, you may be given the opportunity to make improvements to previous journal entries as the semester progresses.&lt;br /&gt;
* Generally, your journal entries will consist of:&lt;br /&gt;
** Your electronic laboratory notebook and other documentation for hands-on exercises and projects&lt;br /&gt;
** Answers to any specific questions posed in the exercise&lt;br /&gt;
** Reflection on your learning&lt;br /&gt;
* For most weeks in the semester, you will be assigned a &amp;quot;homework partner&amp;quot; from the complementary biology or computer science discipline.  You will be expected to consult with your partner, sharing your domain expertise, in order to complete the assignment.  However, unless otherwise stated, each partner must submit his or her own work as the individual journal entry (direct copies of each other&amp;#039;s work is not allowed).&lt;br /&gt;
&lt;br /&gt;
==== Oral Presentations ====&lt;br /&gt;
&lt;br /&gt;
You will give three oral presentations in this course.  The first two will be in the format of a “Journal Club” presentation where students will present and lead discussion of research articles from the primary literature.  The third will be a research presentation on your final project.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Because that day’s class content is dependent upon each student being ready to present and lead discussion, late journal club presentations will not be accepted.   An unexcused absence from a journal club presentation will result in a grade of zero for the presentation.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Final Group Project ====&lt;br /&gt;
&lt;br /&gt;
{{ Gene Database Project Links }}&lt;br /&gt;
&lt;br /&gt;
In addition to the research presentation, the culmination of your final project will be the preparation of a written laboratory report in the style of a manuscript that could be submitted to a peer-reviewed journal, specifically [https://peerj.com/computer-science/ PeerJ Computer Science]. Specific instructions are posted [[Gene Database Project Deliverables|here]]. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;The Final Written Report cannot be accepted any later than Friday, December 18 at 4:30 PM.  The Final Written Report must be completed to receive a passing grade in the course.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Extra Credit ====&lt;br /&gt;
&lt;br /&gt;
Students may accumulate up to 12.5 points toward their final grade in extra credit by attending Department seminars in Biology or Electrical Engineering &amp;amp; Computer Science and completing the seminar sheets.  Each seminar attended is worth 2.5 points with up to 5 seminars (12.5 points) total.  You must attend the entire seminar from start to finish and personally turn in your seminar sheet to a faculty member at the end of the seminar.&lt;br /&gt;
&lt;br /&gt;
Certain, non-Biology/Computer Science Department seminars may be approved in advance for extra credit at the instructors’ discretion.  To receive credit for these seminars, you must turn in a one-page &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hard copy&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of your summary of the seminar &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;in class, within one week&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the date of the seminar or they will not count as extra credit.&lt;br /&gt;
&lt;br /&gt;
=== Work Load Expectations ===&lt;br /&gt;
&lt;br /&gt;
In line with [http://www.lmu.edu/Assets/LMU+Credit+Hour+Policy_Final.pdf LMU’s Credit Hour Policy], the work load expectation for this course is that for every one hour (50 minutes) of classroom instruction, you will complete a minimum of two hours of out-of-class student work each week.  This is a 3-unit course with 3 hours (150 minutes) of instruction per week.  Thus the expectation is that you will complete 6 hours of work outside of class per week.&lt;br /&gt;
&lt;br /&gt;
=== University Policy on Academic Honesty ===&lt;br /&gt;
&lt;br /&gt;
Loyola Marymount University expects high standards of honesty and integrity from all members of its community. All students are expected to follow the LMU honor code. As stated in the LMU Undergraduate Bulletin, “Examples of academic dishonesty include, but are not limited to, the following: all acts of cheating on assignments or examinations, or facilitating other students’ cheating; plagiarism; fabrication of data, including the use of false citations; improper use of non-print media; unauthorized access to computer accounts or files or other privileged information and improper use of Internet sites and resources.”  Attempting to gain extra credit for a seminar that you did not attend or assisting another student to do this are examples of academic dishonesty and will be considered a violation of the Honor Code.  [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process Click here for an online version of the LMU Honor Code and Process].&lt;br /&gt;
 &lt;br /&gt;
You are required to sign the Honor Code Agreement for this course.&lt;br /&gt;
&lt;br /&gt;
==== Academic Honesty Resources ====&lt;br /&gt;
* [[Media:BIOL367_Fall2015_HonorCodeAgreement.pdf|Honor Code Agreement]]&lt;br /&gt;
* [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process LMU Honor Code and Process].&lt;br /&gt;
* [http://www.bio.davidson.edu/dept/plagiarism.html The Davidson College Department of Biology Statement on Plagiarism]&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GuidelinesforLiteratureCitations.pdf | Guidelines for Literature Citations in a Scientific Paper]]&lt;br /&gt;
** [http://libguides.lmu.edu/content.php?pid=472661&amp;amp;sid=3874648 APA Style for References]&lt;br /&gt;
* [[Media:Avoiding_plagiarism.pptx | Academic Resource Center presentation on plagiarism]] (PowerPoint presentation)&lt;br /&gt;
* [http://myweb.lmu.edu/dondi/share/misc/plagiarism.pdf Notes on plagiarism from an electrical engineering &amp;amp; computer science perspective]&lt;br /&gt;
&lt;br /&gt;
=== Americans with Disabilities Act—Special Accommodations ===&lt;br /&gt;
&lt;br /&gt;
Students with special needs who require reasonable modifications, special assistance, or accommodations in this course should promptly direct their request to the Disability Support Services (DSS) Office. Any student who currently has a documented disability (ADHD, Autism Spectrum Disorder, Learning, Physical, or Psychiatric) needing academic accommodations should contact the DSS Office (Daum Hall 2nd floor, 310-338-4216) as early in the semester as possible. All discussions will remain confidential. Please visit [http://www.lmu.edu/dss www.lmu.edu/dss] for additional information. In addition, please schedule an appointment with the instructors early in the semester to discuss any accommodations for this course for which you have been approved.&lt;br /&gt;
&lt;br /&gt;
=== Revision Notice ===&lt;br /&gt;
&lt;br /&gt;
If necessary, this syllabus and its contents are subject to revision; students are responsible for any changes or modifications announced in class.  The most current version of this information resides on this page, the course web site at http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Keck Lab Workstation Guidelines ==&lt;br /&gt;
&lt;br /&gt;
Please visit [[Keck Lab Workstation Guidelines|this page]] for guidelines and instructions on using the Keck computer science lab.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4940</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4940"/>
				<updated>2015-11-02T07:18:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Style Sheet */ Add more PeerJ guidelines.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.54 cm (1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages on the lower-right corner&lt;br /&gt;
* Use left justification (“jagged” on the right side)&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Cite and list your references using [https://peerj.com/about/author-instructions/#reference-format PeerJ’s recommended reference format]. This format is very similar to APA style and should feel familiar if you have written research papers before.&lt;br /&gt;
&lt;br /&gt;
To minimize busy work, the PeerJ website includes links to downloadable style files for [https://www.zotero.org/styles/?q=peerj Zotero] and [http://endnote.com/downloads/style/peerj EndNote], if you use either system for managing and rendering references.&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4939</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4939"/>
				<updated>2015-11-02T07:16:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* References */ Last sentence was extraneous.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.5 cm (approx. 1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Cite and list your references using [https://peerj.com/about/author-instructions/#reference-format PeerJ’s recommended reference format]. This format is very similar to APA style and should feel familiar if you have written research papers before.&lt;br /&gt;
&lt;br /&gt;
To minimize busy work, the PeerJ website includes links to downloadable style files for [https://www.zotero.org/styles/?q=peerj Zotero] and [http://endnote.com/downloads/style/peerj EndNote], if you use either system for managing and rendering references.&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4938</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4938"/>
				<updated>2015-11-02T07:14:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* References */ Link to Zotero and EndNote PeerJ style files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.5 cm (approx. 1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Cite and list your references using [https://peerj.com/about/author-instructions/#reference-format PeerJ’s recommended reference format]. That website includes links to downloadable style files for [https://www.zotero.org/styles/?q=peerj Zotero] and [http://endnote.com/downloads/style/peerj EndNote], if you use either system for managing references.&lt;br /&gt;
&lt;br /&gt;
Be consistent with your format for the in text citations and for your references list at the end.&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4937</id>
		<title>Template:Gene Database Project Links</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4937"/>
				<updated>2015-11-02T07:12:33Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Switch to PeerJ format.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%; text-align: center&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot;|Gene Database Project Links&lt;br /&gt;
|-&lt;br /&gt;
! [[Gene Database Project|Overview]]&lt;br /&gt;
! [[Gene Database Project Deliverables|Deliverables]]&lt;br /&gt;
| [https://peerj.com/about/author-instructions/#reference-format Reference Format]&lt;br /&gt;
! Guilds&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[Coder]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4936</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4936"/>
				<updated>2015-11-02T07:10:40Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* References */ Adopt PeerJ’s reference format.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.5 cm (approx. 1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Cite and list your references using [https://peerj.com/about/author-instructions/#reference-format PeerJ’s recommended reference format]. That website includes links to downloadable style files for Zotero and EndNote, if you use either system for managing references.&lt;br /&gt;
&lt;br /&gt;
Be consistent with your format for the in text citations and for your references list at the end.&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4934</id>
		<title>Gene Database Project Deliverables</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project_Deliverables&amp;diff=4934"/>
				<updated>2015-11-02T07:02:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Group Report */ Make the format closer to PeerJ instructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Group Report ==&lt;br /&gt;
&lt;br /&gt;
These guidelines are based on the [https://peerj.com/about/author-instructions/ Instructions for Authors] issued by the [https://peerj.com/computer-science/ PeerJ Computer Science] journal. We have made this choice so that, if a group report is considered to be of sufficient quality, we can pursue publication of this report in &amp;#039;&amp;#039;PeerJ Computer Science&amp;#039;&amp;#039; as smoothly as possible. If there are formatting or detail questions that are not covered here, visit the [https://peerj.com/about/author-instructions/ Instructions for Authors] and follow their guidance.&lt;br /&gt;
&lt;br /&gt;
* The report should be written with contributions from all group members.&lt;br /&gt;
* Submit as &amp;#039;&amp;#039;.docx&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file.&lt;br /&gt;
&lt;br /&gt;
=== Style Sheet ===&lt;br /&gt;
&lt;br /&gt;
Use the following guidelines when formatting your report:&lt;br /&gt;
* 2.5 cm (approx. 1 in) margins on all sides&lt;br /&gt;
* Double-spaced&lt;br /&gt;
* 12 point Times/Times New Roman font&lt;br /&gt;
* Number the pages&lt;br /&gt;
&lt;br /&gt;
=== Cover Page ===&lt;br /&gt;
&lt;br /&gt;
Include the following information in a standalone cover page:&lt;br /&gt;
* A descriptive title for your project&lt;br /&gt;
* The names of the team members&lt;br /&gt;
* The course number and title of the class&lt;br /&gt;
* The date of submission&lt;br /&gt;
&lt;br /&gt;
=== Abstract ===&lt;br /&gt;
&lt;br /&gt;
Provide an abstract of no more than 500 words.&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
The introduction gives the background information necessary to understand your report. The introduction should be in the form of a logical argument that “funnels” from broad to narrow:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;nolines&amp;quot; widths=322px heights=256px&amp;gt;&lt;br /&gt;
Funnel.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* States importance of the problem&lt;br /&gt;
 Why is this species important?&lt;br /&gt;
* States what is known about the problem &lt;br /&gt;
 - Give an overview of what is known about your species&amp;#039; genome from your [[Week 11|journal club outline and presentation]].&lt;br /&gt;
 - Introduce the DNA microarray experiment that was performed on your species.&lt;br /&gt;
* States what is unknown about the problem&lt;br /&gt;
 You want to analyze the data with GenMAPP/MAPPFinder, but can&amp;#039;t because there is no Gene Database for your species.&lt;br /&gt;
* States clues that suggest how to approach the unknown&lt;br /&gt;
 Introduce XMLPipeDB and GenMAPP Builder as the answer to this problem.&lt;br /&gt;
* States the question the paper is trying to address&lt;br /&gt;
 In this case you want to discover new information about the microarray data using GenMAPP.&lt;br /&gt;
&lt;br /&gt;
=== Materials &amp;amp; Methods ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the entire workflow for the project.  This needs to be a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of what your team actually did.&lt;br /&gt;
# Download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Download GO terms from in the OBO-XML format.&lt;br /&gt;
#* Note the date of download and the version of the files.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
# Prepare microarray data (organize, normalize, perform statistical analysis)&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* Run MAPPFinder analysis&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&lt;br /&gt;
This section will summarize the results of the project.  This section will include figures, tables, and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;narrative description&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the results shown in those figures and tables.  You should include:&lt;br /&gt;
* Gene Database Schema&lt;br /&gt;
* Gene Database Testing Report on final version of Gene Database&lt;br /&gt;
* Report on quantity and identity of gene IDs that did not make it into the database&lt;br /&gt;
*# Gene IDs that were not in the XML source at all&lt;br /&gt;
*# Gene IDs that were in the XML source but did not get imported into Postgres&lt;br /&gt;
*# Gene IDs that were in Postgres but did not get exported to the GenMAPP Gene Database&lt;br /&gt;
* Report on what changes need to be made to the GenMAPP Builder code in order to to accommodate the second and third type of missing gene IDs&lt;br /&gt;
** If your team was able to make such changes, report on the results of these changes&lt;br /&gt;
* Report results of the DNA microarray analysis&lt;br /&gt;
** How many genes were significantly increased and decreased in the dataset? (including your criteria for a significant increase or decrease)&lt;br /&gt;
** Table of MAPPFinder results (from .xls)&lt;br /&gt;
** GenMAPP MAPP of a pathway relevant to your results&lt;br /&gt;
&lt;br /&gt;
=== Discussion ===&lt;br /&gt;
&lt;br /&gt;
* How well did the GenMAPP Builder process work for your species (just comment on the technical aspects here, you will discuss the teamwork/process aspects in your individual assessment).&lt;br /&gt;
* Discuss the statistical analysis and MAPPFinder results for your microarray dataset.  Compare it to what was reported in the original paper from which you got the microarray data.&lt;br /&gt;
&lt;br /&gt;
=== Conclusions ===&lt;br /&gt;
&lt;br /&gt;
Summarize the overall project and your findings. How closely do your findings correspond to the original study? Are there significant differences? Did you discover anything new?&lt;br /&gt;
&lt;br /&gt;
=== Acknowledgments ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;(Optional):&amp;#039;&amp;#039; Write a short paragraph acknowledging the assistance of anyone who is not a member of your team.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&lt;br /&gt;
Please use the [[Guidelines for Literature Citations in a Scientific Paper]].  The [http://en.wikipedia.org/wiki/APA_style#Citation APA format] is also very similar to these guidelines and will be acceptable. Be consistent with your format for the in text citations and for your references list at the end.&lt;br /&gt;
&lt;br /&gt;
== Individual Assessment and Reflection ==&lt;br /&gt;
&lt;br /&gt;
Each person on the team will complete an assessment and reflection &amp;#039;&amp;#039;individually&amp;#039;&amp;#039;.  If you are comfortable with making this assessment publicly available, you may write it up as a wiki page.  If you prefer to communicate your assessment privately, then email this to both Drs. Dahlquist and Dionisio.&lt;br /&gt;
&lt;br /&gt;
=== Statement of Work ===&lt;br /&gt;
&lt;br /&gt;
* Describe exactly what you did on the project.&lt;br /&gt;
* Provide references or links to artifacts of your work, such as:&lt;br /&gt;
** Wiki pages&lt;br /&gt;
** Other files or documents&lt;br /&gt;
** Code or scripts&lt;br /&gt;
&lt;br /&gt;
=== Assessment of Project ===&lt;br /&gt;
&lt;br /&gt;
* Give an objective assessment of the success of your project workflow and teamwork.  &lt;br /&gt;
* What worked and what didn&amp;#039;t work?  &lt;br /&gt;
* What would you do differently if you could do it all over again?&lt;br /&gt;
* Evaluate the Gene Database Project and Group Report in the following areas:&lt;br /&gt;
*# Content: What is the quality of the work? &lt;br /&gt;
*# Organization: Comment on the organization of the project and of your group&amp;#039;s wiki pages.&lt;br /&gt;
*# Completeness:  Did your team achieve all of the project objectives?  Why or why not?&lt;br /&gt;
&lt;br /&gt;
=== Reflection on the Process ===&lt;br /&gt;
&lt;br /&gt;
* What did you learn?&lt;br /&gt;
** With your head (biological or computer science principles)&lt;br /&gt;
** With your heart (personal qualities and teamwork qualities that make things work or not work)?&lt;br /&gt;
** With your hands (technical skills)?&lt;br /&gt;
* What lesson will you take away from this project that you will still use a year from now?&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4929</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4929"/>
				<updated>2015-11-02T06:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Final Group Project */ Fix dangling links, mention PeerJ Computer Science.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%&amp;quot;&amp;gt;Loyola Marymount University&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 250%; line-height: 1.25em&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;BIOL/CMSI 367-01:  Biological Databases&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%; margin-bottom: 0.85em&amp;quot;&amp;gt;Fall 2015&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toc-container&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
* The Microsoft Excel portion of the ID investigation protocol has been added to the wiki: [[Using Microsoft Excel to Compare ID Lists]]. The link has also been added to the course schedule below for Week 9.&lt;br /&gt;
:Please note that this version is similar, but not identical, to the process shown in class ([[User:Dondi|Dondi]] misremembered the function to use; it was supposed to be &amp;lt;code&amp;gt;match&amp;lt;/code&amp;gt;, as shown in the wiki page, and not &amp;lt;code&amp;gt;lookup&amp;lt;/code&amp;gt;). Furthermore, instructions for exporting from PostgreSQL (you might recall that the numbers did not match there either) are included. —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 18:49, 29 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;TriBeta Halloween Party and Costume Contest:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 6:00 PM, LSB Terrace, $3 (to cover food). RSVP to ralkhaya at lion dot lmu dot edu.  Come see if you can beat me in the costume contest! &amp;#039;&amp;#039;&amp;amp;mdash; [[User:Kdahlquist|Kdahlquist]] ([[User talk:Kdahlquist|talk]]) 09:46, 28 October 2015 (PDT)&amp;#039;&amp;#039; &lt;br /&gt;
* An initial round of feedback to the [[Week 6]] assignment has been posted to your respective user talk pages. The database part is not finished, but I figured some feedback and basics on the best practice stuff will be useful as you prepare your [[Week 8]] work (as in, get used to making the best practices routine so you can avoid nagging deductions week after week). —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 21:30, 25 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
* To report issues with the configuration of the computers in Seaver 120, please record it on [[Talk:Software_Configuration | this wiki page.]]  The complete list of software that should be installed for this course is found [[Software Configuration | here]].  Note that this configuration is Windows-specific.  Some software may not be available for a Mac or may look differently.&lt;br /&gt;
&lt;br /&gt;
=== Upcoming Seminars ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, October 29, 11:50 AM, Seaver 200, Presentation by first candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 2:00 PM, LSB Auditorium, Dr. Ashley Robart, LMU Biology, &amp;#039;&amp;#039;MALE QUALITY INFLUENCES PARENTAL CARE, BUT NOT FEMALE COMPETITION, IN A MONOGAMOUS, BIPARENTAL FISH.&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Noyce Poster Session:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 4:00 – 6:00 PM, Hannon Courtyard of the LSB (area just outside the west entrance). The NOYCE Summer Interns will be presenting the posters they made highlighting the research they have done. The Poster Session will be a fantastic opportunity to talk to the presenters and ask them all about their research! To receive the extra credit, fill out one of the &amp;quot;seminar&amp;quot; sheets available according to the instructions and turn it in to a professor before you leave the poster session.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 5, 11:50 AM, Seaver 200, Presentation by second candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, November 6, 2:00 PM, LSB Auditorium, Dr. Wes Dowd, LMU Biology.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Tuesday, November 10, 11:50 AM, Seaver 200, Presentation by third candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 12, 11:50 AM, Seaver 200, Presentation by fourth candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, December 4, 2:00 PM, LSB Auditorium, Dr. Deepa Dabir, LMU Biology.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Course Assessment ===&lt;br /&gt;
&lt;br /&gt;
* Please note also that as part of the deliverables, we ask that you fill out the confidential team evaluation [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing GenMAPP and MAPPFinder ===&lt;br /&gt;
&lt;br /&gt;
* If you want to install GenMAPP and MAPPFinder on your own computer to use over the break, the instructions can be found on the [[Week_8#Downloading_and_installing_the_GenMAPP_and_MAPPFinder_Software | Week 8 Assignment]] page.  Note that this software is Windows-only.&lt;br /&gt;
&lt;br /&gt;
=== Class Locations ===&lt;br /&gt;
&lt;br /&gt;
* Final presentations on Thursday, December 12 will take place in the &amp;#039;&amp;#039;classroom&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Group Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Gene Database Project]]&lt;br /&gt;
* [[Gene Database Project Report Guidelines]]&lt;br /&gt;
&lt;br /&gt;
=== Teams ===&lt;br /&gt;
&lt;br /&gt;
To be determined.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;[[Species | Team name]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[[[Team Name]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Guilds ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[Developer]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Undergraduate Library Research Award ===&lt;br /&gt;
&lt;br /&gt;
The projects for this course will qualify for the Hannon Library’s [http://digitalcommons.lmu.edu/ulra/ Undergraduate Library Research Award (ULRA)].  Click on the link if you are interested in this competition.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instructors ==&lt;br /&gt;
* [[User:Kdahlquist|Kam D. Dahlquist]]&lt;br /&gt;
* [[User:Dondi|John David N. Dionisio]]&lt;br /&gt;
&lt;br /&gt;
== Students ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-left: auto; margin-right: auto&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User: Malverso | Mary Alverson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Rlegaspi | Ron Legaspi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Troque | Trixie Roque]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jwoodlee | Jake Woodlee]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Nanguiano | Nicole Anguiano]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Blitvak | Brandon Litvak]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[user:Msaeedi23 | Mahrad Saeedi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kwyllie | Kevin Wyllie]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Bklein7 | Brandon Klein]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Lenaolufson | Elena Olufson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Emilysimso | Emily Simso]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Eyanosch | Erich Yanoschik]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jkuroda | Josh Kuroda]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Vpachec3 | Veronica Pacheco]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Anuvarsh | Anindita Varshneya]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kzebrows | Kristin Zebrowski]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{ Gene Database Project Links }}&lt;br /&gt;
&lt;br /&gt;
== Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
The current course schedule is shown below.  In addition to the listed in-class agendas, the following guidelines are also notable:&lt;br /&gt;
&lt;br /&gt;
* Unless otherwise stated on the schedule, your weekly journals/assignments are due on Tuesdays at midnight (Monday night/Tuesday morning).  In cases where subsequent revisions or corrections will be accepted, the instructors will provide feedback and submission deadlines on a per-assignment basis.&lt;br /&gt;
* Reading assignments should be completed &amp;#039;&amp;#039;before&amp;#039;&amp;#039; coming to class.&lt;br /&gt;
* Dr. Dionisio&amp;amp;rsquo;s office hours ({{ Dondi Office Hours }}) can be viewed as unofficial lab sessions: use them for IT help or desktop support &lt;br /&gt;
&lt;br /&gt;
=== Part 1: Building Blocks (Genetic Code and Manipulating Text) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/1/2015&lt;br /&gt;
| &lt;br /&gt;
| Syllabus walkthrough&lt;br /&gt;
* &amp;#039;&amp;#039;my.cs.lmu.edu&amp;#039;&amp;#039; account: Visit https://secure.cs.lmu.edu to get a computer science account if you don’t already have one&lt;br /&gt;
* Class wiki account: Set up a username and password for this wiki site&lt;br /&gt;
&lt;br /&gt;
Pairwise interviews (report back after each bullet)&lt;br /&gt;
* Basic acquaintance information&lt;br /&gt;
* Like a cell/not like a cell; like a computer/not like a computer&lt;br /&gt;
&amp;lt;!--** Disk/flash drive; soup can; hard-boiled egg; Etch-a-Sketch; battery; toy flute/recorder; clock--&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 1]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/8)&lt;br /&gt;
&lt;br /&gt;
[[Class_Journal_Week_1 | Class Journal Week 1]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/3/2015&lt;br /&gt;
| &lt;br /&gt;
[http://dl.acm.org/ft_gateway.cfm?id=1378711 &amp;#039;&amp;#039;Voices of Computing&amp;#039;&amp;#039;] and [http://dl.acm.org/ft_gateway.cfm?id=1272529 &amp;#039;&amp;#039;Computing is a Natural Science&amp;#039;&amp;#039;] by Peter Denning (these links should be accessed from within LMU to get the full article)&lt;br /&gt;
&lt;br /&gt;
[https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Chapter 1 of &amp;#039;&amp;#039;On Becoming a Biologist&amp;#039;&amp;#039;] by John Janovy, Jr. (on MyLMUConnect)&lt;br /&gt;
| Discuss the [[Week 1]] assignment (accounts should be ready to wiki at this point)&lt;br /&gt;
* Quick wiki overview&lt;br /&gt;
* User wiki page setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/8/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK21134/#A5234 Ch. 1.1 &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/watsoncrick.pdf Watson &amp;amp; Crick (1953)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/franklingosling.pdf Franklin &amp;amp; Gosling (1953)]&lt;br /&gt;
&lt;br /&gt;
| DNA&lt;br /&gt;
* DNA structure and Genetic Code&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides shown in class on MyLMU Connect]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 2]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/15)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 2]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/10/2015&lt;br /&gt;
| On [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset MyLMUConnect]: &lt;br /&gt;
&lt;br /&gt;
Nirenberg (2004) &amp;#039;&amp;#039;Deciphering the Genetic Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kaji &amp;amp; Kaji (2004) &amp;#039;&amp;#039;Setting the Record Straight&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Moody (2004) &amp;#039;&amp;#039;Digital Code of Life&amp;#039;&amp;#039;, Ch. 1&lt;br /&gt;
&lt;br /&gt;
Hayes (2004) &amp;#039;&amp;#039;Ode to the Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.ncbi.nlm.nih.gov/books/NBK21121/ Brown, T.A. (2002) &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;, Ch. 3, especially section 3.3.2]&lt;br /&gt;
| Central dogma&lt;br /&gt;
* [http://www.youtube.com/watch?v=u9dhO0iCLww Berkeley translation video]&lt;br /&gt;
* This [http://www.dnai.org/a/index.html web site] has links to animations of the replication, transcription, and translation processes.&lt;br /&gt;
* Slides shown in class&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GeneticCode-GeneExpression.pdf | Genetic Code-Gene Expression Pencil Exercise]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/15/2015&lt;br /&gt;
|  [http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ Ford (2015) &amp;#039;&amp;#039;What is Code?&amp;#039;&amp;#039;]&lt;br /&gt;
* Emphasis on first two sections (“The Man in the Taupe Blazer” and “Let’s Begin”), but feel free to read further&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/intro/wheres-my-stuff.pdf Where&amp;#039;s my Stuff?]&lt;br /&gt;
&lt;br /&gt;
[[Introduction to the Command Line]]&lt;br /&gt;
| An overview of computers, networks, files, and databases&lt;br /&gt;
* Useful help resource: http://explainshell.com&lt;br /&gt;
* Manipulating DNA sequences on the command line&lt;br /&gt;
* [[Using the XMLPipeDB Match Utility]] &amp;lt;!-- (requires setup of compression utility and Java); Use XML files as sources --&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 3]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/22)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 3]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/17/2015&lt;br /&gt;
| &lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Hands-on practice&lt;br /&gt;
* Discuss [[Week 3]] assignment tasks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/22/2015&lt;br /&gt;
| [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Moody (2004) Chapter 6 (on MyLMU Connect)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/pdf/4651000a.pdf Science After the Sequence]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/full/4651000a.html Nature Special: Human Genome at 10]&lt;br /&gt;
&lt;br /&gt;
[http://nar.oxfordjournals.org/content/43/D1/D1.full Introduction to &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&lt;br /&gt;
[http://scienceblogs.com/digitalbio/2015/01/30/bio-databases-2015/ Commentary on &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&amp;lt;!--* [http://www.sciencemag.org/content/vol291/issue5507/index.dtl Human Genome Project articles in &amp;#039;&amp;#039;Science&amp;#039;&amp;#039;]&lt;br /&gt;
* [http://www.nature.com/nature/journal/v409/n6822/index.html Human Genome Project articles in &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]--&amp;gt;&lt;br /&gt;
| Genome sequencing and annotation&lt;br /&gt;
&lt;br /&gt;
Introduction to biological databases&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/bbcswebdav/pid-1146580-dt-content-rid-1944592_1/courses/M_46692.201530/20150922_HGP_IntroBiolDB.pdf Slides shown in class (MyLMU Connect)]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L01_DataManagement.pptx DataONE: Why Data Management]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L02_DataSharing.pptx DataONE: Data Sharing]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 4]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/29)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 4]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/24/2015&lt;br /&gt;
| [[More Text Processing Features]]&lt;br /&gt;
&lt;br /&gt;
[[How to Read XML Files]]&lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Review assignment issues&lt;br /&gt;
* Discuss [[Week 4]] computer portion&lt;br /&gt;
&amp;lt;!-- * Public wiki&lt;br /&gt;
* Introduction to software/licensing/open source&lt;br /&gt;
* Open source/open access publishing --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/29/2015&lt;br /&gt;
| [http://myweb.lmu.edu/dondi/share/db/relational1.pdf The Relational Data Model: Structure]&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/sql.pdf An Overview of SQL]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/pgsql-quickstart.pdf PostgreSQL Quick Start]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
| Introduction to relational databases&lt;br /&gt;
* Case study from one of the NAR databases: http://www.rhesusbase.org &amp;lt;!-- Injection query sequence: INSR&amp;#039; and genefullname = &amp;#039;insulin receptor&lt;br /&gt;
then try: INSR&amp;#039;; select * from gene where to reveal error then finally include alias like &amp;#039;%PP for successful injection --&amp;gt;&lt;br /&gt;
* Relating XML structure to relational structure&lt;br /&gt;
&lt;br /&gt;
Test your understanding: http://xkcd.com/327/&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 5]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/6)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 5]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/1/2015&lt;br /&gt;
| Additional background and details can be found in Chapters 1, 2, and 6 of &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039; (on reserve at the library).&lt;br /&gt;
| SQL and working with relational databases continued&lt;br /&gt;
* [[PostgreSQL Tutorial]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #ddf&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;10/6/2015&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; |  &lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | President Synder’s Inauguration Day&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 6]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/13)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 6]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/8/2015&lt;br /&gt;
| &lt;br /&gt;
| Database presentations&lt;br /&gt;
# Nicole, Erich, Kristen, Josh&lt;br /&gt;
# Mary, Emily, Brandon L., Kevin&lt;br /&gt;
# Lena, Jake, Anu, Veronica&lt;br /&gt;
# Ron, Mahrad, Brandon K., Trixie&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
&amp;lt;!--Introduction to the [http://www.opensource.org/ open source] culture--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 2: Going Deeper (Gene Expression Data and Relational Databases) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/13/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK26818/#A1633 Alberts &amp;#039;&amp;#039;et al&amp;#039;&amp;#039;. (2002) &amp;#039;&amp;#039;Molecular Biology of the Cell&amp;#039;&amp;#039;, Ch. 8: Microarrays]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/ng/journal/v21/n1s/full/ng0199supp_33.html Brown &amp;amp; Botstein (1999) &amp;quot;Microarrays&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Campbell &amp;amp; Heyer Chapter 4 (on [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1 MyLMU Connect])&lt;br /&gt;
&lt;br /&gt;
DeRisi et al. (1997)  [http://www.sciencemag.org/content/278/5338/680.full &amp;#039;&amp;#039;Science&amp;#039;&amp;#039; 278: 680-686.]&lt;br /&gt;
&lt;br /&gt;
| Introduction to DNA microarray data, Gene Ontology, and GenMAPP/MAPPFinder&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides on MyLMU Connect]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L04_DataEntryManipulation.pptx DataONE: Data Entry and Manipulation]&lt;br /&gt;
* [http://www.bio.davidson.edu/courses/genomics/chip/chip.html Microarray animation]&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 7]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/20)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 7]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/15/2015&lt;br /&gt;
| [http://www.nature.com/nature/journal/v417/n6889/full/nature00778.html Merrell et al. (2002) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; microarray data&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae DNA Microarray Analysis activity part 1]&lt;br /&gt;
&lt;br /&gt;
Test your understanding: [http://xkcd.com/882/ http://xkcd.com/882/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/20/2015&lt;br /&gt;
| [http://www.nature.com/ng/journal/v25/n1/full/ng0500_25.html Ashburner et al. (2000) &amp;quot;Gene Ontology&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.genomebiology.com/content/4/1/R7 Doniger et al. (2003) &amp;quot;MAPPFinder&amp;quot; &amp;#039;&amp;#039;Genome Biology&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols DNA Microarray Analysis activity part 2]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 8]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/27)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 8]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/22/2015&lt;br /&gt;
| &lt;br /&gt;
| Work session to complete DNA Microarray Analysis [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1] and [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 9&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/27/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Introduction to XMLPipeDB: export a Gene Database for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;&lt;br /&gt;
** [[Running GenMAPP Builder]]&lt;br /&gt;
* [http://www.opensource.org/ Open Source] review&lt;br /&gt;
* Group requests due midnight Saturday, October 31&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 9]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/3)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 9]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/29/2015&lt;br /&gt;
| [http://nar.oxfordjournals.org/content/40/D1/D565.full Dimmer et al. (2012) &amp;quot;UniProt-GOA Database&amp;quot; &amp;#039;&amp;#039;Nucleic Acids Research&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/journal/v406/n6795/full/406477A0.html Heidelberg et al. (2000) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; Genome Sequence&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| &lt;br /&gt;
Integrity analysis of Vibrio Gene Database&lt;br /&gt;
* [[How Do I Count Thee?  Let Me Count The Ways]]&lt;br /&gt;
* [[Using Microsoft Excel to Compare ID Lists]]&lt;br /&gt;
* [[Gene Database Testing Report Sample | Complete your Gene Database Testing Report for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 3: Integrating for Research (Gene Database Project) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 10&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Annotated bibliography of genomics papers for your species&lt;br /&gt;
* &amp;#039;&amp;#039;Course LibGuide:&amp;#039;&amp;#039; http://libguides.lmu.edu/BIOL367&lt;br /&gt;
** Select genome paper for journal club&lt;br /&gt;
** Select microarray paper&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 10]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[Class Journal Week 10]]--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/5/2015&lt;br /&gt;
| &lt;br /&gt;
| Begin [[Gene_Database_Project | group projects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/10/2015&lt;br /&gt;
| &lt;br /&gt;
| Guild meetings and work session&lt;br /&gt;
* Export of Gene Database for your group&amp;#039;s species&lt;br /&gt;
* Document ID types for your species&lt;br /&gt;
* Begin DNA microarray analysis&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 11]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/17)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/12/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
&amp;lt;!--Dondi out of town--&amp;gt;&lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/17/2015&lt;br /&gt;
| &lt;br /&gt;
| First Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 12]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/24)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/19/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/24/2015&lt;br /&gt;
| &lt;br /&gt;
| Second Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;No Week 13 assignment&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #ded&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thursday&amp;lt;br/&amp;gt;11/26/2015&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thanksgiving—no class&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/1/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 14]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/8)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 15&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/8/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 15]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/15)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/10/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #edd&amp;quot; | F&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;12/15/2015&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Final project presentations 2:00-4:00 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Friday&amp;lt;br/&amp;gt;12/18/2015 4:30 PM&lt;br /&gt;
| &lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Project deliverables due 4:30 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Course Information ==&lt;br /&gt;
&lt;br /&gt;
=== Instructors ===&lt;br /&gt;
&lt;br /&gt;
==== [[User:Kdahlquist | Kam D. Dahlquist, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/kdahlqui&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-7697&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; kdahlquist at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Life Sciences Building 289&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; Tuesdays 9:00-11:00 AM, Wednesdays 1:30-3:30 PM and by appointment.  I keep a sign-up sheet on my office door to facilitate appointment-making.&lt;br /&gt;
&lt;br /&gt;
==== [[User:Dondi|John David N. Dionisio, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/dondi&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-5782&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; dondi at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Doolan 106&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; {{Dondi Office Hours}}&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites/Recommended Background ===&lt;br /&gt;
&lt;br /&gt;
To take this course, you must have upper division standing in the Seaver College of Science and Engineering. Otherwise, there are no strict prerequisites. Backgrounds in biology and computer science, as well as prior experience with database or information management applications, may be helpful but not necessary.&lt;br /&gt;
&lt;br /&gt;
=== Class Meetings and Attendance === &lt;br /&gt;
TR 2:40–3:55pm, Seaver 120 &amp;lt;!-- 75-minute class period --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a hands-on, participatory course, thus attendance at all class meetings is required.  Each student is allowed two “sick” days (automatically excused absences) during the semester.  Further unexcused absences from class will result in a 5% deduction from the overall course grade for each absence.  Every effort should be made to attend class on oral presentation days as the content of that day&amp;#039;s class is dependent on student participation.  Unexcused absences from an oral presentation will result in a grade of zero for the presentation.  The instructors should be notified as soon as possible, electronically or by phone, of the reasons for all absences.&lt;br /&gt;
&lt;br /&gt;
Note that the last day to add or drop a class without a grade of W is September 4. The withdrawal or credit/no-credit status deadline is November 6.&lt;br /&gt;
&lt;br /&gt;
=== Mutual Responsibilities ===&lt;br /&gt;
&lt;br /&gt;
This course is designed to foster your development as a biologist and computer scientist and to give you an authentic research experience.  We will be engaged together in discovering, examining, and practicing the personal qualities, technical skills, and community standards of the scientific community.  While you are ultimately responsible for your own learning, you are not alone.  Our class constitutes a team where we will be learning from each other.  The role of the instructors is to provide the expert coaching to support and assist you on your journey.  All of the exercises, readings, assignments, and policies detailed below have been designed with this purpose in mind.&lt;br /&gt;
&lt;br /&gt;
=== Classroom Conduct ===&lt;br /&gt;
&lt;br /&gt;
We are all responsible for maintaining a classroom and laboratory environment that is safe and conducive to learning.  As such, we will observe the following:&lt;br /&gt;
&lt;br /&gt;
# As an LMU Lion, by the [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Lion%27s%20Code.pdf Lion’s code], you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship and to show respect for staff, professors, and other students.&lt;br /&gt;
# You are responsible for your own learning and for being a good class citizen.&lt;br /&gt;
# Class will start promptly on time.&lt;br /&gt;
# You are expected to come to class having done the assigned reading and preparatory work so that you are ready to participate in discussions and to perform the laboratory exercises.&lt;br /&gt;
# You are expected to bring the required materials to each class session.&lt;br /&gt;
# Cell phones, pagers, and other communication or music devices must be turned off and put away out of sight.  Your own laptop and/or tablet may be used to conduct the class exercises; however, if they are being used for other purposes and become distracting to you or others, you will be asked to put them away.&lt;br /&gt;
# All students are governed by [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Loyola-Marymount-University-Community-Standards-2015-2016.pdf LMU Community Standards Publication].&amp;lt;!--this link is to the 2014-2015 PDF, update to 2015-2016 when available--&amp;gt;  Disruptive behavior which is persistent or significantly interferes with classroom activities may be subject to disciplinary action.  A student may be referred to the Office of Student Judicial Affairs if his or her behavior constitutes a violation of the conduct code.&lt;br /&gt;
&lt;br /&gt;
=== Course Website ===&lt;br /&gt;
&lt;br /&gt;
This is the course web site and wiki, hosted by http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.  You will need to [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php?title=Special:UserLogin&amp;amp;returnto=Main+Page&amp;amp;type=signup register] to be able to edit the wiki and complete coursework. Updates to the course schedule and electronic copies of all handouts, assignments, and readings will be posted to this site. You will also use the site to keep an electronic lab notebook/journal for the course. In addition, students have been automatically enrolled in [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset BIOL/CMSI 367-01 on MyLMUConnect]. The two cross-listed sections are using the same site, which is listed as &amp;quot;Biological Databases Fall 2015&amp;quot; with no department or course number.  The MyLMUConnect site will be used for materials that cannot be made public on this wiki, including grades.&lt;br /&gt;
&lt;br /&gt;
=== E-mail Communication ===&lt;br /&gt;
&lt;br /&gt;
At times we will communicate with the entire class using campus e-mail systems, so it is essential that you regularly check your lion.lmu.edu e-mail address or forward your lion account e-mail to your preferred e-mail address. Messages sent to the instructors at night or on the weekend will be answered the next school day. Please CC both instructors on all e-mail messages related to this class.&lt;br /&gt;
&lt;br /&gt;
=== Required Materials ===&lt;br /&gt;
&lt;br /&gt;
==== Texts ====&lt;br /&gt;
&lt;br /&gt;
There is no required text to purchase for the course; materials will be put on reserve at Hannon Library or will be available online on this wiki or the MyLMUConnect site.  Specific reading assignments are given on the course schedule and should be completed before coming to class.&lt;br /&gt;
* This text has been placed on reserve at the library:  Jeffrey Ullman and Jennifer Widom, &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039;, Third Edition. Prentice Hall, 2008.&lt;br /&gt;
* Assorted handouts, articles, and sample code will be distributed throughout the semester.&lt;br /&gt;
* Additional information is also available on the web; do not hesitate to look for further sources of information regarding the concepts, techniques, tools, and paradigms that we will discuss.&lt;br /&gt;
&lt;br /&gt;
==== Materials (must be brought to each class meeting) ====&lt;br /&gt;
&lt;br /&gt;
* 3-ring binder with all course handouts&lt;br /&gt;
* Pen, pencil, extra paper&lt;br /&gt;
* USB flash drive to store data&lt;br /&gt;
* [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php/Special:UserLogin/signup Account for this wiki]&lt;br /&gt;
* [https://secure.cs.lmu.edu/ Computer Science account]&lt;br /&gt;
* [http://www.github.com GitHub account]&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
&lt;br /&gt;
The disciplines of biology and computer science come together in bioinformatics, where computational tools are needed to manage and analyze the flood of data coming from new genomics technologies. Biological databases form a significant part of this young and exciting field. This course introduces students to both the biology and computer science expertise needed to understand, use, and develop biological databases. Biology topics include the fundamentals of genetics, molecular biology, and biochemistry needed to understand the data stored in biological databases, as well as the biotechnologies used to gather these data in a high-throughput manner. Computer science topics include what biological databases are, why they are important (and needed), and the challenges that arise in compiling them effectively. Biology and computer science lectures on topics that are relevant to biological databases are coupled with hands-on experience with a variety of software packages ranging from bioinformatics utilities to general-purpose database and software development tools. After learning how to use a biological database, students will be asked to build one of their own.&lt;br /&gt;
&lt;br /&gt;
==== Course Objectives and Learning Outcomes ====&lt;br /&gt;
&lt;br /&gt;
This course is built upon L. Dee Fink’s &amp;#039;&amp;#039;taxonomy of significant learning&amp;#039;&amp;#039;, as applied to biological databases. Long after the course concludes, our hope is that:&lt;br /&gt;
* You understand how biological information is encoded in the genome and can apply this knowledge to a variety of biological tasks and problems&lt;br /&gt;
* You understand the core concepts, structure, and functions of a database, ranging from individual files to a full relational database management system, and can perform useful tasks with such data&lt;br /&gt;
* You show discipline and proficiency in day-to-day science and engineering best practices, such as maintaining journals and notebooks, managing your files and code, and critically evaluating scientific and technical information&lt;br /&gt;
* You recognize and care about how the biological and technological issues presented in this course relate to and affect society, our daily lives, and ourselves&lt;br /&gt;
* You have some skills and tools for “leaving your comfort zone,” flourishing outside of it, and learning more about biology and computer science on your own&lt;br /&gt;
* You learn how to communicate and work effectively with colleagues from different disciplines&lt;br /&gt;
&lt;br /&gt;
==== University Core Curriculum ====&lt;br /&gt;
&lt;br /&gt;
This course fulfills the following requirements in the University Core Curriculum:&lt;br /&gt;
* Integrations: Interdisciplinary Connections&lt;br /&gt;
* Upper Division Information Literacy Flag&lt;br /&gt;
* Upper Division Oral Communication Flag&lt;br /&gt;
&lt;br /&gt;
=== Course Work and Grading ===&lt;br /&gt;
&lt;br /&gt;
Letter grades are determined as follows: ≥ 90% gets an A– or better; ≥ 80% gets a B– or better; ≥ 70% gets a C– or better. The instructors may curve grades upward based on qualitative considerations such as degree of difficulty, effort, class participation, time constraints, and overall attitude throughout the course. Grades are never curved downward. Current grades will be made available at MyLMU Connect (the system formerly known as Blackboard).&lt;br /&gt;
&lt;br /&gt;
Your work in this course will be assessed in five areas:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed rgb(47, 111, 171); background: rgb(249, 249, 249); margin: 1em 0; padding: 1em&amp;quot; cellpadding=&amp;quot;5ex&amp;quot;&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, individual (10 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 140&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, shared (3 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 42&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Oral presentations&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 105&lt;br /&gt;
| points &amp;lt;!--(NAR: 25, genome/microarray JC: 35, Final: 45)--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Information literacy (additional points added to two journal assignments)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 24&lt;br /&gt;
| points &amp;lt;!-- NAR: 12 extra, lit search/microarray data: 12 extra --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Final Project Deliverables (including written report)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 175&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | &amp;#039;&amp;#039;&amp;#039;486&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;points&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Electronic Laboratory Notebook/Journal ====&lt;br /&gt;
&lt;br /&gt;
One of the most important skills you can develop as a scientist is keeping an excellent laboratory notebook. For computational research, the equivalent of the biology paper-based lab notebook is documentation of your “workflow”. For this course you will practice documentation skills by keeping an electronic lab notebook or journal. The technology we will use is this wiki, that we will create and edit during the semester. You will create an individual user page and make weekly entries that the instructors will read and grade. You will use the wiki to complete the assignments as well. The following guidelines apply:&lt;br /&gt;
* Your weekly journal entry is typically due every midnight on Tuesday PST (&amp;#039;&amp;#039;Monday night/Tuesday morning&amp;#039;&amp;#039;); consult the schedule for specific due dates for each assignment.&lt;br /&gt;
* Each weekly assignment has an individual component and a shared component.  You will earn 10 points per weekly submission for the individual journal entry and 3 points per submission for the shared journal entry.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Late journal entries will be accepted up to one week later for up to half credit.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The instructors will read and comment on how to improve your journal entries on your user talk pages.&lt;br /&gt;
* Depending on the type of assignment for that week, you may be given the opportunity to make improvements to previous journal entries as the semester progresses.&lt;br /&gt;
* Generally, your journal entries will consist of:&lt;br /&gt;
** Your electronic laboratory notebook and other documentation for hands-on exercises and projects&lt;br /&gt;
** Answers to any specific questions posed in the exercise&lt;br /&gt;
** Reflection on your learning&lt;br /&gt;
* For most weeks in the semester, you will be assigned a &amp;quot;homework partner&amp;quot; from the complementary biology or computer science discipline.  You will be expected to consult with your partner, sharing your domain expertise, in order to complete the assignment.  However, unless otherwise stated, each partner must submit his or her own work as the individual journal entry (direct copies of each other&amp;#039;s work is not allowed).&lt;br /&gt;
&lt;br /&gt;
==== Oral Presentations ====&lt;br /&gt;
&lt;br /&gt;
You will give three oral presentations in this course.  The first two will be in the format of a “Journal Club” presentation where students will present and lead discussion of research articles from the primary literature.  The third will be a research presentation on your final project.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Because that day’s class content is dependent upon each student being ready to present and lead discussion, late journal club presentations will not be accepted.   An unexcused absence from a journal club presentation will result in a grade of zero for the presentation.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Final Group Project ====&lt;br /&gt;
&lt;br /&gt;
* Overall Description of the [[Gene Database Project]], including entire list of deliverables&lt;br /&gt;
* [[Gene Database Project Deliverables]]&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Teams&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Guilds&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Team1]]&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team2]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team3]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team4]]&lt;br /&gt;
| [[Coder]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to the research presentation, the culmination of your final project will be the preparation of a written laboratory report in the style of a manuscript that could be submitted to a peer-reviewed journal, specifically [https://peerj.com/computer-science/ PeerJ Computer Science]. Specific instructions are posted [[Gene Database Project Deliverables|here]]. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;The Final Written Report cannot be accepted any later than Friday, December 18 at 4:30 PM.  The Final Written Report must be completed to receive a passing grade in the course.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Extra Credit ====&lt;br /&gt;
&lt;br /&gt;
Students may accumulate up to 12.5 points toward their final grade in extra credit by attending Department seminars in Biology or Electrical Engineering &amp;amp; Computer Science and completing the seminar sheets.  Each seminar attended is worth 2.5 points with up to 5 seminars (12.5 points) total.  You must attend the entire seminar from start to finish and personally turn in your seminar sheet to a faculty member at the end of the seminar.&lt;br /&gt;
&lt;br /&gt;
Certain, non-Biology/Computer Science Department seminars may be approved in advance for extra credit at the instructors’ discretion.  To receive credit for these seminars, you must turn in a one-page &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hard copy&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of your summary of the seminar &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;in class, within one week&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the date of the seminar or they will not count as extra credit.&lt;br /&gt;
&lt;br /&gt;
=== Work Load Expectations ===&lt;br /&gt;
&lt;br /&gt;
In line with [http://www.lmu.edu/Assets/LMU+Credit+Hour+Policy_Final.pdf LMU’s Credit Hour Policy], the work load expectation for this course is that for every one hour (50 minutes) of classroom instruction, you will complete a minimum of two hours of out-of-class student work each week.  This is a 3-unit course with 3 hours (150 minutes) of instruction per week.  Thus the expectation is that you will complete 6 hours of work outside of class per week.&lt;br /&gt;
&lt;br /&gt;
=== University Policy on Academic Honesty ===&lt;br /&gt;
&lt;br /&gt;
Loyola Marymount University expects high standards of honesty and integrity from all members of its community. All students are expected to follow the LMU honor code. As stated in the LMU Undergraduate Bulletin, “Examples of academic dishonesty include, but are not limited to, the following: all acts of cheating on assignments or examinations, or facilitating other students’ cheating; plagiarism; fabrication of data, including the use of false citations; improper use of non-print media; unauthorized access to computer accounts or files or other privileged information and improper use of Internet sites and resources.”  Attempting to gain extra credit for a seminar that you did not attend or assisting another student to do this are examples of academic dishonesty and will be considered a violation of the Honor Code.  [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process Click here for an online version of the LMU Honor Code and Process].&lt;br /&gt;
 &lt;br /&gt;
You are required to sign the Honor Code Agreement for this course.&lt;br /&gt;
&lt;br /&gt;
==== Academic Honesty Resources ====&lt;br /&gt;
* [[Media:BIOL367_Fall2015_HonorCodeAgreement.pdf|Honor Code Agreement]]&lt;br /&gt;
* [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process LMU Honor Code and Process].&lt;br /&gt;
* [http://www.bio.davidson.edu/dept/plagiarism.html The Davidson College Department of Biology Statement on Plagiarism]&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GuidelinesforLiteratureCitations.pdf | Guidelines for Literature Citations in a Scientific Paper]]&lt;br /&gt;
** [http://libguides.lmu.edu/content.php?pid=472661&amp;amp;sid=3874648 APA Style for References]&lt;br /&gt;
* [[Media:Avoiding_plagiarism.pptx | Academic Resource Center presentation on plagiarism]] (PowerPoint presentation)&lt;br /&gt;
* [http://myweb.lmu.edu/dondi/share/misc/plagiarism.pdf Notes on plagiarism from an electrical engineering &amp;amp; computer science perspective]&lt;br /&gt;
&lt;br /&gt;
=== Americans with Disabilities Act—Special Accommodations ===&lt;br /&gt;
&lt;br /&gt;
Students with special needs who require reasonable modifications, special assistance, or accommodations in this course should promptly direct their request to the Disability Support Services (DSS) Office. Any student who currently has a documented disability (ADHD, Autism Spectrum Disorder, Learning, Physical, or Psychiatric) needing academic accommodations should contact the DSS Office (Daum Hall 2nd floor, 310-338-4216) as early in the semester as possible. All discussions will remain confidential. Please visit [http://www.lmu.edu/dss www.lmu.edu/dss] for additional information. In addition, please schedule an appointment with the instructors early in the semester to discuss any accommodations for this course for which you have been approved.&lt;br /&gt;
&lt;br /&gt;
=== Revision Notice ===&lt;br /&gt;
&lt;br /&gt;
If necessary, this syllabus and its contents are subject to revision; students are responsible for any changes or modifications announced in class.  The most current version of this information resides on this page, the course web site at http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Keck Lab Workstation Guidelines ==&lt;br /&gt;
&lt;br /&gt;
Please visit [[Keck Lab Workstation Guidelines|this page]] for guidelines and instructions on using the Keck computer science lab.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4913</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4913"/>
				<updated>2015-11-02T02:45:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Updating and Committing Code */ Adapt update/commit steps for git.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions in the [[#Adding a Species Profile to GenMAPP Builder|Adding a Species Profile to GenMAPP Builder]] section of this wiki page in order to:&lt;br /&gt;
* Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
* Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
* Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
** &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
=== Initial Build ===&lt;br /&gt;
&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;&amp;#039;Team &amp;gt; Synchronize Workspace&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* If Eclipse asks you whether it is OK to enter the &amp;#039;&amp;#039;Team Synchronizing&amp;#039;&amp;#039; perspective, respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox so that this does not happen again.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of left-pointing, blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Pull&amp;#039;&amp;#039; from the menu that appears. You can also click the &amp;#039;&amp;#039;Pull&amp;#039;&amp;#039; button from the toolbar of the &amp;#039;&amp;#039;Synchronize&amp;#039;&amp;#039; tab.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes. Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective and run a quick &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039; cycle to make sure that there are no errors.&lt;br /&gt;
# If everything works out, go to &amp;#039;&amp;#039;Synchronize Workspace&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Synchronize&amp;#039;&amp;#039; tab with no incoming code. At this point, go ahead and commit the right-pointing gray-arrowed files by right-clicking on them (or their containing folder) and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
#* &amp;#039;&amp;#039;If you see files that you did not consciously edit being marked for commit, check with Dr. Dionisio first.&amp;#039;&amp;#039; These may be build products or local settings files, neither of which should be committed.&lt;br /&gt;
# Verify that the files you want to commit are checked in the ensuing &amp;#039;&amp;#039;Commit Changes&amp;#039;&amp;#039; dialog.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# When you are ready, you may choose either &amp;#039;&amp;#039;Commit and Push&amp;#039;&amp;#039; or just &amp;#039;&amp;#039;Commit&amp;#039;&amp;#039;.&lt;br /&gt;
#* &amp;#039;&amp;#039;Commit&amp;#039;&amp;#039; will preserve a version of these files, but not yet update the GitHub website. This allows you to keep on working without others being affected by what you do (yet).&lt;br /&gt;
#* &amp;#039;&amp;#039;Commit and Push&amp;#039;&amp;#039; will both save a version of your files &amp;#039;&amp;#039;and&amp;#039;&amp;#039; send the latest changes to GitHub. Your changes will then be visible to others.&lt;br /&gt;
#* You may &amp;#039;&amp;#039;Push&amp;#039;&amp;#039; as a separate step; this is available either from the &amp;#039;&amp;#039;&amp;#039;Team&amp;#039;&amp;#039;&amp;#039; right-click menu or the toolbar of the &amp;#039;&amp;#039;Synchronize&amp;#039;&amp;#039; tab.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
# Run PostgreSQL (&amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039;) and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4912</id>
		<title>Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4912"/>
				<updated>2015-11-02T02:33:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Move tally engine customization to the Quality Assurance guild page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats. He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Initial Database Export ===&lt;br /&gt;
&lt;br /&gt;
# (with Coders) Get a full import-export cycle done.&lt;br /&gt;
# (with Coders) Decide on a file/version management scheme/system.&lt;br /&gt;
# Learn the ID systems:&lt;br /&gt;
#* Systems that are the same for each species (hint: guild members help each other out by posting the relevant information on this page)&lt;br /&gt;
#** UniProt&lt;br /&gt;
#** RefSeq&lt;br /&gt;
#** GeneID (EntrezGene from NCBI)&lt;br /&gt;
#** GO&lt;br /&gt;
#* The OrderedLocusNames for your species&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: ID Pattern Definition and Verification ===&lt;br /&gt;
&lt;br /&gt;
# Characterize regular expression patterns to detect the IDs ([[How Do I Count Thee? Let Me Count The Ways|for filtering then counting]]).&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Direct SQL queries in PostgreSQL&lt;br /&gt;
#* For example, the &amp;#039;&amp;#039;Vibrio&amp;#039;&amp;#039; IDs were of the form &amp;lt;code&amp;gt;VC####&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;VC_####&amp;lt;/code&amp;gt;; how would you express that in Match or as an SQL query?&lt;br /&gt;
#* Table inspection/filtering/sorting in Microsoft Access&lt;br /&gt;
#* If needed, side-by-side sorted comparisons in Microsoft Excel ([[Using Microsoft Excel to Compare ID Lists|as described here]])&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Tally Engine Configuration ===&lt;br /&gt;
&lt;br /&gt;
Along with your Coder, customize the Tally Engine setup for your species as specified in [[#Customizing the IDs that the Tally Engine Counts|the steps described below]].  You will want to add, at the very least, the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs for your species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Final Documentation ===&lt;br /&gt;
&lt;br /&gt;
# Document the relational database schema for the gene database.&lt;br /&gt;
# Create the ReadMe with comparisons to MOD for your species.&lt;br /&gt;
&lt;br /&gt;
== Customizing the IDs that the Tally Engine Counts ==&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; the QA team member should be the authority on this.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Work with the Coder to open the Eclipse project for your team’s branch of GenMAPP Builder.&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4911</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4911"/>
				<updated>2015-11-02T02:29:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Point milestone 3 instructions to the detailed technical section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions in the [[#Adding a Species Profile to GenMAPP Builder|Adding a Species Profile to GenMAPP Builder]] section of this wiki page in order to:&lt;br /&gt;
* Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
* Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
* Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
** &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
=== Initial Build ===&lt;br /&gt;
&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
# Run PostgreSQL (&amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039;) and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4910</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4910"/>
				<updated>2015-11-02T02:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Creating a Distribution */ Switch to template.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
=== Initial Build ===&lt;br /&gt;
&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
# Run PostgreSQL (&amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039;) and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4909</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4909"/>
				<updated>2015-11-02T02:21:38Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Initial Build */ Switch to template.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
=== Initial Build ===&lt;br /&gt;
&lt;br /&gt;
{{ Build Instructions }}&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4908</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Main_Page&amp;diff=4908"/>
				<updated>2015-11-02T02:20:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Students */ Add gene database project links for easy access.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%&amp;quot;&amp;gt;Loyola Marymount University&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 250%; line-height: 1.25em&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;BIOL/CMSI 367-01:  Biological Databases&amp;#039;&amp;#039;&amp;#039;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; font-size: 175%; margin-bottom: 0.85em&amp;quot;&amp;gt;Fall 2015&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toc-container&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Announcements ==&lt;br /&gt;
&lt;br /&gt;
* The Microsoft Excel portion of the ID investigation protocol has been added to the wiki: [[Using Microsoft Excel to Compare ID Lists]]. The link has also been added to the course schedule below for Week 9.&lt;br /&gt;
:Please note that this version is similar, but not identical, to the process shown in class ([[User:Dondi|Dondi]] misremembered the function to use; it was supposed to be &amp;lt;code&amp;gt;match&amp;lt;/code&amp;gt;, as shown in the wiki page, and not &amp;lt;code&amp;gt;lookup&amp;lt;/code&amp;gt;). Furthermore, instructions for exporting from PostgreSQL (you might recall that the numbers did not match there either) are included. —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 18:49, 29 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;TriBeta Halloween Party and Costume Contest:&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 6:00 PM, LSB Terrace, $3 (to cover food). RSVP to ralkhaya at lion dot lmu dot edu.  Come see if you can beat me in the costume contest! &amp;#039;&amp;#039;&amp;amp;mdash; [[User:Kdahlquist|Kdahlquist]] ([[User talk:Kdahlquist|talk]]) 09:46, 28 October 2015 (PDT)&amp;#039;&amp;#039; &lt;br /&gt;
* An initial round of feedback to the [[Week 6]] assignment has been posted to your respective user talk pages. The database part is not finished, but I figured some feedback and basics on the best practice stuff will be useful as you prepare your [[Week 8]] work (as in, get used to making the best practices routine so you can avoid nagging deductions week after week). —&amp;#039;&amp;#039;[[User:Dondi|Dondi]] ([[User talk:Dondi|talk]]) 21:30, 25 October 2015 (PDT)&amp;#039;&amp;#039;&lt;br /&gt;
* To report issues with the configuration of the computers in Seaver 120, please record it on [[Talk:Software_Configuration | this wiki page.]]  The complete list of software that should be installed for this course is found [[Software Configuration | here]].  Note that this configuration is Windows-specific.  Some software may not be available for a Mac or may look differently.&lt;br /&gt;
&lt;br /&gt;
=== Upcoming Seminars ===&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, October 29, 11:50 AM, Seaver 200, Presentation by first candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 2:00 PM, LSB Auditorium, Dr. Ashley Robart, LMU Biology, &amp;#039;&amp;#039;MALE QUALITY INFLUENCES PARENTAL CARE, BUT NOT FEMALE COMPETITION, IN A MONOGAMOUS, BIPARENTAL FISH.&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Noyce Poster Session:&amp;#039;&amp;#039;&amp;#039; Friday, October 30, 4:00 – 6:00 PM, Hannon Courtyard of the LSB (area just outside the west entrance). The NOYCE Summer Interns will be presenting the posters they made highlighting the research they have done. The Poster Session will be a fantastic opportunity to talk to the presenters and ask them all about their research! To receive the extra credit, fill out one of the &amp;quot;seminar&amp;quot; sheets available according to the instructions and turn it in to a professor before you leave the poster session.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 5, 11:50 AM, Seaver 200, Presentation by second candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, November 6, 2:00 PM, LSB Auditorium, Dr. Wes Dowd, LMU Biology.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Tuesday, November 10, 11:50 AM, Seaver 200, Presentation by third candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Chemistry &amp;amp; Biochemistry Department Seminar:&amp;#039;&amp;#039;&amp;#039; Thursday, November 12, 11:50 AM, Seaver 200, Presentation by fourth candidate for the Biochemistry Faculty Search.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Biology Department Seminar:&amp;#039;&amp;#039;&amp;#039; Friday, December 4, 2:00 PM, LSB Auditorium, Dr. Deepa Dabir, LMU Biology.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Course Assessment ===&lt;br /&gt;
&lt;br /&gt;
* Please note also that as part of the deliverables, we ask that you fill out the confidential team evaluation [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing GenMAPP and MAPPFinder ===&lt;br /&gt;
&lt;br /&gt;
* If you want to install GenMAPP and MAPPFinder on your own computer to use over the break, the instructions can be found on the [[Week_8#Downloading_and_installing_the_GenMAPP_and_MAPPFinder_Software | Week 8 Assignment]] page.  Note that this software is Windows-only.&lt;br /&gt;
&lt;br /&gt;
=== Class Locations ===&lt;br /&gt;
&lt;br /&gt;
* Final presentations on Thursday, December 12 will take place in the &amp;#039;&amp;#039;classroom&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Group Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Gene Database Project]]&lt;br /&gt;
* [[Gene Database Project Report Guidelines]]&lt;br /&gt;
&lt;br /&gt;
=== Teams ===&lt;br /&gt;
&lt;br /&gt;
To be determined.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;[[Species | Team name]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| [[[[Team Name]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Guilds ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 75%&amp;quot;&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[Developer]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Undergraduate Library Research Award ===&lt;br /&gt;
&lt;br /&gt;
The projects for this course will qualify for the Hannon Library’s [http://digitalcommons.lmu.edu/ulra/ Undergraduate Library Research Award (ULRA)].  Click on the link if you are interested in this competition.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Instructors ==&lt;br /&gt;
* [[User:Kdahlquist|Kam D. Dahlquist]]&lt;br /&gt;
* [[User:Dondi|John David N. Dionisio]]&lt;br /&gt;
&lt;br /&gt;
== Students ==&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin-left: auto; margin-right: auto&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User: Malverso | Mary Alverson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Rlegaspi | Ron Legaspi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Troque | Trixie Roque]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jwoodlee | Jake Woodlee]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Nanguiano | Nicole Anguiano]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Blitvak | Brandon Litvak]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[user:Msaeedi23 | Mahrad Saeedi]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kwyllie | Kevin Wyllie]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Bklein7 | Brandon Klein]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Lenaolufson | Elena Olufson]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Emilysimso | Emily Simso]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Eyanosch | Erich Yanoschik]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Jkuroda | Josh Kuroda]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Vpachec3 | Veronica Pacheco]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Anuvarsh | Anindita Varshneya]]&lt;br /&gt;
| style=&amp;quot;padding-right: 1em&amp;quot; | [[User:Kzebrows | Kristin Zebrowski]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{ Gene Database Project Links }}&lt;br /&gt;
&lt;br /&gt;
== Course Schedule ==&lt;br /&gt;
&lt;br /&gt;
The current course schedule is shown below.  In addition to the listed in-class agendas, the following guidelines are also notable:&lt;br /&gt;
&lt;br /&gt;
* Unless otherwise stated on the schedule, your weekly journals/assignments are due on Tuesdays at midnight (Monday night/Tuesday morning).  In cases where subsequent revisions or corrections will be accepted, the instructors will provide feedback and submission deadlines on a per-assignment basis.&lt;br /&gt;
* Reading assignments should be completed &amp;#039;&amp;#039;before&amp;#039;&amp;#039; coming to class.&lt;br /&gt;
* Dr. Dionisio&amp;amp;rsquo;s office hours ({{ Dondi Office Hours }}) can be viewed as unofficial lab sessions: use them for IT help or desktop support &lt;br /&gt;
&lt;br /&gt;
=== Part 1: Building Blocks (Genetic Code and Manipulating Text) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/1/2015&lt;br /&gt;
| &lt;br /&gt;
| Syllabus walkthrough&lt;br /&gt;
* &amp;#039;&amp;#039;my.cs.lmu.edu&amp;#039;&amp;#039; account: Visit https://secure.cs.lmu.edu to get a computer science account if you don’t already have one&lt;br /&gt;
* Class wiki account: Set up a username and password for this wiki site&lt;br /&gt;
&lt;br /&gt;
Pairwise interviews (report back after each bullet)&lt;br /&gt;
* Basic acquaintance information&lt;br /&gt;
* Like a cell/not like a cell; like a computer/not like a computer&lt;br /&gt;
&amp;lt;!--** Disk/flash drive; soup can; hard-boiled egg; Etch-a-Sketch; battery; toy flute/recorder; clock--&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 1]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/8)&lt;br /&gt;
&lt;br /&gt;
[[Class_Journal_Week_1 | Class Journal Week 1]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/3/2015&lt;br /&gt;
| &lt;br /&gt;
[http://dl.acm.org/ft_gateway.cfm?id=1378711 &amp;#039;&amp;#039;Voices of Computing&amp;#039;&amp;#039;] and [http://dl.acm.org/ft_gateway.cfm?id=1272529 &amp;#039;&amp;#039;Computing is a Natural Science&amp;#039;&amp;#039;] by Peter Denning (these links should be accessed from within LMU to get the full article)&lt;br /&gt;
&lt;br /&gt;
[https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Chapter 1 of &amp;#039;&amp;#039;On Becoming a Biologist&amp;#039;&amp;#039;] by John Janovy, Jr. (on MyLMUConnect)&lt;br /&gt;
| Discuss the [[Week 1]] assignment (accounts should be ready to wiki at this point)&lt;br /&gt;
* Quick wiki overview&lt;br /&gt;
* User wiki page setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/8/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK21134/#A5234 Ch. 1.1 &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/watsoncrick.pdf Watson &amp;amp; Crick (1953)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/dna50/franklingosling.pdf Franklin &amp;amp; Gosling (1953)]&lt;br /&gt;
&lt;br /&gt;
| DNA&lt;br /&gt;
* DNA structure and Genetic Code&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides shown in class on MyLMU Connect]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 2]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/15)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 2]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/10/2015&lt;br /&gt;
| On [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset MyLMUConnect]: &lt;br /&gt;
&lt;br /&gt;
Nirenberg (2004) &amp;#039;&amp;#039;Deciphering the Genetic Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Kaji &amp;amp; Kaji (2004) &amp;#039;&amp;#039;Setting the Record Straight&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Moody (2004) &amp;#039;&amp;#039;Digital Code of Life&amp;#039;&amp;#039;, Ch. 1&lt;br /&gt;
&lt;br /&gt;
Hayes (2004) &amp;#039;&amp;#039;Ode to the Code&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://www.ncbi.nlm.nih.gov/books/NBK21121/ Brown, T.A. (2002) &amp;#039;&amp;#039;Genomes 2&amp;#039;&amp;#039;, Ch. 3, especially section 3.3.2]&lt;br /&gt;
| Central dogma&lt;br /&gt;
* [http://www.youtube.com/watch?v=u9dhO0iCLww Berkeley translation video]&lt;br /&gt;
* This [http://www.dnai.org/a/index.html web site] has links to animations of the replication, transcription, and translation processes.&lt;br /&gt;
* Slides shown in class&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GeneticCode-GeneExpression.pdf | Genetic Code-Gene Expression Pencil Exercise]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/15/2015&lt;br /&gt;
|  [http://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/ Ford (2015) &amp;#039;&amp;#039;What is Code?&amp;#039;&amp;#039;]&lt;br /&gt;
* Emphasis on first two sections (“The Man in the Taupe Blazer” and “Let’s Begin”), but feel free to read further&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/intro/wheres-my-stuff.pdf Where&amp;#039;s my Stuff?]&lt;br /&gt;
&lt;br /&gt;
[[Introduction to the Command Line]]&lt;br /&gt;
| An overview of computers, networks, files, and databases&lt;br /&gt;
* Useful help resource: http://explainshell.com&lt;br /&gt;
* Manipulating DNA sequences on the command line&lt;br /&gt;
* [[Using the XMLPipeDB Match Utility]] &amp;lt;!-- (requires setup of compression utility and Java); Use XML files as sources --&amp;gt;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 3]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/22)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 3]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/17/2015&lt;br /&gt;
| &lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Hands-on practice&lt;br /&gt;
* Discuss [[Week 3]] assignment tasks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/22/2015&lt;br /&gt;
| [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset Moody (2004) Chapter 6 (on MyLMU Connect)]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/pdf/4651000a.pdf Science After the Sequence]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/news/2010/100623/full/4651000a.html Nature Special: Human Genome at 10]&lt;br /&gt;
&lt;br /&gt;
[http://nar.oxfordjournals.org/content/43/D1/D1.full Introduction to &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&lt;br /&gt;
[http://scienceblogs.com/digitalbio/2015/01/30/bio-databases-2015/ Commentary on &amp;#039;&amp;#039;NAR&amp;#039;&amp;#039; Database Issue]&lt;br /&gt;
&amp;lt;!--* [http://www.sciencemag.org/content/vol291/issue5507/index.dtl Human Genome Project articles in &amp;#039;&amp;#039;Science&amp;#039;&amp;#039;]&lt;br /&gt;
* [http://www.nature.com/nature/journal/v409/n6822/index.html Human Genome Project articles in &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]--&amp;gt;&lt;br /&gt;
| Genome sequencing and annotation&lt;br /&gt;
&lt;br /&gt;
Introduction to biological databases&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/bbcswebdav/pid-1146580-dt-content-rid-1944592_1/courses/M_46692.201530/20150922_HGP_IntroBiolDB.pdf Slides shown in class (MyLMU Connect)]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L01_DataManagement.pptx DataONE: Why Data Management]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L02_DataSharing.pptx DataONE: Data Sharing]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 4]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 9/29)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 4]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;9/24/2015&lt;br /&gt;
| [[More Text Processing Features]]&lt;br /&gt;
&lt;br /&gt;
[[How to Read XML Files]]&lt;br /&gt;
| Command line lab session&lt;br /&gt;
* Review assignment issues&lt;br /&gt;
* Discuss [[Week 4]] computer portion&lt;br /&gt;
&amp;lt;!-- * Public wiki&lt;br /&gt;
* Introduction to software/licensing/open source&lt;br /&gt;
* Open source/open access publishing --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;9/29/2015&lt;br /&gt;
| [http://myweb.lmu.edu/dondi/share/db/relational1.pdf The Relational Data Model: Structure]&lt;br /&gt;
&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/sql.pdf An Overview of SQL]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[http://myweb.lmu.edu/dondi/share/db/pgsql-quickstart.pdf PostgreSQL Quick Start]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
| Introduction to relational databases&lt;br /&gt;
* Case study from one of the NAR databases: http://www.rhesusbase.org &amp;lt;!-- Injection query sequence: INSR&amp;#039; and genefullname = &amp;#039;insulin receptor&lt;br /&gt;
then try: INSR&amp;#039;; select * from gene where to reveal error then finally include alias like &amp;#039;%PP for successful injection --&amp;gt;&lt;br /&gt;
* Relating XML structure to relational structure&lt;br /&gt;
&lt;br /&gt;
Test your understanding: http://xkcd.com/327/&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 5]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/6)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 5]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/1/2015&lt;br /&gt;
| Additional background and details can be found in Chapters 1, 2, and 6 of &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039; (on reserve at the library).&lt;br /&gt;
| SQL and working with relational databases continued&lt;br /&gt;
* [[PostgreSQL Tutorial]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #ddf&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;10/6/2015&lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; |  &lt;br /&gt;
| style=&amp;quot;background-color: #eef; border: none&amp;quot; | President Synder’s Inauguration Day&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 6]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/13)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 6]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/8/2015&lt;br /&gt;
| &lt;br /&gt;
| Database presentations&lt;br /&gt;
# Nicole, Erich, Kristen, Josh&lt;br /&gt;
# Mary, Emily, Brandon L., Kevin&lt;br /&gt;
# Lena, Jake, Anu, Veronica&lt;br /&gt;
# Ron, Mahrad, Brandon K., Trixie&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
&amp;lt;!--Introduction to the [http://www.opensource.org/ open source] culture--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 2: Going Deeper (Gene Expression Data and Relational Databases) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/13/2015&lt;br /&gt;
| [http://www.ncbi.nlm.nih.gov/books/NBK26818/#A1633 Alberts &amp;#039;&amp;#039;et al&amp;#039;&amp;#039;. (2002) &amp;#039;&amp;#039;Molecular Biology of the Cell&amp;#039;&amp;#039;, Ch. 8: Microarrays]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/ng/journal/v21/n1s/full/ng0199supp_33.html Brown &amp;amp; Botstein (1999) &amp;quot;Microarrays&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Campbell &amp;amp; Heyer Chapter 4 (on [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1 MyLMU Connect])&lt;br /&gt;
&lt;br /&gt;
DeRisi et al. (1997)  [http://www.sciencemag.org/content/278/5338/680.full &amp;#039;&amp;#039;Science&amp;#039;&amp;#039; 278: 680-686.]&lt;br /&gt;
&lt;br /&gt;
| Introduction to DNA microarray data, Gene Ontology, and GenMAPP/MAPPFinder&lt;br /&gt;
* [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;content_id=_1103141_1 Slides on MyLMU Connect]&lt;br /&gt;
* [http://www.dataone.org/sites/all/documents/L04_DataEntryManipulation.pptx DataONE: Data Entry and Manipulation]&lt;br /&gt;
* [http://www.bio.davidson.edu/courses/genomics/chip/chip.html Microarray animation]&lt;br /&gt;
&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 7]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/20)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 7]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/15/2015&lt;br /&gt;
| [http://www.nature.com/nature/journal/v417/n6889/full/nature00778.html Merrell et al. (2002) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; microarray data&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae DNA Microarray Analysis activity part 1]&lt;br /&gt;
&lt;br /&gt;
Test your understanding: [http://xkcd.com/882/ http://xkcd.com/882/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/20/2015&lt;br /&gt;
| [http://www.nature.com/ng/journal/v25/n1/full/ng0500_25.html Ashburner et al. (2000) &amp;quot;Gene Ontology&amp;quot; &amp;#039;&amp;#039;Nature Genetics&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.genomebiology.com/content/4/1/R7 Doniger et al. (2003) &amp;quot;MAPPFinder&amp;quot; &amp;#039;&amp;#039;Genome Biology&amp;#039;&amp;#039;]&lt;br /&gt;
| [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols DNA Microarray Analysis activity part 2]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 8]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 10/27)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 8]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/22/2015&lt;br /&gt;
| &lt;br /&gt;
| Work session to complete DNA Microarray Analysis [http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1] and [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 9&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;10/27/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Introduction to XMLPipeDB: export a Gene Database for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;&lt;br /&gt;
** [[Running GenMAPP Builder]]&lt;br /&gt;
* [http://www.opensource.org/ Open Source] review&lt;br /&gt;
* Group requests due midnight Saturday, October 31&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 9]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/3)&lt;br /&gt;
&lt;br /&gt;
[[Class Journal Week 9]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;10/29/2015&lt;br /&gt;
| [http://nar.oxfordjournals.org/content/40/D1/D565.full Dimmer et al. (2012) &amp;quot;UniProt-GOA Database&amp;quot; &amp;#039;&amp;#039;Nucleic Acids Research&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
[http://www.nature.com/nature/journal/v406/n6795/full/406477A0.html Heidelberg et al. (2000) &amp;quot;&amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; Genome Sequence&amp;quot; &amp;#039;&amp;#039;Nature&amp;#039;&amp;#039;]&lt;br /&gt;
| &lt;br /&gt;
Integrity analysis of Vibrio Gene Database&lt;br /&gt;
* [[How Do I Count Thee?  Let Me Count The Ways]]&lt;br /&gt;
* [[Using Microsoft Excel to Compare ID Lists]]&lt;br /&gt;
* [[Gene Database Testing Report Sample | Complete your Gene Database Testing Report for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Part 3: Integrating for Research (Gene Database Project) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;schedule-table&amp;quot;&lt;br /&gt;
! #&lt;br /&gt;
! Date&lt;br /&gt;
! Reading&lt;br /&gt;
! Agenda&lt;br /&gt;
! Journal&lt;br /&gt;
|-&lt;br /&gt;
! 10&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Annotated bibliography of genomics papers for your species&lt;br /&gt;
* &amp;#039;&amp;#039;Course LibGuide:&amp;#039;&amp;#039; http://libguides.lmu.edu/BIOL367&lt;br /&gt;
** Select genome paper for journal club&lt;br /&gt;
** Select microarray paper&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 10]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/10)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--[[Class Journal Week 10]]--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/5/2015&lt;br /&gt;
| &lt;br /&gt;
| Begin [[Gene_Database_Project | group projects]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/10/2015&lt;br /&gt;
| &lt;br /&gt;
| Guild meetings and work session&lt;br /&gt;
* Export of Gene Database for your group&amp;#039;s species&lt;br /&gt;
* Document ID types for your species&lt;br /&gt;
* Begin DNA microarray analysis&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 11]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/17)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/12/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
&amp;lt;!--Dondi out of town--&amp;gt;&lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/17/2015&lt;br /&gt;
| &lt;br /&gt;
| First Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 12]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 11/24)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;11/19/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;11/24/2015&lt;br /&gt;
| &lt;br /&gt;
| Second Set of Journal Club Presentations&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
# TBD&lt;br /&gt;
&lt;br /&gt;
[[Presentation Rubric]]&lt;br /&gt;
&lt;br /&gt;
[[Media:PresentationGuidelines.ppt | PowerPoint Guidelines]]&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;No Week 13 assignment&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #ded&amp;quot; | &lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thursday&amp;lt;br/&amp;gt;11/26/2015&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; | Thanksgiving—no class&lt;br /&gt;
| style=&amp;quot;background: #efe; border: none&amp;quot; |&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/1/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 14]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/8)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/3/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! 15&lt;br /&gt;
| Tuesday&amp;lt;br/&amp;gt;12/8/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | [[Week 15]]&lt;br /&gt;
&lt;br /&gt;
(due at midnight 12/15)&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Thursday&amp;lt;br/&amp;gt;12/10/2015&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
* Status report&lt;br /&gt;
* Work session&lt;br /&gt;
{{Course Schedule Divider}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background: #edd&amp;quot; | F&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | Tuesday&amp;lt;br/&amp;gt;12/15/2015&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; |&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Final project presentations 2:00-4:00 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;background: #fee; border: none&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
| Friday&amp;lt;br/&amp;gt;12/18/2015 4:30 PM&lt;br /&gt;
| &lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Project deliverables due 4:30 PM&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Course Information ==&lt;br /&gt;
&lt;br /&gt;
=== Instructors ===&lt;br /&gt;
&lt;br /&gt;
==== [[User:Kdahlquist | Kam D. Dahlquist, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/kdahlqui&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-7697&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; kdahlquist at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Life Sciences Building 289&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; Tuesdays 9:00-11:00 AM, Wednesdays 1:30-3:30 PM and by appointment.  I keep a sign-up sheet on my office door to facilitate appointment-making.&lt;br /&gt;
&lt;br /&gt;
==== [[User:Dondi|John David N. Dionisio, Ph.D.]] ====&lt;br /&gt;
: http://myweb.lmu.edu/dondi&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Phone:&amp;#039;&amp;#039;&amp;#039; (310) 338-5782&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;E-mail:&amp;#039;&amp;#039;&amp;#039; dondi at lmu dot edu&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office:&amp;#039;&amp;#039;&amp;#039; Doolan 106&lt;br /&gt;
: &amp;#039;&amp;#039;&amp;#039;Office Hours:&amp;#039;&amp;#039;&amp;#039; {{Dondi Office Hours}}&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites/Recommended Background ===&lt;br /&gt;
&lt;br /&gt;
To take this course, you must have upper division standing in the Seaver College of Science and Engineering. Otherwise, there are no strict prerequisites. Backgrounds in biology and computer science, as well as prior experience with database or information management applications, may be helpful but not necessary.&lt;br /&gt;
&lt;br /&gt;
=== Class Meetings and Attendance === &lt;br /&gt;
TR 2:40–3:55pm, Seaver 120 &amp;lt;!-- 75-minute class period --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a hands-on, participatory course, thus attendance at all class meetings is required.  Each student is allowed two “sick” days (automatically excused absences) during the semester.  Further unexcused absences from class will result in a 5% deduction from the overall course grade for each absence.  Every effort should be made to attend class on oral presentation days as the content of that day&amp;#039;s class is dependent on student participation.  Unexcused absences from an oral presentation will result in a grade of zero for the presentation.  The instructors should be notified as soon as possible, electronically or by phone, of the reasons for all absences.&lt;br /&gt;
&lt;br /&gt;
Note that the last day to add or drop a class without a grade of W is September 4. The withdrawal or credit/no-credit status deadline is November 6.&lt;br /&gt;
&lt;br /&gt;
=== Mutual Responsibilities ===&lt;br /&gt;
&lt;br /&gt;
This course is designed to foster your development as a biologist and computer scientist and to give you an authentic research experience.  We will be engaged together in discovering, examining, and practicing the personal qualities, technical skills, and community standards of the scientific community.  While you are ultimately responsible for your own learning, you are not alone.  Our class constitutes a team where we will be learning from each other.  The role of the instructors is to provide the expert coaching to support and assist you on your journey.  All of the exercises, readings, assignments, and policies detailed below have been designed with this purpose in mind.&lt;br /&gt;
&lt;br /&gt;
=== Classroom Conduct ===&lt;br /&gt;
&lt;br /&gt;
We are all responsible for maintaining a classroom and laboratory environment that is safe and conducive to learning.  As such, we will observe the following:&lt;br /&gt;
&lt;br /&gt;
# As an LMU Lion, by the [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Lion%27s%20Code.pdf Lion’s code], you are pledged to join the discourse of the academy with honesty of voice and integrity of scholarship and to show respect for staff, professors, and other students.&lt;br /&gt;
# You are responsible for your own learning and for being a good class citizen.&lt;br /&gt;
# Class will start promptly on time.&lt;br /&gt;
# You are expected to come to class having done the assigned reading and preparatory work so that you are ready to participate in discussions and to perform the laboratory exercises.&lt;br /&gt;
# You are expected to bring the required materials to each class session.&lt;br /&gt;
# Cell phones, pagers, and other communication or music devices must be turned off and put away out of sight.  Your own laptop and/or tablet may be used to conduct the class exercises; however, if they are being used for other purposes and become distracting to you or others, you will be asked to put them away.&lt;br /&gt;
# All students are governed by [http://studentaffairs.lmu.edu/media/lmustudentaffairs/administration/judicialaffairs/Loyola-Marymount-University-Community-Standards-2015-2016.pdf LMU Community Standards Publication].&amp;lt;!--this link is to the 2014-2015 PDF, update to 2015-2016 when available--&amp;gt;  Disruptive behavior which is persistent or significantly interferes with classroom activities may be subject to disciplinary action.  A student may be referred to the Office of Student Judicial Affairs if his or her behavior constitutes a violation of the conduct code.&lt;br /&gt;
&lt;br /&gt;
=== Course Website ===&lt;br /&gt;
&lt;br /&gt;
This is the course web site and wiki, hosted by http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.  You will need to [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php?title=Special:UserLogin&amp;amp;returnto=Main+Page&amp;amp;type=signup register] to be able to edit the wiki and complete coursework. Updates to the course schedule and electronic copies of all handouts, assignments, and readings will be posted to this site. You will also use the site to keep an electronic lab notebook/journal for the course. In addition, students have been automatically enrolled in [https://mylmuconnect.blackboard.com/webapps/blackboard/content/listContentEditable.jsp?content_id=_1103141_1&amp;amp;course_id=_62090_1&amp;amp;mode=reset BIOL/CMSI 367-01 on MyLMUConnect]. The two cross-listed sections are using the same site, which is listed as &amp;quot;Biological Databases Fall 2015&amp;quot; with no department or course number.  The MyLMUConnect site will be used for materials that cannot be made public on this wiki, including grades.&lt;br /&gt;
&lt;br /&gt;
=== E-mail Communication ===&lt;br /&gt;
&lt;br /&gt;
At times we will communicate with the entire class using campus e-mail systems, so it is essential that you regularly check your lion.lmu.edu e-mail address or forward your lion account e-mail to your preferred e-mail address. Messages sent to the instructors at night or on the weekend will be answered the next school day. Please CC both instructors on all e-mail messages related to this class.&lt;br /&gt;
&lt;br /&gt;
=== Required Materials ===&lt;br /&gt;
&lt;br /&gt;
==== Texts ====&lt;br /&gt;
&lt;br /&gt;
There is no required text to purchase for the course; materials will be put on reserve at Hannon Library or will be available online on this wiki or the MyLMUConnect site.  Specific reading assignments are given on the course schedule and should be completed before coming to class.&lt;br /&gt;
* This text has been placed on reserve at the library:  Jeffrey Ullman and Jennifer Widom, &amp;#039;&amp;#039;A First Course in Database Systems&amp;#039;&amp;#039;, Third Edition. Prentice Hall, 2008.&lt;br /&gt;
* Assorted handouts, articles, and sample code will be distributed throughout the semester.&lt;br /&gt;
* Additional information is also available on the web; do not hesitate to look for further sources of information regarding the concepts, techniques, tools, and paradigms that we will discuss.&lt;br /&gt;
&lt;br /&gt;
==== Materials (must be brought to each class meeting) ====&lt;br /&gt;
&lt;br /&gt;
* 3-ring binder with all course handouts&lt;br /&gt;
* Pen, pencil, extra paper&lt;br /&gt;
* USB flash drive to store data&lt;br /&gt;
* [https://xmlpipedb.cs.lmu.edu/biodb/fall2015/index.php/Special:UserLogin/signup Account for this wiki]&lt;br /&gt;
* [https://secure.cs.lmu.edu/ Computer Science account]&lt;br /&gt;
* [http://www.github.com GitHub account]&lt;br /&gt;
&lt;br /&gt;
=== Course Description ===&lt;br /&gt;
&lt;br /&gt;
The disciplines of biology and computer science come together in bioinformatics, where computational tools are needed to manage and analyze the flood of data coming from new genomics technologies. Biological databases form a significant part of this young and exciting field. This course introduces students to both the biology and computer science expertise needed to understand, use, and develop biological databases. Biology topics include the fundamentals of genetics, molecular biology, and biochemistry needed to understand the data stored in biological databases, as well as the biotechnologies used to gather these data in a high-throughput manner. Computer science topics include what biological databases are, why they are important (and needed), and the challenges that arise in compiling them effectively. Biology and computer science lectures on topics that are relevant to biological databases are coupled with hands-on experience with a variety of software packages ranging from bioinformatics utilities to general-purpose database and software development tools. After learning how to use a biological database, students will be asked to build one of their own.&lt;br /&gt;
&lt;br /&gt;
==== Course Objectives and Learning Outcomes ====&lt;br /&gt;
&lt;br /&gt;
This course is built upon L. Dee Fink’s &amp;#039;&amp;#039;taxonomy of significant learning&amp;#039;&amp;#039;, as applied to biological databases. Long after the course concludes, our hope is that:&lt;br /&gt;
* You understand how biological information is encoded in the genome and can apply this knowledge to a variety of biological tasks and problems&lt;br /&gt;
* You understand the core concepts, structure, and functions of a database, ranging from individual files to a full relational database management system, and can perform useful tasks with such data&lt;br /&gt;
* You show discipline and proficiency in day-to-day science and engineering best practices, such as maintaining journals and notebooks, managing your files and code, and critically evaluating scientific and technical information&lt;br /&gt;
* You recognize and care about how the biological and technological issues presented in this course relate to and affect society, our daily lives, and ourselves&lt;br /&gt;
* You have some skills and tools for “leaving your comfort zone,” flourishing outside of it, and learning more about biology and computer science on your own&lt;br /&gt;
* You learn how to communicate and work effectively with colleagues from different disciplines&lt;br /&gt;
&lt;br /&gt;
==== University Core Curriculum ====&lt;br /&gt;
&lt;br /&gt;
This course fulfills the following requirements in the University Core Curriculum:&lt;br /&gt;
* Integrations: Interdisciplinary Connections&lt;br /&gt;
* Upper Division Information Literacy Flag&lt;br /&gt;
* Upper Division Oral Communication Flag&lt;br /&gt;
&lt;br /&gt;
=== Course Work and Grading ===&lt;br /&gt;
&lt;br /&gt;
Letter grades are determined as follows: ≥ 90% gets an A– or better; ≥ 80% gets a B– or better; ≥ 70% gets a C– or better. The instructors may curve grades upward based on qualitative considerations such as degree of difficulty, effort, class participation, time constraints, and overall attitude throughout the course. Grades are never curved downward. Current grades will be made available at MyLMU Connect (the system formerly known as Blackboard).&lt;br /&gt;
&lt;br /&gt;
Your work in this course will be assessed in five areas:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;border: 1px dashed rgb(47, 111, 171); background: rgb(249, 249, 249); margin: 1em 0; padding: 1em&amp;quot; cellpadding=&amp;quot;5ex&amp;quot;&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, individual (10 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 140&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Weekly electronic lab notebook/journal assignments, shared (3 points each)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 42&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| Oral presentations&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 105&lt;br /&gt;
| points &amp;lt;!--(NAR: 25, genome/microarray JC: 35, Final: 45)--&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Information literacy (additional points added to two journal assignments)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 24&lt;br /&gt;
| points &amp;lt;!-- NAR: 12 extra, lit search/microarray data: 12 extra --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Final Project Deliverables (including written report)&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | 175&lt;br /&gt;
| points&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| style=&amp;quot;text-align: right&amp;quot; | &amp;#039;&amp;#039;&amp;#039;486&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;points&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Electronic Laboratory Notebook/Journal ====&lt;br /&gt;
&lt;br /&gt;
One of the most important skills you can develop as a scientist is keeping an excellent laboratory notebook. For computational research, the equivalent of the biology paper-based lab notebook is documentation of your “workflow”. For this course you will practice documentation skills by keeping an electronic lab notebook or journal. The technology we will use is this wiki, that we will create and edit during the semester. You will create an individual user page and make weekly entries that the instructors will read and grade. You will use the wiki to complete the assignments as well. The following guidelines apply:&lt;br /&gt;
* Your weekly journal entry is typically due every midnight on Tuesday PST (&amp;#039;&amp;#039;Monday night/Tuesday morning&amp;#039;&amp;#039;); consult the schedule for specific due dates for each assignment.&lt;br /&gt;
* Each weekly assignment has an individual component and a shared component.  You will earn 10 points per weekly submission for the individual journal entry and 3 points per submission for the shared journal entry.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Late journal entries will be accepted up to one week later for up to half credit.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* The instructors will read and comment on how to improve your journal entries on your user talk pages.&lt;br /&gt;
* Depending on the type of assignment for that week, you may be given the opportunity to make improvements to previous journal entries as the semester progresses.&lt;br /&gt;
* Generally, your journal entries will consist of:&lt;br /&gt;
** Your electronic laboratory notebook and other documentation for hands-on exercises and projects&lt;br /&gt;
** Answers to any specific questions posed in the exercise&lt;br /&gt;
** Reflection on your learning&lt;br /&gt;
* For most weeks in the semester, you will be assigned a &amp;quot;homework partner&amp;quot; from the complementary biology or computer science discipline.  You will be expected to consult with your partner, sharing your domain expertise, in order to complete the assignment.  However, unless otherwise stated, each partner must submit his or her own work as the individual journal entry (direct copies of each other&amp;#039;s work is not allowed).&lt;br /&gt;
&lt;br /&gt;
==== Oral Presentations ====&lt;br /&gt;
&lt;br /&gt;
You will give three oral presentations in this course.  The first two will be in the format of a “Journal Club” presentation where students will present and lead discussion of research articles from the primary literature.  The third will be a research presentation on your final project.  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Because that day’s class content is dependent upon each student being ready to present and lead discussion, late journal club presentations will not be accepted.   An unexcused absence from a journal club presentation will result in a grade of zero for the presentation.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Final Group Project ====&lt;br /&gt;
&lt;br /&gt;
* Overall Description of the [[Gene Database Project]], including entire list of deliverables&lt;br /&gt;
* [[Gene Database Project Report Guidelines]]&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%&amp;quot;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Teams&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Guilds&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Team1]]&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team2]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team3]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Team4]]&lt;br /&gt;
| [[Coder]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In addition to the research presentation, the culmination of your final project will be the preparation of a written laboratory report in the style of a manuscript that could be submitted to a peer-reviewed journal.  Specific instructions are posted [[Gene Database Project Report Guidelines | here]].  &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;The Final Written Report cannot be accepted any later than Friday, December 18 at 4:30 PM.  The Final Written Report must be completed to receive a passing grade in the course.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== Extra Credit ====&lt;br /&gt;
&lt;br /&gt;
Students may accumulate up to 12.5 points toward their final grade in extra credit by attending Department seminars in Biology or Electrical Engineering &amp;amp; Computer Science and completing the seminar sheets.  Each seminar attended is worth 2.5 points with up to 5 seminars (12.5 points) total.  You must attend the entire seminar from start to finish and personally turn in your seminar sheet to a faculty member at the end of the seminar.&lt;br /&gt;
&lt;br /&gt;
Certain, non-Biology/Computer Science Department seminars may be approved in advance for extra credit at the instructors’ discretion.  To receive credit for these seminars, you must turn in a one-page &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hard copy&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of your summary of the seminar &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;in class, within one week&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; of the date of the seminar or they will not count as extra credit.&lt;br /&gt;
&lt;br /&gt;
=== Work Load Expectations ===&lt;br /&gt;
&lt;br /&gt;
In line with [http://www.lmu.edu/Assets/LMU+Credit+Hour+Policy_Final.pdf LMU’s Credit Hour Policy], the work load expectation for this course is that for every one hour (50 minutes) of classroom instruction, you will complete a minimum of two hours of out-of-class student work each week.  This is a 3-unit course with 3 hours (150 minutes) of instruction per week.  Thus the expectation is that you will complete 6 hours of work outside of class per week.&lt;br /&gt;
&lt;br /&gt;
=== University Policy on Academic Honesty ===&lt;br /&gt;
&lt;br /&gt;
Loyola Marymount University expects high standards of honesty and integrity from all members of its community. All students are expected to follow the LMU honor code. As stated in the LMU Undergraduate Bulletin, “Examples of academic dishonesty include, but are not limited to, the following: all acts of cheating on assignments or examinations, or facilitating other students’ cheating; plagiarism; fabrication of data, including the use of false citations; improper use of non-print media; unauthorized access to computer accounts or files or other privileged information and improper use of Internet sites and resources.”  Attempting to gain extra credit for a seminar that you did not attend or assisting another student to do this are examples of academic dishonesty and will be considered a violation of the Honor Code.  [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process Click here for an online version of the LMU Honor Code and Process].&lt;br /&gt;
 &lt;br /&gt;
You are required to sign the Honor Code Agreement for this course.&lt;br /&gt;
&lt;br /&gt;
==== Academic Honesty Resources ====&lt;br /&gt;
* [[Media:BIOL367_Fall2015_HonorCodeAgreement.pdf|Honor Code Agreement]]&lt;br /&gt;
* [http://bulletin.lmu.edu/content.php?catoid=6&amp;amp;navoid=250#LMU_Honor_Code_and_Process LMU Honor Code and Process].&lt;br /&gt;
* [http://www.bio.davidson.edu/dept/plagiarism.html The Davidson College Department of Biology Statement on Plagiarism]&lt;br /&gt;
* [[Media:BIOL367_Fall2015_GuidelinesforLiteratureCitations.pdf | Guidelines for Literature Citations in a Scientific Paper]]&lt;br /&gt;
** [http://libguides.lmu.edu/content.php?pid=472661&amp;amp;sid=3874648 APA Style for References]&lt;br /&gt;
* [[Media:Avoiding_plagiarism.pptx | Academic Resource Center presentation on plagiarism]] (PowerPoint presentation)&lt;br /&gt;
* [http://myweb.lmu.edu/dondi/share/misc/plagiarism.pdf Notes on plagiarism from an electrical engineering &amp;amp; computer science perspective]&lt;br /&gt;
&lt;br /&gt;
=== Americans with Disabilities Act—Special Accommodations ===&lt;br /&gt;
&lt;br /&gt;
Students with special needs who require reasonable modifications, special assistance, or accommodations in this course should promptly direct their request to the Disability Support Services (DSS) Office. Any student who currently has a documented disability (ADHD, Autism Spectrum Disorder, Learning, Physical, or Psychiatric) needing academic accommodations should contact the DSS Office (Daum Hall 2nd floor, 310-338-4216) as early in the semester as possible. All discussions will remain confidential. Please visit [http://www.lmu.edu/dss www.lmu.edu/dss] for additional information. In addition, please schedule an appointment with the instructors early in the semester to discuss any accommodations for this course for which you have been approved.&lt;br /&gt;
&lt;br /&gt;
=== Revision Notice ===&lt;br /&gt;
&lt;br /&gt;
If necessary, this syllabus and its contents are subject to revision; students are responsible for any changes or modifications announced in class.  The most current version of this information resides on this page, the course web site at http://xmlpipedb.cs.lmu.edu/biodb/fall2015/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Keck Lab Workstation Guidelines ==&lt;br /&gt;
&lt;br /&gt;
Please visit [[Keck Lab Workstation Guidelines|this page]] for guidelines and instructions on using the Keck computer science lab.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Build_Instructions&amp;diff=4907</id>
		<title>Template:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Build_Instructions&amp;diff=4907"/>
				<updated>2015-11-02T02:19:30Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Templatize the build instructions because they appear in multiple places.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;# Open the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project by clicking on the gray triangle to the left of its name.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;. It should have an icon that appears to include an ant.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;&amp;#039;Run As &amp;gt; Ant Build...&amp;#039;&amp;#039;&amp;#039; (the one with the ellipses) from the menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, uncheck &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; if it is already checked.&lt;br /&gt;
# Check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button. The computer will work for a bit. You will see some messages scroll up on the &amp;#039;&amp;#039;Console&amp;#039;&amp;#039; tab if that tab is visible.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039;&amp;#039; from the menu that appears (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;. Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4906</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4906"/>
				<updated>2015-11-02T02:18:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* GenMAPP Builder Project Setup and Initial Build */ Write out build instructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
=== Initial Build ===&lt;br /&gt;
&lt;br /&gt;
# Open the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project by clicking on the gray triangle to the left of its name.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;. It should have an icon that appears to include an ant.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;&amp;#039;Run As &amp;gt; Ant Build...&amp;#039;&amp;#039;&amp;#039; (the one with the ellipses) from the menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, uncheck &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; if it is already checked.&lt;br /&gt;
# Check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button. The computer will work for a bit. You will see some messages scroll up on the &amp;#039;&amp;#039;Console&amp;#039;&amp;#039; tab if that tab is visible.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039;&amp;#039; from the menu that appears (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;. Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4905</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4905"/>
				<updated>2015-11-02T02:11:56Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Java Project Setup */ Update the project setup process.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Right-click anywhere within the empty &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab and choose &amp;#039;&amp;#039;&amp;#039;New &amp;gt; Project…&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list of “wizards” and click on the &amp;#039;&amp;#039;Next &amp;gt;&amp;#039;&amp;#039; button.&lt;br /&gt;
# On the next panel, enter &amp;lt;code&amp;gt;gmbuilder&amp;lt;/code&amp;gt; as the &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039;. Note how the &amp;#039;&amp;#039;Location:&amp;#039;&amp;#039; field underneath, although disabled, should show your cloned repository folder location with &amp;#039;&amp;#039;/gmbuilder&amp;#039;&amp;#039; appended to it.&lt;br /&gt;
# Verify that the &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; section is showing Java 8 or 1.8. If not, talk to Dr. Dionisio.&lt;br /&gt;
# Click on the &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039; button (yes, there is no need for further configuration).&lt;br /&gt;
# If Eclipse asks you whether you want to open the “Java perspective,” respond with &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;. You may check the &amp;#039;&amp;#039;Remember my decision&amp;#039;&amp;#039; checkbox if you wish.&lt;br /&gt;
# You should now see a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder in the &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
# If the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder icon shows a red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon, do the following:&lt;br /&gt;
#* Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; item and choose &amp;#039;&amp;#039;&amp;#039;Properties&amp;#039;&amp;#039;&amp;#039; from the menu that appears.&lt;br /&gt;
#* Click on the &amp;#039;&amp;#039;Java Compiler&amp;#039;&amp;#039; item. &amp;#039;&amp;#039;Click on the item name itself, not its triangle.&amp;#039;&amp;#039;&lt;br /&gt;
#* You should see that &amp;#039;&amp;#039;Compiler compliance level:&amp;#039;&amp;#039; is set to &amp;#039;&amp;#039;1.6&amp;#039;&amp;#039;. If so, uncheck the &amp;#039;&amp;#039;Enable project specific settings&amp;#039;&amp;#039; checkbox.&lt;br /&gt;
#* Click the &amp;#039;&amp;#039;Apply&amp;#039;&amp;#039; button. If Eclipse asks you whether it is OK to rebuild the project, click &amp;#039;&amp;#039;Yes&amp;#039;&amp;#039;.&lt;br /&gt;
#* Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039; to dismiss the &amp;#039;&amp;#039;Properties&amp;#039;&amp;#039; dialog.&lt;br /&gt;
#* See if the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon has disappeared.&lt;br /&gt;
# If the red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icon persists, please show your setup to fellow guild members or Dr. Dionisio for troubleshooting.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4904</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4904"/>
				<updated>2015-11-02T01:57:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Eclipse Workspace Setup */ Spell out Eclipse workspace setup.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
[[Image:Initial-eclipse-workspace.png|thumb]]&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# When Eclipse asks you to select a workspace, click the &amp;#039;&amp;#039;Browse…&amp;#039;&amp;#039; and navigate to your repository clone folder. Select it and click on &amp;#039;&amp;#039;Open&amp;#039;&amp;#039;.&lt;br /&gt;
# Verify that your repository clone folder is what is listed as the &amp;#039;&amp;#039;Workspace:&amp;#039;&amp;#039;. Click on &amp;#039;&amp;#039;OK&amp;#039;&amp;#039;.&lt;br /&gt;
# You will see an introductory display with assorted menu items. Click the &amp;#039;&amp;#039;Workbench&amp;#039;&amp;#039; button (upper-right corner, with a 3D arrow for an icon).&lt;br /&gt;
# If everything went well, you should now see an empty developer area, showing your repository clone folder in the window title with a &amp;#039;&amp;#039;Project Explorer&amp;#039;&amp;#039; tab on the left (see screenshot for an example).&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=File:Initial-eclipse-workspace.png&amp;diff=4903</id>
		<title>File:Initial-eclipse-workspace.png</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=File:Initial-eclipse-workspace.png&amp;diff=4903"/>
				<updated>2015-11-02T01:56:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: An empty Eclipse workspace.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An empty Eclipse workspace.&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4901</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4901"/>
				<updated>2015-11-02T01:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* GitHub Repository Clone Setup */ Spell out clone and branch setup.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&amp;lt;pre&amp;gt;git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the clone folder &amp;lt;code&amp;gt;xmlpipedb&amp;lt;/code&amp;gt;:&amp;lt;pre&amp;gt;cd xmlpipedb&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Switch to your branch:&amp;lt;pre&amp;gt;git checkout &amp;lt;your-branch-name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# You should see a message like this: &amp;lt;pre&amp;gt;Branch &amp;lt;your-branch-name&amp;gt; set up to track remote branch &amp;lt;your-branch-name&amp;gt; from origin. Switched to a new branch &amp;#039;&amp;lt;your-branch-name&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#: …this is OK and expected.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4900</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4900"/>
				<updated>2015-11-02T01:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestone 2: “Developer Rig” Setup and Initial As-Is Build */ Revert to un-numbered bullets.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#** Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&lt;br /&gt;
 git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4899</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4899"/>
				<updated>2015-11-02T01:42:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Prerequisites */ Expressly point out Milestone 1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#*# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#*# Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#*# If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone (Milestone 1)]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&lt;br /&gt;
 git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4896</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4896"/>
				<updated>2015-11-02T01:41:18Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Work-in-progress: Eclipse/git setup from scratch.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;)&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used:&lt;br /&gt;
#*# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
#*# Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#*# If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Follow the instructions in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page in order to:&lt;br /&gt;
#* Set up a functioning Eclipse development environment for your branch of GenMAPP Builder.&lt;br /&gt;
#* Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder. You can only run &amp;#039;&amp;#039;GenMAPP&amp;#039;&amp;#039; and &amp;#039;&amp;#039;MAPPFinder&amp;#039;&amp;#039; on Windows, but you can build and run &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; on any platform that supports PostgreSQL and JDK 8.&lt;br /&gt;
&lt;br /&gt;
Although there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone]].&lt;br /&gt;
# Make sure that you have already downloaded and installed the software mentioned in [[#Milestone 2: “Developer Rig” Setup and Initial As-Is Build|Milestone 2]] (first item).&lt;br /&gt;
&lt;br /&gt;
=== GitHub Repository Clone Setup ===&lt;br /&gt;
&lt;br /&gt;
# Determine the desired location (on your development computer) for your local copy of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub repository].&lt;br /&gt;
# &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to this location.&lt;br /&gt;
# Clone the repository:&lt;br /&gt;
 git clone https://github.com/lmu-bioinformatics/xmlpipedb.git&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Workspace Setup ===&lt;br /&gt;
&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4891</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4891"/>
				<updated>2015-11-02T01:24:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestone 2: “Developer Rig” Setup and Initial As-Is Build */ Clarify what’s in the detailed setup section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Additional technical details for accomplishing this milestone are listed in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone]].&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4888</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4888"/>
				<updated>2015-11-02T01:22:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Initial Code Checkout */ Change title and reference Milestone 1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;More specific and technical details for accomplishing this milestone are listed in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that you have already accomplished the [[#Milestone 1: Version Control Setup|version control setup milestone]].&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4887</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4887"/>
				<updated>2015-11-02T01:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestone 2: “Developer Rig” Setup and Initial As-Is Build */ Make hash symbol invisible.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;More specific and technical details for accomplishing this milestone are listed in the [[#GenMAPP Builder Project Setup and Initial Build|GenMAPP Builder Project Setup and Initial Build]] section of this wiki page.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4886</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4886"/>
				<updated>2015-11-02T01:19:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestone 1: Version Control Setup */ More details.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB project on GitHub].&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
#* The easiest way to do this is via the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu on the [https://github.com/lmu-bioinformatics/xmlpipedb GitHub project website for XMLPipeDB].&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit and push relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
#* You can always verify what is publicly visible on your branch by visiting the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB GitHub website], choosing your branch from the &amp;#039;&amp;#039;Branch&amp;#039;&amp;#039; dropdown menu, then inspecting the code that is visible there.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;More specific and technical details for accomplishing this milestone are listed in [[#GenMAPP Builder Project Setup and Initial Build]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4885</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4885"/>
				<updated>2015-11-02T01:16:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestones */ Version control setup should come before developer rig and initial build.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;More specific and technical details for accomplishing this milestone are listed in [[#GenMAPP Builder Project Setup and Initial Build]].&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4883</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4883"/>
				<updated>2015-11-02T01:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestones */ Name milestones and separate working environment from developer rig.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 0: Working Environment Setup ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
* GenMAPP (http://genmapp.org)&lt;br /&gt;
** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
*** Follow the instructions in the installer.&lt;br /&gt;
*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: “Developer Rig” Setup and Initial As-Is Build ===&lt;br /&gt;
&lt;br /&gt;
# Install core software for developing, building, and testing prototype versions of GenMAPP Builder:&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039; utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
#** Eclipse includes &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; so you do not need a separate &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; installation unless you plan to build GenMAPP Builder outside of Eclipse&lt;br /&gt;
#** If you want to use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; outside Eclipse, please visit http://ant.apache.org.&lt;br /&gt;
# Build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Get a full import-export cycle done.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Decide on a file/version management scheme/system.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: Version Control Setup ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; Commit relevant source data to the &amp;#039;&amp;#039;GenMAPP Gene Databases&amp;#039;&amp;#039; folder of your GitHub branch&lt;br /&gt;
&lt;br /&gt;
As needed, coders may arrange for a walkthrough or other help session with Dr. Dionisio if there are any issues with the procedures on this guild page.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Species Profile Creation ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the Systems table.&lt;br /&gt;
# Customize the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; field in the &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039; record of the &amp;#039;&amp;#039;Systems table&amp;#039;&amp;#039; to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* &amp;#039;&amp;#039;(with QA)&amp;#039;&amp;#039; The URL would need to be determined first, of course.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Species Export Customization ===&lt;br /&gt;
&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
# Implement this export behavior.&lt;br /&gt;
# As needed, commit and push your work to your GitHub branch.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
# When your work is complete, issue a GitHub &amp;#039;&amp;#039;pull request&amp;#039;&amp;#039; to merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4880</id>
		<title>Gene Database Project</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4880"/>
				<updated>2015-11-02T00:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* GenMAPP User (GU) */ Synchronize overview sentence with guild page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
* You will give a final group PowerPoint presentation in class on &amp;#039;&amp;#039;&amp;#039;Tuesday, December 15, 2:00pm&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Final due date for all other deliverables is no later than &amp;#039;&amp;#039;&amp;#039;Friday, December 18, 4:30pm&amp;#039;&amp;#039;&amp;#039; (according to official final exam schedule for fall, 2015)&lt;br /&gt;
* The deliverables should be uploaded and organized onto one group wiki page, or alternately, delivered on digital media to either Dr. Dahlquist or Dr. Dionisio.  &lt;br /&gt;
* Each member of the group will be assigned the same grade for the group project.&lt;br /&gt;
&lt;br /&gt;
=== Group Deliverables ===&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Gene Database Project Deliverables#Group Report | Group Report]] describing the creation of the Gene Database and the biological analysis of the data (&amp;#039;&amp;#039;.doc&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
=== Individual Deliverable ===&lt;br /&gt;
&lt;br /&gt;
The individual deliverable is an [[Gene Database Project Deliverables#Individual Assessment and Reflection|assessment and reflection]] on the process (either wiki or email, depending on your preference; see note in the linked section):&lt;br /&gt;
* Statement of work&lt;br /&gt;
* Assessment of the work done&lt;br /&gt;
* What was learned&lt;br /&gt;
* Team evaluation via the [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Team Journal Entries ==&lt;br /&gt;
&lt;br /&gt;
* Each team will write a combined journal entry for each week with contributions from all members.&lt;br /&gt;
* [[Week 10]] Creation of page (midnight 11/10)&lt;br /&gt;
* [[Week 11]] (midnight 11/17)&lt;br /&gt;
* [[Week 12]] (midnight 11/24)&lt;br /&gt;
* [[Week 14]] (midnight 12/8)&lt;br /&gt;
* [[Week 15]] (midnight 12/15)&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
The project groups are:&lt;br /&gt;
# Team 1&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 2&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 3&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 4&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
&lt;br /&gt;
== Roles (Guilds) ==&lt;br /&gt;
&lt;br /&gt;
As the project moves forward, we will use class time for team meetings.  In addition, we will also have guild meetings where students sharing the same role can work together on common issues.  Each student has been assigned a primary role in the project by the instructors (see above).&lt;br /&gt;
&lt;br /&gt;
=== [[Project Manager]] (PM) ===&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time.&lt;br /&gt;
&lt;br /&gt;
=== [[GenMAPP User]] (GU) ===&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP). His or her tasks generally correspond to the work done during the DNA microarray analysis exercise ([http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1], [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]), as applicable to the team’s chosen bacterium.&lt;br /&gt;
&lt;br /&gt;
=== [[Quality Assurance]] (QA) ===&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats.  He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Coder]] (C) ===&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Project Milestones ==&lt;br /&gt;
&lt;br /&gt;
Specific project milestones are found on the individual guild pages.&lt;br /&gt;
&lt;br /&gt;
=== Overall Flow ===&lt;br /&gt;
&lt;br /&gt;
A successful project will have the following steps from end to end.  Depending on the data and/or other issues that are encountered, one or more of these steps may go through iterations, repetitions, or refinements.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWorkflow.png|450px|thumb|right|Overall Flow]]&lt;br /&gt;
&lt;br /&gt;
# Following the steps shown in the [[Running GenMAPP Builder]] instructions, download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Make sure that you are choosing the correct strain/subspecies as the microarray data you have.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Download GO terms from [http://geneontology.org/page/download-ontology#Legacy_Downloads Gene Ontology].&lt;br /&gt;
#* You will need the OBO-XML format, the &amp;quot;obo-xml.gz&amp;quot; file.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
#* Create a [[Gene Database Testing Report Sample | Gene Database Testing Report]] each time a new export is run.&lt;br /&gt;
#* Compare to the model organism database for your species&lt;br /&gt;
# Find an original journal article describing a DNA microarray experiment performed on your species.&lt;br /&gt;
#* Download the microarray data for this article.&lt;br /&gt;
#* Consult with Dr. Dahlquist about the proper steps to take to process the data (normalization, statistical analysis) and perform the analysis.&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* MAPPFinder&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Guild Milestones ===&lt;br /&gt;
&lt;br /&gt;
These are links to the respective milestone lists in the guild pages:&lt;br /&gt;
* [[Project Manager#Milestones|Project Manager]]&lt;br /&gt;
* [[GenMAPP User#Milestones|GenMAPP User]]&lt;br /&gt;
* [[Quality Assurance#Milestones|Quality Assurance]]&lt;br /&gt;
* [[Coder#Milestones|Coder]]&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4879</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4879"/>
				<updated>2015-11-02T00:41:45Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Add overview sentence.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# For your team: set up the working environment, if necessary (already done on the machines in the Seaver 120 computer lab)&lt;br /&gt;
#: &amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes. &lt;br /&gt;
#* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
#* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
#** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
#** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
#* GenMAPP (http://genmapp.org)&lt;br /&gt;
#** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
#*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
#*** Follow the instructions in the installer.&lt;br /&gt;
#*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
#* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
#* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
# Set up the development environment&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
# (with QA) Get a full import-export cycle done.&lt;br /&gt;
# (with QA) Decide on a file/version management scheme/system.&lt;br /&gt;
# (with QA) Commit relevant source data to your GitHub branch&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; to build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# As needed, coders should arrange for a walkthrough or other help session with Dr. Dionisio.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3 ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the OrderedLocusNames record of the Systems table.&lt;br /&gt;
# Customize the Link field in the OrderedLocusNames record of the Systems table to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* The URL would need to be determined first, of course.&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4 ===&lt;br /&gt;
&lt;br /&gt;
# Implement the export behavior defined in [[#Milestone 3|Milestone 3]].&lt;br /&gt;
# As needed, commit and push your species profile to your GitHub branch.&lt;br /&gt;
# When your work is complete, merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4878</id>
		<title>Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4878"/>
				<updated>2015-11-02T00:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Add dropped italics.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats. He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Initial Database Export ===&lt;br /&gt;
&lt;br /&gt;
# (with Coders) Get a full import-export cycle done.&lt;br /&gt;
# (with Coders) Decide on a file/version management scheme/system.&lt;br /&gt;
# Learn the ID systems:&lt;br /&gt;
#* Systems that are the same for each species (hint: guild members help each other out by posting the relevant information on this page)&lt;br /&gt;
#** UniProt&lt;br /&gt;
#** RefSeq&lt;br /&gt;
#** GeneID (EntrezGene from NCBI)&lt;br /&gt;
#** GO&lt;br /&gt;
#* The OrderedLocusNames for your species&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: ID Pattern Definition and Verification ===&lt;br /&gt;
&lt;br /&gt;
# Characterize regular expression patterns to detect the IDs ([[How Do I Count Thee? Let Me Count The Ways|for filtering then counting]]).&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Direct SQL queries in PostgreSQL&lt;br /&gt;
#* For example, the &amp;#039;&amp;#039;Vibrio&amp;#039;&amp;#039; IDs were of the form &amp;lt;code&amp;gt;VC####&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;VC_####&amp;lt;/code&amp;gt;; how would you express that in Match or as an SQL query?&lt;br /&gt;
#* Table inspection/filtering/sorting in Microsoft Access&lt;br /&gt;
#* If needed, side-by-side sorted comparisons in Microsoft Excel ([[Using Microsoft Excel to Compare ID Lists|as described here]])&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Tally Engine Configuration ===&lt;br /&gt;
&lt;br /&gt;
Along with your Coder, customize the Tally Engine setup for your species as specified in [[Coder#Customize_the_IDs_that_the_Tally_Engine_Counts|these coder steps]].  You will want to add, at the very least, the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs for your species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Final Documentation ===&lt;br /&gt;
&lt;br /&gt;
# Document the relational database schema for the gene database.&lt;br /&gt;
# Create the ReadMe with comparisons to MOD for your species.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4877</id>
		<title>Gene Database Project</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4877"/>
				<updated>2015-11-02T00:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Coder (C) */ Add version control to coder overview.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
* You will give a final group PowerPoint presentation in class on &amp;#039;&amp;#039;&amp;#039;Tuesday, December 15, 2:00pm&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Final due date for all other deliverables is no later than &amp;#039;&amp;#039;&amp;#039;Friday, December 18, 4:30pm&amp;#039;&amp;#039;&amp;#039; (according to official final exam schedule for fall, 2015)&lt;br /&gt;
* The deliverables should be uploaded and organized onto one group wiki page, or alternately, delivered on digital media to either Dr. Dahlquist or Dr. Dionisio.  &lt;br /&gt;
* Each member of the group will be assigned the same grade for the group project.&lt;br /&gt;
&lt;br /&gt;
=== Group Deliverables ===&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Gene Database Project Deliverables#Group Report | Group Report]] describing the creation of the Gene Database and the biological analysis of the data (&amp;#039;&amp;#039;.doc&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
=== Individual Deliverable ===&lt;br /&gt;
&lt;br /&gt;
The individual deliverable is an [[Gene Database Project Deliverables#Individual Assessment and Reflection|assessment and reflection]] on the process (either wiki or email, depending on your preference; see note in the linked section):&lt;br /&gt;
* Statement of work&lt;br /&gt;
* Assessment of the work done&lt;br /&gt;
* What was learned&lt;br /&gt;
* Team evaluation via the [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Team Journal Entries ==&lt;br /&gt;
&lt;br /&gt;
* Each team will write a combined journal entry for each week with contributions from all members.&lt;br /&gt;
* [[Week 10]] Creation of page (midnight 11/10)&lt;br /&gt;
* [[Week 11]] (midnight 11/17)&lt;br /&gt;
* [[Week 12]] (midnight 11/24)&lt;br /&gt;
* [[Week 14]] (midnight 12/8)&lt;br /&gt;
* [[Week 15]] (midnight 12/15)&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
The project groups are:&lt;br /&gt;
# Team 1&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 2&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 3&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 4&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
&lt;br /&gt;
== Roles (Guilds) ==&lt;br /&gt;
&lt;br /&gt;
As the project moves forward, we will use class time for team meetings.  In addition, we will also have guild meetings where students sharing the same role can work together on common issues.  Each student has been assigned a primary role in the project by the instructors (see above).&lt;br /&gt;
&lt;br /&gt;
=== [[Project Manager]] (PM) ===&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time.&lt;br /&gt;
&lt;br /&gt;
=== [[GenMAPP User]] (GU) ===&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP).&lt;br /&gt;
&lt;br /&gt;
=== [[Quality Assurance]] (QA) ===&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats.  He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Coder]] (C) ===&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, version control, some troubleshooting, some programming. He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Project Milestones ==&lt;br /&gt;
&lt;br /&gt;
Specific project milestones are found on the individual guild pages.&lt;br /&gt;
&lt;br /&gt;
=== Overall Flow ===&lt;br /&gt;
&lt;br /&gt;
A successful project will have the following steps from end to end.  Depending on the data and/or other issues that are encountered, one or more of these steps may go through iterations, repetitions, or refinements.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWorkflow.png|450px|thumb|right|Overall Flow]]&lt;br /&gt;
&lt;br /&gt;
# Following the steps shown in the [[Running GenMAPP Builder]] instructions, download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Make sure that you are choosing the correct strain/subspecies as the microarray data you have.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Download GO terms from [http://geneontology.org/page/download-ontology#Legacy_Downloads Gene Ontology].&lt;br /&gt;
#* You will need the OBO-XML format, the &amp;quot;obo-xml.gz&amp;quot; file.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
#* Create a [[Gene Database Testing Report Sample | Gene Database Testing Report]] each time a new export is run.&lt;br /&gt;
#* Compare to the model organism database for your species&lt;br /&gt;
# Find an original journal article describing a DNA microarray experiment performed on your species.&lt;br /&gt;
#* Download the microarray data for this article.&lt;br /&gt;
#* Consult with Dr. Dahlquist about the proper steps to take to process the data (normalization, statistical analysis) and perform the analysis.&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* MAPPFinder&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Guild Milestones ===&lt;br /&gt;
&lt;br /&gt;
These are links to the respective milestone lists in the guild pages:&lt;br /&gt;
* [[Project Manager#Milestones|Project Manager]]&lt;br /&gt;
* [[GenMAPP User#Milestones|GenMAPP User]]&lt;br /&gt;
* [[Quality Assurance#Milestones|Quality Assurance]]&lt;br /&gt;
* [[Coder#Milestones|Coder]]&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4876</id>
		<title>Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4876"/>
				<updated>2015-11-02T00:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Provide overview and milestone names.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats. He or she should be proficient with XMLPipeDB Match, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Initial Database Export ===&lt;br /&gt;
&lt;br /&gt;
# (with Coders) Get a full import-export cycle done.&lt;br /&gt;
# (with Coders) Decide on a file/version management scheme/system.&lt;br /&gt;
# Learn the ID systems:&lt;br /&gt;
#* Systems that are the same for each species (hint: guild members help each other out by posting the relevant information on this page)&lt;br /&gt;
#** UniProt&lt;br /&gt;
#** RefSeq&lt;br /&gt;
#** GeneID (EntrezGene from NCBI)&lt;br /&gt;
#** GO&lt;br /&gt;
#* The OrderedLocusNames for your species&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: ID Pattern Definition and Verification ===&lt;br /&gt;
&lt;br /&gt;
# Characterize regular expression patterns to detect the IDs ([[How Do I Count Thee? Let Me Count The Ways|for filtering then counting]]).&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Direct SQL queries in PostgreSQL&lt;br /&gt;
#* For example, the &amp;#039;&amp;#039;Vibrio&amp;#039;&amp;#039; IDs were of the form &amp;lt;code&amp;gt;VC####&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;VC_####&amp;lt;/code&amp;gt;; how would you express that in Match or as an SQL query?&lt;br /&gt;
#* Table inspection/filtering/sorting in Microsoft Access&lt;br /&gt;
#* If needed, side-by-side sorted comparisons in Microsoft Excel ([[Using Microsoft Excel to Compare ID Lists|as described here]])&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: Tally Engine Configuration ===&lt;br /&gt;
&lt;br /&gt;
Along with your Coder, customize the Tally Engine setup for your species as specified in [[Coder#Customize_the_IDs_that_the_Tally_Engine_Counts|these coder steps]].  You will want to add, at the very least, the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs for your species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4: Final Documentation ===&lt;br /&gt;
&lt;br /&gt;
# Document the relational database schema for the gene database.&lt;br /&gt;
# Create the ReadMe with comparisons to MOD for your species.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=GenMAPP_User&amp;diff=4875</id>
		<title>GenMAPP User</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=GenMAPP_User&amp;diff=4875"/>
				<updated>2015-11-02T00:36:47Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Give some overviews and names to milestones.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP). His or her tasks generally correspond to the work done during the DNA microarray analysis exercise ([http://www.openwetware.org/wiki/BIOL398-01/S10:Sample_Microarray_Analysis_Vibrio_cholerae part 1], [http://www.openwetware.org/wiki/BIOL367/F10:GenMAPP_and_MAPPFinder_Protocols part 2]), as applicable to the team’s chosen bacterium.&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
The milestones do not necessarily correspond to particular weeks; instead they are sets of tasks grouped together.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Startup from Original Microarray Paper and Data ===&lt;br /&gt;
&lt;br /&gt;
# Find and acquire the microarray paper for your team (done [[Week 10]]).&lt;br /&gt;
#* Provide the proper bibliographic reference for your paper.&lt;br /&gt;
#* Link to the HTML version of the paper on the journal website.&lt;br /&gt;
#* Upload the PDF version of the paper to the wiki &amp;#039;&amp;#039;(if no copyright restrictions)&amp;#039;&amp;#039;; otherwise provide a download link to the publisher site.&lt;br /&gt;
# Download microarray data in its “rawest” form that you can find. (Consult with Dr. Dahlquist about this.)&lt;br /&gt;
# Verify that the gene IDs in the microarray data match the chosen species and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;strain&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; that is being used to create the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;.&lt;br /&gt;
#* This task needs to be done in conjunction with the Quality Assurance person and Coder.&lt;br /&gt;
# File management: on your team&amp;#039;s home page&lt;br /&gt;
#* Link to the source of the microarray data&lt;br /&gt;
#* Upload the microarray data files to the wiki&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: Data Preparation ===&lt;br /&gt;
&lt;br /&gt;
# Read the microarray paper to understand the experiment.&lt;br /&gt;
# Create a table or list that shows the correspondence between the samples in the experiment and the files you have downloaded.&lt;br /&gt;
# Determine how many biological or technical replicates, and which samples were labeled with Cy3 or Cy5.&lt;br /&gt;
# Create a Master Raw Data file that contains the IDs and columns of data required for further analysis.&lt;br /&gt;
# Consult with Dr. Dahlquist on how to process the data (normalization, statistics).&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3: On-going Analysis Cycle ===&lt;br /&gt;
&lt;br /&gt;
This milestone represents the on-going work of the GenMAPP user, as the project gradually converges toward a final version of its gene database and compares its own results to the results in the original microarray paper.&lt;br /&gt;
&lt;br /&gt;
# Perform the statistical analysis in Excel.&lt;br /&gt;
# Format the gene expression data for import into GenMAPP.&lt;br /&gt;
# Import data into GenMAPP, create ColorSets, and run MAPPFinder.&lt;br /&gt;
# Document and take notes on test runs with GenMAPP.&lt;br /&gt;
#* Use the &amp;#039;&amp;#039;EX.txt&amp;#039;&amp;#039; file to help the Coder/Quality Assurance team members to validate the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;.&lt;br /&gt;
# Do a journal club outline of the paper so that you can use it in the Discussion section of your group report and your final presentation.&lt;br /&gt;
# Create a &amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039; file showing one pathway that is changed in your data.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4874</id>
		<title>Project Manager</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4874"/>
				<updated>2015-11-02T00:30:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Add overview sentence.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time. &lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Project “Scaffolding” ===&lt;br /&gt;
&lt;br /&gt;
This milestone pertains to setting up an initial schedule and any resources that your team will use for the duration of the project. It will be useful to get an overview of every team member’s own milestones so that you have an accurate big picture view.&lt;br /&gt;
&lt;br /&gt;
# In consultation with your team, work backward from the final deadline to set intermediate deadlines for each deliverable. In particular you need to set deadlines for what you will accomplish by the journal deadline for [[Week 12]], [[Week 14]], and [[Week 15]].&lt;br /&gt;
# Organize management tools for your team:&lt;br /&gt;
#* Workflow narratives&lt;br /&gt;
#* Action items&lt;br /&gt;
#* Testing results/reports&lt;br /&gt;
#** Bugs/feature requests&lt;br /&gt;
#** Question/answer sequences&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: Periodic Updates ===&lt;br /&gt;
&lt;br /&gt;
Not as much a milestone as an on-going task, once the project is up and running the Project Manager is responsible for keeping track of everyone’s progress.&lt;br /&gt;
&lt;br /&gt;
# Get periodic updates on progress; in particular, the project’s “place” in the overall flow should be known at all times (transparency). You and your team will be giving a status report in class for the rest of the semester.&lt;br /&gt;
# Monitor the status of the report-in-progress and other related documentation.&lt;br /&gt;
# Coordinate team decisions and action items addressing any unforeseen delays or roadblocks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--http://www.stellman-greene.com/ interesting blog posts&lt;br /&gt;
http://www.projectsmart.co.uk/why-software-projects-fail.html--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4873</id>
		<title>Project Manager</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4873"/>
				<updated>2015-11-02T00:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestones */ Give names to milestones.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1: Project “Scaffolding” ===&lt;br /&gt;
&lt;br /&gt;
This milestone pertains to setting up an initial schedule and any resources that your team will use for the duration of the project. It will be useful to get an overview of every team member’s own milestones so that you have an accurate big picture view.&lt;br /&gt;
&lt;br /&gt;
# In consultation with your team, work backward from the final deadline to set intermediate deadlines for each deliverable. In particular you need to set deadlines for what you will accomplish by the journal deadline for [[Week 12]], [[Week 14]], and [[Week 15]].&lt;br /&gt;
# Organize management tools for your team:&lt;br /&gt;
#* Workflow narratives&lt;br /&gt;
#* Action items&lt;br /&gt;
#* Testing results/reports&lt;br /&gt;
#** Bugs/feature requests&lt;br /&gt;
#** Question/answer sequences&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2: Periodic Updates ===&lt;br /&gt;
&lt;br /&gt;
Not as much a milestone as an on-going task, once the project is up and running the Project Manager is responsible for keeping track of everyone’s progress.&lt;br /&gt;
&lt;br /&gt;
# Get periodic updates on progress; in particular, the project’s “place” in the overall flow should be known at all times (transparency). You and your team will be giving a status report in class for the rest of the semester.&lt;br /&gt;
# Monitor the status of the report-in-progress and other related documentation.&lt;br /&gt;
# Coordinate team decisions and action items addressing any unforeseen delays or roadblocks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--http://www.stellman-greene.com/ interesting blog posts&lt;br /&gt;
http://www.projectsmart.co.uk/why-software-projects-fail.html--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4872</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4872"/>
				<updated>2015-11-02T00:10:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Milestone 1 */ Clarify that working environment is already done for the lab and update GenMAPP link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# For your team: set up the working environment, if necessary (already done on the machines in the Seaver 120 computer lab)&lt;br /&gt;
#: &amp;#039;&amp;#039;Because the machines in the Seaver 120 computer lab have already been set up for this process, the information below is listed primarily for documentation and troubleshooting purposes. &lt;br /&gt;
#* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
#* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
#** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
#** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
#* GenMAPP (http://genmapp.org)&lt;br /&gt;
#** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
#*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [https://github.com/GenMAPPCS/genmapp from GitHub].&lt;br /&gt;
#*** Follow the instructions in the installer.&lt;br /&gt;
#*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
#* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
#* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
# Set up the development environment&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
# (with QA) Get a full import-export cycle done.&lt;br /&gt;
# (with QA) Decide on a file/version management scheme/system.&lt;br /&gt;
# (with QA) Commit relevant source data to your GitHub branch&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; to build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# As needed, coders should arrange for a walkthrough or other help session with Dr. Dionisio.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3 ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the OrderedLocusNames record of the Systems table.&lt;br /&gt;
# Customize the Link field in the OrderedLocusNames record of the Systems table to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* The URL would need to be determined first, of course.&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4 ===&lt;br /&gt;
&lt;br /&gt;
# Implement the export behavior defined in [[#Milestone 3|Milestone 3]].&lt;br /&gt;
# As needed, commit and push your species profile to your GitHub branch.&lt;br /&gt;
# When your work is complete, merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4870</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4870"/>
				<updated>2015-11-01T23:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Creating a Distribution */ Note on setting VERSION string.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# For your team: set up the working environment, if necessary (already done on the machines in the Seaver 120 computer lab)&lt;br /&gt;
#* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
#* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
#** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
#** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
#* GenMAPP (http://genmapp.org)&lt;br /&gt;
#** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
#*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [http://www.genmapp.org/download_v2.1.php from this page].&lt;br /&gt;
#*** Follow the instructions in the installer.&lt;br /&gt;
#*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
#* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
#* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
# Set up the development environment&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
# (with QA) Get a full import-export cycle done.&lt;br /&gt;
# (with QA) Decide on a file/version management scheme/system.&lt;br /&gt;
# (with QA) Commit relevant source data to your GitHub branch&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; to build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# As needed, coders should arrange for a walkthrough or other help session with Dr. Dionisio.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3 ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the OrderedLocusNames record of the Systems table.&lt;br /&gt;
# Customize the Link field in the OrderedLocusNames record of the Systems table to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* The URL would need to be determined first, of course.&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4 ===&lt;br /&gt;
&lt;br /&gt;
# Implement the export behavior defined in [[#Milestone 3|Milestone 3]].&lt;br /&gt;
# As needed, commit and push your species profile to your GitHub branch.&lt;br /&gt;
# When your work is complete, merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create by setting the &amp;lt;code&amp;gt;VERSION&amp;lt;/code&amp;gt; string (located at approximately line 83) to a sufficiently descriptive value.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4867</id>
		<title>Coder</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Coder&amp;diff=4867"/>
				<updated>2015-11-01T09:42:35Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Initial transcription of this page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# For your team: set up the working environment, if necessary (already done on the machines in the Seaver 120 computer lab)&lt;br /&gt;
#* PostgreSQL (http://www.postgresql.org)&lt;br /&gt;
#* GenMAPP Builder (https://github.com/lmu-bioinformatics/xmlpipedb)&lt;br /&gt;
#** Current version is [https://github.com/lmu-bioinformatics/xmlpipedb/releases/tag/gmbuilder-3.0.0-build-5 3.0.0 build 5]&lt;br /&gt;
#** Requires [http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html Java 8 Runtime Environment]&lt;br /&gt;
#* GenMAPP (http://genmapp.org)&lt;br /&gt;
#** We will be using GenMAPP and MAPPFinder version 2.1.&lt;br /&gt;
#*** This version is now called &amp;quot;GenMAPP Classic&amp;quot; and can be downloaded [http://www.genmapp.org/download_v2.1.php from this page].&lt;br /&gt;
#*** Follow the instructions in the installer.&lt;br /&gt;
#*** During installation, the installer will open a window called the GenMAPP Data Acquisition Tool. It will not function because it cannot connect to the server. This is OK.&lt;br /&gt;
#* XMLPipeDB &amp;#039;&amp;#039;match&amp;#039;&amp;#039; utility for counting IDs in XML files&lt;br /&gt;
#* Microsoft Access or any other tool that can read &amp;#039;&amp;#039;.mdb&amp;#039;&amp;#039; files&lt;br /&gt;
# Set up the development environment&lt;br /&gt;
#* Java developer tools: [http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html JDK 8] and [http://ant.apache.org ant]&lt;br /&gt;
#* A &amp;#039;&amp;#039;git&amp;#039;&amp;#039; client (for interacting with GitHub)&lt;br /&gt;
#* Any tool that can unpack .gz and .zip files (we are using [http://www.7-zip.org/ 7-zip] on the Seaver 120 machines)&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Development environment: while any will do, [http://www.eclipse.org Eclipse] is the specific one that most XMLPipeDB developers have used&lt;br /&gt;
# (with QA) Get a full import-export cycle done.&lt;br /&gt;
# (with QA) Decide on a file/version management scheme/system.&lt;br /&gt;
# (with QA) Commit relevant source data to your GitHub branch&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Get a GitHub account and pass it to Dr. Dionisio so that you can be added as a developer of the XMLPipeDB project.&lt;br /&gt;
#* Once you are set up as a developer, you can clone and push your GenMAPP Builder source code.&lt;br /&gt;
# Use &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; to build your own copy of GenMAPP Builder from scratch.&lt;br /&gt;
# Create a GitHub branch of &amp;#039;&amp;#039;xmlpipedb&amp;#039;&amp;#039; for your team.&lt;br /&gt;
# As needed, coders should arrange for a walkthrough or other help session with Dr. Dionisio.&lt;br /&gt;
# Additional milestones will depend on how the rest of the project goes, and the bugs/features generated by that work.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3 ===&lt;br /&gt;
&lt;br /&gt;
# Add a &amp;#039;&amp;#039;species profile&amp;#039;&amp;#039; to the GenMAPP Builder code base.&lt;br /&gt;
# Customize the species profile with the species name in the OrderedLocusNames record of the Systems table.&lt;br /&gt;
# Customize the Link field in the OrderedLocusNames record of the Systems table to hold a URL query with &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; standing in for the gene ID.&lt;br /&gt;
#* The URL would need to be determined first, of course.&lt;br /&gt;
# Based on observations from the GenMAPP User and QA, determine and document (as thoroughly as possible) any other modified export behavior that GenMAPP Builder will have to manifest for this species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4 ===&lt;br /&gt;
&lt;br /&gt;
# Implement the export behavior defined in [[#Milestone 3|Milestone 3]].&lt;br /&gt;
# As needed, commit and push your species profile to your GitHub branch.&lt;br /&gt;
# When your work is complete, merge your branch into the main development line.&lt;br /&gt;
&lt;br /&gt;
== GenMAPP Builder Project Setup and Initial Build ==&lt;br /&gt;
&lt;br /&gt;
This section of the page seeks to provide a guide for building new versions of GenMAPP Builder.&lt;br /&gt;
&lt;br /&gt;
While there are many ways to update and maintain GenMAPP Builder code, for uniformity these instructions will assume the use of [http://www.eclipse.org Eclipse] for viewing, modifying, and updating GenMAPP Builder. The main benefit of Eclipse is that it is largely a one-stop shop for performing all of these tasks.&lt;br /&gt;
&lt;br /&gt;
The instructions listed in this [[#Setup|Setup]] section need only be performed once. Once done correctly, you will primarily be doing what is described in the [[#Common Tasks|Common Tasks]] section.&lt;br /&gt;
&lt;br /&gt;
=== Software to Install ===&lt;br /&gt;
&lt;br /&gt;
# While you can only run GenMAPP and MAPPFinder on Windows, you can build and run GenMAPP Builder on any platform: Windows, Linux, or Mac OS X. You need to download and install the Java Development Kit from http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (which, at this writing, is &amp;#039;&amp;#039;JDK 8u65&amp;#039;&amp;#039;).&lt;br /&gt;
# Download and install Eclipse from its [http://www.eclipse.org/downloads download web site]. Either &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java Developers&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Eclipse IDE for Java EE Developers&amp;#039;&amp;#039;&amp;#039; will work.&lt;br /&gt;
&lt;br /&gt;
=== Initial Code Checkout ===&lt;br /&gt;
&lt;br /&gt;
# Get an account from https://github.com and send your account name to Dr. Dionisio, for inclusion as an XMLPipeDB developer.&lt;br /&gt;
# Run Eclipse.&lt;br /&gt;
# Establish an Eclipse workspace for the [https://github.com/lmu-bioinformatics/xmlpipedb XMLPipeDB repository].&lt;br /&gt;
&amp;lt;!-- TODO needs update for git&lt;br /&gt;
# Go to Eclipse’s menu bar’s &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;SVN Repository Exploring&amp;#039;&amp;#039; either from the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu if it is there, or from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039;. If you don&amp;#039;t see this, double-check your installation of Subclipse.&lt;br /&gt;
# Define a new Subversion repository by clicking on the &amp;#039;&amp;#039;Add Repository&amp;#039;&amp;#039; button (this is the icon with the little yellow canister with small &amp;#039;&amp;#039;SVN&amp;#039;&amp;#039; and &amp;#039;&amp;#039;+&amp;#039;&amp;#039; badges to its right).&lt;br /&gt;
# Set the URL to https://svn.code.sf.net/p/xmlpipedb/code then click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;.&lt;br /&gt;
#* Remember to accept the security certificate for the SVN repository&lt;br /&gt;
# https://svn.code.sf.net/p/xmlpipedb/code should now appear in the list. Double-click on it to see its contents.&lt;br /&gt;
# Double-click on &amp;#039;&amp;#039;trunk&amp;#039;&amp;#039;.&lt;br /&gt;
# Right-click on &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Checkout...&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;Check out as a project configured using the New Project Wizard&amp;#039;&amp;#039; then click &amp;#039;&amp;#039;FInish&amp;#039;&amp;#039;.&lt;br /&gt;
# If you are asked for a username and password, enter your SourceForge username and password.&lt;br /&gt;
# In the &amp;#039;&amp;#039;New Project&amp;#039;&amp;#039; dialog that opens, choose &amp;#039;&amp;#039;Java Project&amp;#039;&amp;#039; from the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Next &amp;gt; &amp;#039;&amp;#039;.&lt;br /&gt;
# You may enter any &amp;#039;&amp;#039;Project name:&amp;#039;&amp;#039; that you like. &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; or &amp;#039;&amp;#039;xmlpipedb-gmbuilder&amp;#039;&amp;#039; isn’t bad, for example.&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. You should end up in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, with your project appearing as a top-level folder in the &amp;#039;&amp;#039;Package Explorer&amp;#039;&amp;#039; tab.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Java Project Setup ===&lt;br /&gt;
&lt;br /&gt;
# Make sure that Eclipse is using a &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Java Development Kit) and not a &amp;#039;&amp;#039;JRE&amp;#039;&amp;#039; (Java Runtime Environment). To verify this, go to &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Preferences&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Java&amp;#039;&amp;#039;, click on &amp;#039;&amp;#039;Installed JREs&amp;#039;&amp;#039;, and make sure that the checked environment has &amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; in it. If not, you may need to add the environment (on Windows, it lives in &amp;lt;code&amp;gt;C:\Program Files\Java&amp;lt;/code&amp;gt;) then check on it.&lt;br /&gt;
# Upon a successful checkout, you should have a &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project in Eclipse. Make sure that you are in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective by choosing &amp;#039;&amp;#039;Window&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; (or choosing &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; from &amp;#039;&amp;#039;Other...&amp;#039;&amp;#039; if &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; is not already in the &amp;#039;&amp;#039;Open Perspective&amp;#039;&amp;#039; submenu).&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; folder (or whatever you called it) to view its contents.&lt;br /&gt;
# Double-click on the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Shift-click and select all files in the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder and then control-click (or, on a Mac, Command-click) on every file inside the &amp;#039;&amp;#039;lib&amp;#039;&amp;#039; folder whose name does not end in &amp;#039;&amp;#039;.jar&amp;#039;&amp;#039;.&lt;br /&gt;
# Once all of these files are selected, right-click on one of them and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Add to Build Path&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# The &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder should look different from the other folders in that it has a little brown square badge on its upper-right corner. If not, right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# Do the same to the &amp;#039;&amp;#039;test&amp;#039;&amp;#039; folder: right-click on it and choose &amp;#039;&amp;#039;Build Path&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Use as Source Folder&amp;#039;&amp;#039; from the popup menu that comes up.&lt;br /&gt;
# If you see any red &amp;#039;&amp;#039;x&amp;#039;&amp;#039; icons appear, something has not been set up right. Contact other guild members or Dr. Dionisio for troubleshooting if you get stuck.&lt;br /&gt;
&lt;br /&gt;
== Adding a Species Profile to GenMAPP Builder ==&lt;br /&gt;
&lt;br /&gt;
All of this work happens in the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, so switch to that first if you’re not already there.&lt;br /&gt;
&lt;br /&gt;
=== Create the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
# Expose the contents of the &amp;#039;&amp;#039;src&amp;#039;&amp;#039; folder.&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package and choose &amp;#039;&amp;#039;New &amp;gt; Class&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# In the dialog that appears, enter the following:&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Name:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;&amp;#039;&amp;#039;name-of-your-species-without-spaces&amp;#039;&amp;#039;UniProtSpeciesProfile&amp;lt;/code&amp;gt; (in &amp;#039;&amp;#039;camel case&amp;#039;&amp;#039;: no spaces, capitalizing the first letters of each word)&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Superclass:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles.UniProtSpeciesProfile&amp;lt;/code&amp;gt; (you can also click on &amp;#039;&amp;#039;Browse...&amp;#039;&amp;#039; to navigate to this if you don’t feel like typing)&lt;br /&gt;
# Click &amp;#039;&amp;#039;Finish&amp;#039;&amp;#039;. There should now be a new &amp;#039;&amp;#039;.java&amp;#039;&amp;#039; file within the &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039; package (the one you just created).&lt;br /&gt;
&lt;br /&gt;
=== Customize the Species Profile ===&lt;br /&gt;
&lt;br /&gt;
* Open the file that you have just created. It should appear in the editor area of Eclipse.&lt;br /&gt;
* Override the method that supplies the name of the species and the description of the profile: add the following constructor block right below the &amp;#039;&amp;#039;public class&amp;#039;&amp;#039; line in the new file. Remember to customize according to your particular species; the portions that need to be customized are highlighted in asterisks.&lt;br /&gt;
 public ***NameOfYourSpecies***UniProtSpeciesProfile() {&lt;br /&gt;
     super(&amp;quot;***Genus species***&amp;quot;,&lt;br /&gt;
         ***taxonIDOfYourSpecies***,&lt;br /&gt;
         &amp;quot;This profile customizes the GenMAPP Builder export for &amp;quot; +&lt;br /&gt;
             &amp;quot;***Genus species***&amp;quot; +&lt;br /&gt;
             &amp;quot; data loaded from a UniProt XML file.&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
* To customize the species profile with the species name in the OrderedLocusNames record of the Systems table as well as a link query for that same record, add the following method block right below the constructor block that you added above.  Again, the key information to customize is highlighted in asterisks.&lt;br /&gt;
 @Override&lt;br /&gt;
 public TableManager getSystemsTableManagerCustomizations(TableManager tableManager, DatabaseProfile dbProfile) {&lt;br /&gt;
     super.getSystemsTableManagerCustomizations(tableManager, dbProfile);&lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Species&amp;quot;, &amp;quot;|&amp;quot; + getSpeciesName() + &amp;quot;|&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     tableManager.submit(&amp;quot;Systems&amp;quot;, QueryType.update, new String[][] {&lt;br /&gt;
         { &amp;quot;SystemCode&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
         { &amp;quot;Link&amp;quot;, &amp;quot;***species-specific-database-link***&amp;quot; }&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     return tableManager;&lt;br /&gt;
 }&lt;br /&gt;
* Note the &amp;#039;&amp;#039;&amp;#039;species-specific-database-link&amp;#039;&amp;#039;&amp;#039; placeholder above. This is a species-specific URL that returns a web page describing a gene for that species. It should look like a standard URL, with the tilde (&amp;#039;&amp;#039;&amp;#039;~&amp;#039;&amp;#039;&amp;#039;) standing in for the gene ID. For example, the link for &amp;#039;&amp;#039;Vibrio cholerae&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://bacteria.ensembl.org/Multi/Search/Results?species=all;idx=;q=~;site=ensemblunit&amp;lt;/code&amp;gt;. The link for &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; is &amp;lt;code&amp;gt;http://plasmodb.org/plasmo/showRecord.do?name=GeneRecordClasses.GeneRecordClass&amp;amp;project_id=PlasmoDB&amp;amp;source_id=~&amp;lt;/code&amp;gt;. Work with your GenMAPP User and/or QA to determine the appropriate URL for your species.&lt;br /&gt;
* Your code may have a red error badge at this point; assuming you typed everything in exactly, the fix for this is to choose &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;Source&amp;#039;&amp;#039; menu. If the red error badge persists, make sure that you typed everything in correctly.&lt;br /&gt;
* Save the file and see if these changes worked (see below).&lt;br /&gt;
&lt;br /&gt;
Additional customization, particularly with regard to the exported data, will depend on the species. Communicate with your QA to see if additional customization is needed. If the additional customization is not too complicated, you might be able to do the work yourself with some instructions. However, if the customization is too difficult, Dr. Dionisio will probably be the one to do the work.&lt;br /&gt;
&lt;br /&gt;
=== Customize the IDs that the Tally Engine Counts ===&lt;br /&gt;
&lt;br /&gt;
This step is technically optional, in that it does not affect the overall import/export process. However, it &amp;#039;&amp;#039;does&amp;#039;&amp;#039; help you to get an idea of how well the IDs from the UniProt XML file are being brought into the relational database.&lt;br /&gt;
&lt;br /&gt;
# First, determine which IDs (outside of the defaults that the tally engine already counts) you would like to count. At a minimum, this includes at least the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs from the &amp;#039;&amp;#039;gene/name&amp;#039;&amp;#039; tag in the UniProt XML file. There may be more; consult with your QA.&lt;br /&gt;
# For each of these IDs, determine the following:&lt;br /&gt;
#* Where in the XML file they can be found, in terms of which XML tags&lt;br /&gt;
#* Where in the relational database they can be found, in terms of which relational tables&lt;br /&gt;
# Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.resource.properties&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;gmbuilder.properties&amp;#039;&amp;#039;.&lt;br /&gt;
# Locate the block of text below (it’s near the bottom). You will insert the customizations that will be described right above this block.&lt;br /&gt;
 #&lt;br /&gt;
 # wizard.properties&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
* First, mark out the section that denotes the customization for your species:&lt;br /&gt;
 # Species name&lt;br /&gt;
* Next, rewrite your species name without spaces and all lowercase (e.g., &amp;#039;&amp;#039;Plasmodium falciparum&amp;#039;&amp;#039; becomes &amp;#039;&amp;#039;plasmodiumfalciparum&amp;#039;&amp;#039;). Specify the number of additional custom IDs to count as follows, where &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; is your no-space, all-lowercase species name, and &amp;#039;&amp;#039;#&amp;#039;&amp;#039; represents the actual number of IDs:&lt;br /&gt;
 speciesname_level_amount=#&lt;br /&gt;
* Now, &amp;#039;&amp;#039;for each custom ID&amp;#039;&amp;#039;, you need to specify three things: an &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, a &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and a &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. Each of these items is numbered, starting from 0. Each item number is called a &amp;#039;&amp;#039;level&amp;#039;&amp;#039;.&lt;br /&gt;
*# The &amp;#039;&amp;#039;element&amp;#039;&amp;#039; states where you expect an ID to be found in the UniProt XML file. It starts with &amp;#039;&amp;#039;uniprot/entry&amp;#039;&amp;#039;, then continues with additional tags as needed. After the tag, you may specify, separated by ampersands (&amp;#039;&amp;#039;&amp;amp;&amp;#039;&amp;#039;s), any specific attributes that you would like to choose.&lt;br /&gt;
*# The &amp;#039;&amp;#039;query&amp;#039;&amp;#039; states the SQL query that you would use to count the IDs in the relational database. The query would be exactly as you would type it if you were entering it directly into the relational database.&lt;br /&gt;
*# The &amp;#039;&amp;#039;name&amp;#039;&amp;#039; is a simple label: this is how you would like to identify this ID in the final Tally Engine table.&lt;br /&gt;
* You can write these in any order, though existing customizations group them by &amp;#039;&amp;#039;element&amp;#039;&amp;#039;, &amp;#039;&amp;#039;query&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;name&amp;#039;&amp;#039;. For example, if your species is &amp;#039;&amp;#039;speciesname&amp;#039;&amp;#039; and you only need to count ordered locus IDs, you would add:&lt;br /&gt;
 # Species name&lt;br /&gt;
 speciesname_level_amount=1&lt;br /&gt;
 &lt;br /&gt;
 speciesname_element_level0=uniprot/entry/gene/name&amp;amp;type&amp;amp;ordered locus&lt;br /&gt;
 &lt;br /&gt;
 speciesname_query_level0=select count(*) from genenametype where type = &amp;#039;ordered locus&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 speciesname_query_level0=Ordered Locus&lt;br /&gt;
* Note how the &amp;#039;&amp;#039;element&amp;#039;&amp;#039; ends with &amp;#039;&amp;#039;name&amp;amp;type&amp;amp;ordered locus&amp;#039;&amp;#039;, because the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; tag in the UniProt XML file will have different types (e.g., “primary”, “ORF”, “synonym”, “ordered locus”, etc.). For &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs, we only want to count the &amp;#039;&amp;#039;name&amp;#039;&amp;#039; IDs whose type is “ordered locus”.&lt;br /&gt;
&lt;br /&gt;
Once you are done with these customizations, you can test your work by building a new version of GenMAPP Builder, connecting to a relational database that already has imported data (or importing data first if needed), then running the Tally Engine. The resulting table should include, in addition to the defaults that you have seen before, the new IDs that you have added.&lt;br /&gt;
&lt;br /&gt;
=== Add the Species Profile to the Catalog of Known Species Profiles ===&lt;br /&gt;
&lt;br /&gt;
The last step involves actually making GenMAPP Builder &amp;#039;&amp;#039;know&amp;#039;&amp;#039; that your new species profile exists. This involves a change in an existing file:&lt;br /&gt;
* Under &amp;#039;&amp;#039;edu.lmu.xmlpipedb.gmbuilder.databasetoolkit.profiles&amp;#039;&amp;#039;, open &amp;#039;&amp;#039;UniProtDatabaseProfile.java&amp;#039;&amp;#039;.&lt;br /&gt;
* Near the top of the file is a block that looks like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile() });&lt;br /&gt;
* What you want to do is add the species profile that you just created to this block. If your species profile is called &amp;#039;&amp;#039;MySpecialUniProtSpeciesProfile&amp;#039;&amp;#039;, your modified code should look like this:&lt;br /&gt;
 super(&amp;quot;org.uniprot.uniprot.Uniprot&amp;quot;,&lt;br /&gt;
     &amp;quot;This profile defines the requirements &amp;quot;&lt;br /&gt;
         + &amp;quot;for any UniProt centric gene database.&amp;quot;,&lt;br /&gt;
     new SpeciesProfile[] {&lt;br /&gt;
     new EscherichiaColiUniProtSpeciesProfile(),&lt;br /&gt;
     new ArabidopsisThalianaUniProtSpeciesProfile(),&lt;br /&gt;
     new PlasmodiumFalciparumUniProtSpeciesProfile(),&lt;br /&gt;
     new VibrioCholeraeUniprotSpeciesProfile(),&lt;br /&gt;
     new MySpecialUniProtSpeciesProfile() });&lt;br /&gt;
* Essentially, you need to add an item to the comma-separated list, beginning with &amp;#039;&amp;#039;new&amp;#039;&amp;#039;, followed by the species profile name, finally followed by &amp;#039;&amp;#039;()&amp;#039;&amp;#039;.&lt;br /&gt;
* Save your changes, do &amp;#039;&amp;#039;Organize Imports&amp;#039;&amp;#039; to eliminate any red errors, and try a test build!&lt;br /&gt;
&lt;br /&gt;
=== Build, Test, and Possibly Commit ===&lt;br /&gt;
&lt;br /&gt;
# Create a new distribution of GenMAPP Builder based on [[#Creating a Distribution|Creating a Distribution]].&lt;br /&gt;
# Perform a new export run with this version of GenMAPP Builder (you can skip the import steps and use the same PostgreSQL database if it’s available).&lt;br /&gt;
# Check the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table in the resulting &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; to see if it contains the custom information:&lt;br /&gt;
#* Open the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039; in Microsoft Access, then open the &amp;#039;&amp;#039;Systems&amp;#039;&amp;#039; table.&lt;br /&gt;
#* Look for the record for &amp;#039;&amp;#039;OrderedLocusNames&amp;#039;&amp;#039;. Your species name should appear under the &amp;#039;&amp;#039;Species&amp;#039;&amp;#039; column and your link URL should appear under the &amp;#039;&amp;#039;Link&amp;#039;&amp;#039; column.&lt;br /&gt;
# If all goes well, commit your code as described in [[#Updating and Committing Code|Updating and Committing Code]].  You have now officially contributed to the XMLPipeDB project &amp;#039;&amp;#039;&amp;#039;:)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Common Tasks ==&lt;br /&gt;
&lt;br /&gt;
The tasks in this section reflect the typical development cycle.&lt;br /&gt;
&lt;br /&gt;
==== Updating and Committing Code ====&lt;br /&gt;
&lt;br /&gt;
# Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Synchronize Repository...&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# You will be switched to the &amp;#039;&amp;#039;Team Synchronization&amp;#039;&amp;#039; perspective.&lt;br /&gt;
# The presence of blue-arrowed files means that the server has new updates for you to download.  Right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Update&amp;#039;&amp;#039; from the popup menu.&lt;br /&gt;
# It is good “developer etiquette” to build a new distribution from scratch when you’ve received updates prior to committing your own changes.  Thus, after the update, return to the &amp;#039;&amp;#039;Java&amp;#039;&amp;#039; perspective, do a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; followed by a &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;dist&amp;#039;&amp;#039;.&lt;br /&gt;
# If everything works out, do &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; again.  If there are new updates (in the tiny amount of time since you last updated!), test things again.&lt;br /&gt;
# Eventually, you will see a &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; with no incoming code.  At this point, go ahead and commit the gray-arrowed files by right-clicking on them and choosing &amp;#039;&amp;#039;Commit...&amp;#039;&amp;#039;.&lt;br /&gt;
# Just like with the wiki, it is good developer etiquette to describe briefly the nature of the changes that you are committing.&lt;br /&gt;
# Even if you have nothing to commit, it is still a good idea to invoke &amp;#039;&amp;#039;Team Synchronize...&amp;#039;&amp;#039; regularly so that you are kept up-to-date with regard to files that others may be committing.&lt;br /&gt;
&lt;br /&gt;
==== Creating a Distribution ====&lt;br /&gt;
&lt;br /&gt;
To create your own version of GenMAPP Builder based on the code you have in Eclipse (which may contain some new changes/customizations that you would like to test), follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Switch to Eclipse’s Java perspective.&lt;br /&gt;
# Edit the &amp;#039;&amp;#039;GenMAPPBuilder.java&amp;#039;&amp;#039; source code to identify the distribution that you are about to create.&lt;br /&gt;
# Within the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; Java project is a file called &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039;.  It should have an icon that appears to include an ant.&lt;br /&gt;
# Right click on &amp;#039;&amp;#039;build.xml&amp;#039;&amp;#039; and choose &amp;#039;&amp;#039;Run As&amp;#039;&amp;#039; &amp;gt; &amp;#039;&amp;#039;Ant Build...&amp;#039;&amp;#039; (the one with the ellipses) from the popup menu that appears.&lt;br /&gt;
# In the &amp;#039;&amp;#039;Edit Configuration&amp;#039;&amp;#039; dialog that appears, check on the &amp;#039;&amp;#039;clean&amp;#039;&amp;#039; and &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; items in the &amp;#039;&amp;#039;Targets&amp;#039;&amp;#039; tab.  The &amp;#039;&amp;#039;Target execution order&amp;#039;&amp;#039; section near the bottom of the dialog should say &amp;#039;&amp;#039;clean, dist&amp;#039;&amp;#039;.&lt;br /&gt;
# Click the &amp;#039;&amp;#039;Run&amp;#039;&amp;#039; button.  The computer will work for a bit.&lt;br /&gt;
# When it is done, right-click on the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder and choose &amp;#039;&amp;#039;Refresh&amp;#039;&amp;#039; (&amp;#039;&amp;#039;F5&amp;#039;&amp;#039; is its keyboard shortcut).&lt;br /&gt;
# You should see a &amp;#039;&amp;#039;dist&amp;#039;&amp;#039; folder appear inside the &amp;#039;&amp;#039;gmbuilder&amp;#039;&amp;#039; project folder.&lt;br /&gt;
# This is your personally-built copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039;.  Its contents correspond to the extracted contents of the &amp;#039;&amp;#039;gmbuilder-3.0.0-build-5.zip&amp;#039;&amp;#039; file that was downloaded in class.&lt;br /&gt;
# Run &amp;#039;&amp;#039;pgAdmin III&amp;#039;&amp;#039; and start a database, then run this copy of &amp;#039;&amp;#039;GenMAPP Builder&amp;#039;&amp;#039; as you would the “released” copy.  The program should behave just like the one that you downloaded and have been using.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4866</id>
		<title>Quality Assurance</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Quality_Assurance&amp;diff=4866"/>
				<updated>2015-11-01T09:12:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Initial transcription of this page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# (with Coders) Get a full import-export cycle done.&lt;br /&gt;
# (with Coders) Decide on a file/version management scheme/system.&lt;br /&gt;
# Learn the ID systems:&lt;br /&gt;
#* Systems that are the same for each species (hint: guild members help each other out by posting the relevant information on this page)&lt;br /&gt;
#** UniProt&lt;br /&gt;
#** RefSeq&lt;br /&gt;
#** GeneID (EntrezGene from NCBI)&lt;br /&gt;
#** GO&lt;br /&gt;
#* The OrderedLocusNames for your species&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Characterize regular expression patterns to detect the IDs ([[How Do I Count Thee? Let Me Count The Ways|for filtering then counting]]).&lt;br /&gt;
#* XMLPipeDB Match utility&lt;br /&gt;
#* Direct SQL queries in PostgreSQL&lt;br /&gt;
#* For example, the &amp;#039;&amp;#039;Vibrio&amp;#039;&amp;#039; IDs were of the form &amp;lt;code&amp;gt;VC####&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;VC_####&amp;lt;/code&amp;gt;; how would you express that in Match or as an SQL query?&lt;br /&gt;
#* Table inspection/filtering/sorting in Microsoft Access&lt;br /&gt;
#* If needed, side-by-side sorted comparisons in Microsoft Excel ([[Using Microsoft Excel to Compare ID Lists|as described here]])&lt;br /&gt;
# Document/log all work done, problems encountered, and how they were resolved.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 3 ===&lt;br /&gt;
&lt;br /&gt;
Along with your Coder, customize the Tally Engine setup for your species as specified in [[Coder#Customize_the_IDs_that_the_Tally_Engine_Counts|these coder steps]].  You will want to add, at the very least, the &amp;#039;&amp;#039;ordered locus&amp;#039;&amp;#039; IDs for your species.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 4 ===&lt;br /&gt;
&lt;br /&gt;
# Document the relational database schema for the gene database.&lt;br /&gt;
# Create the ReadMe with comparisons to MOD for your species.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=GenMAPP_User&amp;diff=4865</id>
		<title>GenMAPP User</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=GenMAPP_User&amp;diff=4865"/>
				<updated>2015-11-01T09:07:55Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Initial transcription of this page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
The milestones do not necessarily correspond to particular weeks; instead they are sets of tasks grouped together.&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
# Find and acquire the microarray paper for your team (done [[Week 10]]).&lt;br /&gt;
#* Provide the proper bibliographic reference for your paper.&lt;br /&gt;
#* Link to the HTML version of the paper on the journal website.&lt;br /&gt;
#* Upload the PDF version of the paper to the wiki &amp;#039;&amp;#039;(if no copyright restrictions)&amp;#039;&amp;#039;; otherwise provide a download link to the publisher site.&lt;br /&gt;
# Download microarray data in its “rawest” form that you can find. (Consult with Dr. Dahlquist about this.)&lt;br /&gt;
# Verify that the gene IDs in the microarray data match the chosen species and &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;strain&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; that is being used to create the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;.&lt;br /&gt;
#* This last task needs to be done in conjunction with the Quality Assurance person and Coder.&lt;br /&gt;
# File management: on your team&amp;#039;s home page&lt;br /&gt;
#* Link to the source of the microarray data&lt;br /&gt;
#* Upload the microarray data files to the wiki&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
&lt;br /&gt;
# Read the microarray paper to understand the experiment.&lt;br /&gt;
# Create a table or list that shows the correspondence between the samples in the experiment and the files you have downloaded.&lt;br /&gt;
# Determine how many biological or technical replicates, and which samples were labeled with Cy3 or Cy5.&lt;br /&gt;
# Create a Master Raw Data file that contains the IDs and columns of data required for further analysis.&lt;br /&gt;
# Consult with Dr. Dahlquist on how to process the data (normalization, statistics).&lt;br /&gt;
&lt;br /&gt;
=== Additional Milestones ===&lt;br /&gt;
&lt;br /&gt;
# Perform the statistical analysis in Excel.&lt;br /&gt;
# Format the gene expression data for import into GenMAPP.&lt;br /&gt;
# Import data into GenMAPP, create ColorSets, and run MAPPFinder.&lt;br /&gt;
# Document and take notes on test runs with GenMAPP.&lt;br /&gt;
#* Use the &amp;#039;&amp;#039;EX.txt&amp;#039;&amp;#039; file to help the Coder/Quality Assurance team members to validate the &amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;.&lt;br /&gt;
# Do a journal club outline of the paper so that you can use it in the Discussion section of your group report and your final presentation.&lt;br /&gt;
# Create a &amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039; file showing one pathway that is changed in your data.&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4864</id>
		<title>Project Manager</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Project_Manager&amp;diff=4864"/>
				<updated>2015-11-01T09:03:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Initial transcription of this page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Guild Members ==&lt;br /&gt;
&lt;br /&gt;
* Species 1:&lt;br /&gt;
* Species 2:&lt;br /&gt;
* Species 3:&lt;br /&gt;
* Species 4:&lt;br /&gt;
&lt;br /&gt;
== Milestones ==&lt;br /&gt;
&lt;br /&gt;
=== Milestone 1 ===&lt;br /&gt;
&lt;br /&gt;
# In consultation with your team, work backward from the final deadline to set intermediate deadlines for each deliverable. In particular you need to set deadlines for what you will accomplish by the journal deadline for [[Week 12]], [[Week 14]], and [[Week 15]].&lt;br /&gt;
# Organize management tools for your team:&lt;br /&gt;
#* Workflow narratives&lt;br /&gt;
#* Action items&lt;br /&gt;
#* Testing results/reports&lt;br /&gt;
#** Bugs/Feature requests&lt;br /&gt;
#** Question/answer sequences&lt;br /&gt;
&lt;br /&gt;
=== Milestone 2 ===&lt;br /&gt;
# Get periodic updates on progress; in particular, the project’s “place” in the overall flow should be known at all times (transparency). You and your team will be giving a status report in class for the rest of the semester.&lt;br /&gt;
# Monitor the status of the report-in-progress and other related documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--http://www.stellman-greene.com/ interesting blog posts&lt;br /&gt;
http://www.projectsmart.co.uk/why-software-projects-fail.html--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4863</id>
		<title>Gene Database Project</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Gene_Database_Project&amp;diff=4863"/>
				<updated>2015-11-01T09:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: /* Project Milestones */ Integrate overall flow diagram.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
== Deliverables ==&lt;br /&gt;
&lt;br /&gt;
* You will give a final group PowerPoint presentation in class on &amp;#039;&amp;#039;&amp;#039;Tuesday, December 15, 2:00pm&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Final due date for all other deliverables is no later than &amp;#039;&amp;#039;&amp;#039;Friday, December 18, 4:30pm&amp;#039;&amp;#039;&amp;#039; (according to official final exam schedule for fall, 2015)&lt;br /&gt;
* The deliverables should be uploaded and organized onto one group wiki page, or alternately, delivered on digital media to either Dr. Dahlquist or Dr. Dionisio.  &lt;br /&gt;
* Each member of the group will be assigned the same grade for the group project.&lt;br /&gt;
&lt;br /&gt;
=== Group Deliverables ===&lt;br /&gt;
&lt;br /&gt;
* GenMAPP Gene Database for assigned species (&amp;#039;&amp;#039;.gdb&amp;#039;&amp;#039;)&lt;br /&gt;
* ReadMe file to accompany the Gene Database (&amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
** Sample ReadMe in Word format:  [[Media:ReadMe_Vc-Std_External_20131122.zip | ReadMe_Vc-Std_External_20131122.zip]]&lt;br /&gt;
** Include Gene Database Schema diagram in ReadMe&lt;br /&gt;
*** Sample schema in Adobe Illustrator format:  [[Media:Vibrio_schema_20101022.zip | Vibrio_schema_20101022.zip]]&lt;br /&gt;
* Gene Database Testing Report for final submitted Gene Database (print from wiki to &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039; file)&lt;br /&gt;
* Processed and analyzed DNA microarray dataset (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* GenMAPP Expression Dataset file (&amp;#039;&amp;#039;.gex&amp;#039;&amp;#039;)&lt;br /&gt;
* Filtered MAPPFinder Results (&amp;#039;&amp;#039;.xls&amp;#039;&amp;#039;)&lt;br /&gt;
* Sample MAPP file of a relevant biological pathway for your species (&amp;#039;&amp;#039;.mapp&amp;#039;&amp;#039;)&lt;br /&gt;
* [[Gene Database Project Deliverables#Group Report | Group Report]] describing the creation of the Gene Database and the biological analysis of the data (&amp;#039;&amp;#039;.doc&amp;#039;&amp;#039; or &amp;#039;&amp;#039;.pdf&amp;#039;&amp;#039;)&lt;br /&gt;
* PowerPoint presentation (&amp;#039;&amp;#039;.ppt&amp;#039;&amp;#039;, given on Tuesday, December 15)&lt;br /&gt;
&lt;br /&gt;
=== Individual Deliverable ===&lt;br /&gt;
&lt;br /&gt;
The individual deliverable is an [[Gene Database Project Deliverables#Individual Assessment and Reflection|assessment and reflection]] on the process (either wiki or email, depending on your preference; see note in the linked section):&lt;br /&gt;
* Statement of work&lt;br /&gt;
* Assessment of the work done&lt;br /&gt;
* What was learned&lt;br /&gt;
* Team evaluation via the [https://www.catme.org CATME] survey&lt;br /&gt;
*: &amp;#039;&amp;#039;You will, or should have already, received an email message from the CATME system with login instructions on your &amp;#039;&amp;#039;&amp;#039;LMU email account&amp;#039;&amp;#039;&amp;#039; (not necessarily the preferred email address that you listed in the wiki).&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Team Journal Entries ==&lt;br /&gt;
&lt;br /&gt;
* Each team will write a combined journal entry for each week with contributions from all members.&lt;br /&gt;
* [[Week 10]] Creation of page (midnight 11/10)&lt;br /&gt;
* [[Week 11]] (midnight 11/17)&lt;br /&gt;
* [[Week 12]] (midnight 11/24)&lt;br /&gt;
* [[Week 14]] (midnight 12/8)&lt;br /&gt;
* [[Week 15]] (midnight 12/15)&lt;br /&gt;
&lt;br /&gt;
== Groups ==&lt;br /&gt;
&lt;br /&gt;
The project groups are:&lt;br /&gt;
# Team 1&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 2&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 3&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
# Team 4&lt;br /&gt;
#* Coder:&lt;br /&gt;
#* Quality Assurance:&lt;br /&gt;
#* GenMAPP User:&lt;br /&gt;
#* Project Manager:&lt;br /&gt;
&lt;br /&gt;
== Roles (Guilds) ==&lt;br /&gt;
&lt;br /&gt;
As the project moves forward, we will use class time for team meetings.  In addition, we will also have guild meetings where students sharing the same role can work together on common issues.  Each student has been assigned a primary role in the project by the instructors (see above).&lt;br /&gt;
&lt;br /&gt;
=== [[Project Manager]] (PM) ===&lt;br /&gt;
&lt;br /&gt;
The project manager makes sure that individuals are fulfilling their roles and performing the tasks on time.&lt;br /&gt;
&lt;br /&gt;
=== [[GenMAPP User]] (GU) ===&lt;br /&gt;
&lt;br /&gt;
The GenMAPP user runs GenMAPP with the microarray dataset (Expression Dataset Manager, MAPPFinder, GenMAPP MAPP).&lt;br /&gt;
&lt;br /&gt;
=== [[Quality Assurance]] (QA) ===&lt;br /&gt;
&lt;br /&gt;
The Quality Assurance team member is the resident expert on species ID systems and formats.  He or she should be proficient with &amp;#039;&amp;#039;XMLPipeDB Match&amp;#039;&amp;#039;, SQL queries in PostgreSQL, Microsoft Excel, and Microsoft Access to navigate through the data and find missing IDs, discrepancies, sanity checks, etc.&lt;br /&gt;
&lt;br /&gt;
=== [[Coder]] (C) ===&lt;br /&gt;
&lt;br /&gt;
The coder is the resident expert on the technology being used—assorted software, file management, some troubleshooting, possibly some programming.  He or she coordinates with Drs. Dahlquist and Dionisio in extending GenMAPP Builder code and making new versions. GenMAPP Builder is written in Java and is built on open source pure-Java libraries. Source code is hosted on GitHub and built using Apache’s &amp;#039;&amp;#039;ant&amp;#039;&amp;#039; utility.&lt;br /&gt;
&lt;br /&gt;
== Project Milestones ==&lt;br /&gt;
&lt;br /&gt;
Specific project milestones are found on the individual guild pages.&lt;br /&gt;
&lt;br /&gt;
=== Overall Flow ===&lt;br /&gt;
&lt;br /&gt;
A successful project will have the following steps from end to end.  Depending on the data and/or other issues that are encountered, one or more of these steps may go through iterations, repetitions, or refinements.&lt;br /&gt;
&lt;br /&gt;
[[Image:ProjectWorkflow.png|450px|thumb|right|Overall Flow]]&lt;br /&gt;
&lt;br /&gt;
# Following the steps shown in the [[Running GenMAPP Builder]] instructions, download the UniProt XML proteome set and GOA (GO association) files for your species.&lt;br /&gt;
#* Make sure that you are choosing the correct strain/subspecies as the microarray data you have.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Download GO terms from [http://geneontology.org/page/download-ontology#Legacy_Downloads Gene Ontology].&lt;br /&gt;
#* You will need the OBO-XML format, the &amp;quot;obo-xml.gz&amp;quot; file.&lt;br /&gt;
#* Note the date of download and the version of the file on your Gene Database Testing Report.&lt;br /&gt;
# Create the GenMAPP Builder tables in PostgreSQL.&lt;br /&gt;
# Load files into PostgreSQL database via GenMAPP Builder.&lt;br /&gt;
# Export into a GenMAPP Gene Database.&lt;br /&gt;
# Inspect/vet/validate Gene Database.&lt;br /&gt;
#* Create a [[Gene Database Testing Report Sample | Gene Database Testing Report]] each time a new export is run.&lt;br /&gt;
#* Compare to the model organism database for your species&lt;br /&gt;
# Find an original journal article describing a DNA microarray experiment performed on your species.&lt;br /&gt;
#* Download the microarray data for this article.&lt;br /&gt;
#* Consult with Dr. Dahlquist about the proper steps to take to process the data (normalization, statistical analysis) and perform the analysis.&lt;br /&gt;
# Run GenMAPP using the Gene Database.&lt;br /&gt;
#* Microarray data (import using Expression Dataset Manager)&lt;br /&gt;
#* MAPPFinder&lt;br /&gt;
#* Place genes on MAPP and draw pathway&lt;br /&gt;
&lt;br /&gt;
=== Guild Milestones ===&lt;br /&gt;
&lt;br /&gt;
These are links to the respective milestone lists in the guild pages:&lt;br /&gt;
* [[Project Manager#Milestones|Project Manager]]&lt;br /&gt;
* [[GenMAPP User#Milestones|GenMAPP User]]&lt;br /&gt;
* [[Quality Assurance#Milestones|Quality Assurance]]&lt;br /&gt;
* [[Coder#Milestones|Coder]]&lt;br /&gt;
&lt;br /&gt;
{{Gene Database Project Links}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Group Projects]]&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=File:ProjectWorkflow.png&amp;diff=4862</id>
		<title>File:ProjectWorkflow.png</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=File:ProjectWorkflow.png&amp;diff=4862"/>
				<updated>2015-11-01T09:00:10Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Overall flow diagram for gene database project.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Overall flow diagram for gene database project.&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	<entry>
		<id>https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4861</id>
		<title>Template:Gene Database Project Links</title>
		<link rel="alternate" type="text/html" href="https://xmlpipedb.lmucs.io/biodb/fall2015/index.php?title=Template:Gene_Database_Project_Links&amp;diff=4861"/>
				<updated>2015-11-01T07:11:12Z</updated>
		
		<summary type="html">&lt;p&gt;Dondi: Add citation guidelines.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%; text-align: center&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot;|Gene Database Project Links&lt;br /&gt;
|-&lt;br /&gt;
! [[Gene Database Project|Overview]]&lt;br /&gt;
! [[Gene Database Project Deliverables|Deliverables]]&lt;br /&gt;
| [[Guidelines for Literature Citations in a Scientific Paper|Citation Guidelines]]&lt;br /&gt;
! Guilds&lt;br /&gt;
| [[Project Manager]]&lt;br /&gt;
| [[GenMAPP User]]&lt;br /&gt;
| [[Quality Assurance]]&lt;br /&gt;
| [[Coder]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dondi</name></author>	</entry>

	</feed>