+
+ JonesX
+
+ Proceedings of the First National Conference on Porous Sieves: 27-30
+ June 1996; Baltimore
+ Y Smith
+ 1996
+ 16
+ 27
+
+
+
+
From prey via endosymbiont to plastids: comparative studies in
+ dinoflagellates
+
+ SchnepfE
+
+ Origins of Plastids
+ New York: Chapman and Hall
+ R A Lewin
+ 2
+ 1993
+ 2
+ 53
+ 76
+
+
+
+
Innovative oncology
+ Breast Cancer Res
+ B Ponder and S Johnston and L Chodosh
+ 1998
+ 10
+ 1
+ 72
+
+
+
+
Proceedings of the First National Conference on Porous Sieves:
+ 27-30 June 1996; Baltimore
+ Stoneham: Butterworth-Heinemann
+ Y Smith
+ 1996
+
+
+
+
Origin of Eukaryotic Cells
+
+ MargulisL
+
+ New Haven: Yale University Press
+ 1970
+
+
+
+
The alveloar macrophage
+
+ HunninghakeG W
+ GadekJ E
+
+ Cultured Human Cells and Tissues
+ New York: Academic Press
+ T J R Harris
+ 1995
+ 54
+ 56
+ Stoner G (Series Editor): Methods and Perspectives in Cell Biology, vol
+ 1
+
+
+
+
Annual Report
+ Advisory Committee on Genetic Modification
+ London
+ 1999
+
+
+
+
Wrappers for performance enhancement and obvious decision
+ graphs
+ http://tumor.informatics.jax.org/cancer_links.html
+
+
+
+} % end of \BMCxmlcomment
diff --git a/seqware-publications/seqware-pipeline/bmc_article.bib b/seqware-publications/seqware-pipeline/bmc_article.bib
new file mode 100755
index 000000000..eefc27384
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.bib
@@ -0,0 +1,180 @@
+% bmc_article.bib
+%
+% An example of bibtex entries.
+% Entries taken from BMC instructions for authors page.
+
+
+@article{blank,
+ author = {},
+ title = {},
+ journal = {},
+ year = {},
+ month = {},
+ volume= {},
+ number= {},
+ pages = {},
+ note = {}
+}
+
+% Article within a journal
+@ARTICLE{koon,
+ author = {Koonin, E V and Altschul, S F and P Bork},
+ title = {BRCA1 protein products: functional motifs},
+ journal = {Nat Genet},
+ year = {1996},
+ volume = {13},
+ pages = {266-267}
+}
+
+% Article within a journal supplement
+@ARTICLE{oreg,
+ author = {Orengo, C A and Bray, J E and Hubbard,
+ T and LoConte, L and Sillitoe, I},
+ title = {Analysis and assessment of ab initio
+ three-dimensional prediction, secondary
+ structure, and contacts prediction},
+ journal = {Proteins},
+ year = {1999},
+ volume = {Suppl 3},
+ pages = {149-170}
+}
+
+% In press article
+@inpress{khar,
+ author = {Kharitonov, S A and Barnes, P J},
+ title = {Clinical aspects of exhaled nitric oxide},
+ journal = {Eur Respir J},
+ note = {in press}
+}
+
+%
+% Published abstract
+%
+@ARTICLE{zvai,
+ author = {Zvaifler, N J and Burger, J A and Marinova-Mutafchieva,
+ L and Taylor, P and Maini, R N},
+ title = {Mesenchymal cells, stromal derived factor-1 and
+ rheumatoid arthritis [abstract]},
+ journal = {Arthritis Rheum},
+ year = {1999},
+ volume = {42},
+ pages = {s250},
+}
+
+
+%
+% Article within conference proceedings
+%
+@Inproceedings{xjon,
+ author = {X Jones},
+ title = {Zeolites and synthetic mechanisms},
+ booktitle = {Proceedings of the First National Conference on
+ Porous Sieves: 27-30 June 1996; Baltimore},
+ year = {1996},
+ editor = {Y Smith},
+ pages = {16-27},
+ organization = {Stoneham: Butterworth-Heinemann}
+}
+
+%%%%%%%%
+% Book chapter, or article within a book
+%
+@incollection{schn,
+ author = {E Schnepf},
+ title = {From prey via endosymbiont to plastids:
+ comparative studies in dinoflagellates},
+ booktitle = {Origins of Plastids},
+ editor = {R A Lewin},
+ publisher = {Chapman and Hall},
+ pages = {53-76},
+ year = {1993},
+ address = {New York},
+ volume = {2},
+ edition = {2nd}
+}
+
+%%%%%%%%
+% Whole issue of journal
+%
+@wholejournal{pond,
+ editor = {B Ponder and S Johnston and L Chodosh},
+ title = {Innovative oncology},
+ journal = {Breast Cancer Res},
+ year = {1998},
+ volume= {10},
+ pages = {1-72}
+}
+
+
+%%%%%%%%
+% Whole conference proceedings
+%
+@proceedings{smith,
+ editor = {Y Smith},
+ title = {Proceedings of the First National Conference
+ on Porous Sieves: 27-30 June 1996; Baltimore},
+ year = 1996,
+ address= {Stoneham},
+ publisher = {Butterworth-Heinemann},
+}
+
+
+%%%%%%%%
+% Complete book
+%
+@book{marg,
+ author = {L Margulis},
+ title = {Origin of Eukaryotic Cells},
+ publisher = {Yale University Press},
+ year = {1970},
+ address = {New Haven}
+}
+
+
+
+%%%%%%%%
+% Monograph or book in series
+%
+@incollection{hunn,
+ author = {G W Hunninghake and J E Gadek},
+ title = {The alveloar macrophage},
+ booktitle = {Cultured Human Cells and Tissues},
+ publisher = {Academic Press},
+ year = {1995},
+ pages = {54-56},
+ editor = {T J R Harris},
+ address = {New York},
+ note = {Stoner G (Series Editor): Methods and Perspectives in Cell Biology, vol 1}
+}
+
+
+%%%%%%%%
+% Book with institutional author
+@manual{advi,
+ title = {Annual Report},
+ organization = {Advisory Committee on Genetic Modification},
+ address = {London},
+ year = {1999}
+}
+
+
+%%%%%%%%
+% PHD Thesis
+%
+@phdthesis{koha,
+ author = {R Kohavi},
+ title = {Wrappers for performance enhancement and
+ obvious decision graphs},
+ school = {Stanford University, Computer Science Department},
+ year = {1995}
+}
+
+%%%%%%%%
+% Webpage Link / URL
+%
+@webpage{mouse,
+ title = {The Mouse Tumor Biology Database},
+ url = {http://tumor.informatics.jax.org/cancer_links.html}
+}
+
+
diff --git a/seqware-publications/seqware-pipeline/bmc_article.blg b/seqware-publications/seqware-pipeline/bmc_article.blg
new file mode 100644
index 000000000..a27a2c704
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.blg
@@ -0,0 +1,46 @@
+This is BibTeX, Version 0.99c (TeX Live 2009/Debian)
+The top-level auxiliary file: bmc_article.aux
+The style file: bmc_article.bst
+Reallocated wiz_functions (elt_size=4) to 6000 items from 472446405560.
+Database file #1: bmc_article.bib
+You've used 13 entries,
+ 3603 wiz_defined-function locations,
+ 768 strings with 6629 characters,
+and the built_in function-call counts, 20231 in all, are:
+= -- 1883
+> -- 102
+< -- 34
++ -- 105
+- -- 28
+* -- 2144
+:= -- 3521
+add.period$ -- 25
+call.type$ -- 13
+change.case$ -- 34
+chr.to.int$ -- 3
+cite$ -- 13
+duplicate$ -- 1359
+empty$ -- 1557
+format.name$ -- 97
+if$ -- 4082
+int.to.chr$ -- 0
+int.to.str$ -- 26
+missing$ -- 532
+newline$ -- 200
+num.names$ -- 25
+pop$ -- 459
+preamble$ -- 1
+purify$ -- 0
+quote$ -- 26
+skip$ -- 279
+stack$ -- 0
+substring$ -- 2871
+swap$ -- 344
+text.length$ -- 21
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 11
+warning$ -- 0
+while$ -- 100
+width$ -- 15
+write$ -- 321
diff --git a/seqware-publications/seqware-pipeline/bmc_article.bst b/seqware-publications/seqware-pipeline/bmc_article.bst
new file mode 100755
index 000000000..e68e8943b
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.bst
@@ -0,0 +1,1880 @@
+%% %
+ % bmc_article.bst ver: 1.01 %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %% %%
+ %% BibTeX BST file for BioMed Central %%
+ %% a style syntax for latex .bib %%
+ %% bibliographies %%
+ %% %%
+ %% <1 September 2003> %%
+ %% %%
+ %% %%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ %
+ % The order in the reference list is that by which the
+ % works were originally cited in the text, or that in
+ % the database.
+ %
+ %
+ % This file is based on the style 'unsrt.bst'
+ % ------------------------------------------
+ % BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a
+ % or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+ % ---------------------------------------------------------
+%%
+
+
+
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+
+
+% Global variables - most initialised and used locally.
+STRINGS { longest.label }
+STRINGS { cur tag source bibinfo}
+STRINGS { p q r s t z name names }
+STRINGS { lr lp lt ls} % local copys fxns with these call no other fxns.
+INTEGERS { number.label longest.label.width }
+INTEGERS { multiresult nameptr namesleft numnames global.counter}
+INTEGERS { i j k l ll li}
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'global.counter :=
+}
+
+
+% Logical operators on integers
+FUNCTION {not}
+{ { #0 } { #1 } if$
+}
+FUNCTION {and}
+{ 'skip$ { pop$ #0 } if$
+}
+FUNCTION {or}
+{ { pop$ #1 } 'skip$ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$ { pop$ "" } 'skip$ if$
+}
+
+FUNCTION {remove.dots}
+{ 'z :=
+ ""
+ { z empty$ not }
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+}
+
+%%
+ % myreverse
+ %
+ % Takes 1 string
+ % Returns the myreverse string
+ %
+ % not to be confused with REVERSE (opposite of ITERATE)
+%%
+FUNCTION {myreverse}
+{
+ 'lt :=
+ "" 'ls :=
+ { lt empty$ not }
+ {
+ lt #1 #1 substring$ ls * 'ls :=
+ lt #2 global.max$ substring$ 'lt :=
+ }
+ while$
+ ls
+}
+
+%%
+ % search
+ %
+ % Takes 2 strings (txt, pattern)
+ % Retruns 1 if found 0 if not
+%%
+FUNCTION {search}
+{
+ 'lp := % pattern
+ 'lt := % text to search
+ #0 'i := % result
+ lp text.length$ 'll := % length of the search pattern
+ { lt empty$ not }
+ { lt #1 ll substring$ lp =
+ { #1 'li :=
+ "" 'lt := } % force exit
+ { lt #2 global.max$ substring$ 'lt := } % pop 1 char
+ if$
+ }
+ while$
+ li
+}
+
+
+%%
+ % general replace
+ %
+ % Takes 3 strings (txt, pattern, replace-str)
+ % replaces all instances of pattern
+ % Retruns a new string
+%%
+FUNCTION {replace}
+{
+ 'lr := % replace string
+ 'lp := % pattern
+ 'lt := % text to search
+ "" 'ls := % result string
+ lp text.length$ 'll := % length of the search pattern
+ { lt empty$ not }
+ { lt #1 ll substring$ lp =
+ { ls lr * 'ls :=
+ lt ll #1 + global.max$ substring$ 'lt := }
+ { ls lt #1 #1 substring$ * 'ls :=
+ lt #2 global.max$ substring$ 'lt := }
+ if$
+ }
+ while$
+ ls
+}
+
+
+%%
+ % strip.letters
+ %
+ % Takes 1 arg (string)
+ % if string has letters get rid of them
+ % - useful for 2nd -> 2
+ % Returns string
+%%
+FUNCTION {strip.letters}
+{
+ "" 's :=
+ duplicate$ missing$
+ 'pop$
+ {
+ 't :=
+ { t "" = not }
+ { % ascii '0' = 48, '9' = 57
+ t #1 #1 substring$ chr.to.int$ 'i :=
+ i #47 > i #58 < and
+ { s t #1 #1 substring$ * 's := }
+ 'skip$
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ %{ "OS=(" * output.state int.to.str$ * ") " * write$ }
+ 'write$
+ { add.period$ " " * write$ } % after.sentence
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% raises an error (warning message) if type not present.
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {add.bold.colon}
+{ duplicate$ empty$
+ 'skip$
+ { "\textbf{:}" * add.blank }
+ if$
+}
+
+FUNCTION {add.colon}
+{ duplicate$ empty$
+ 'skip$
+ { ":" * add.blank }
+ if$
+}
+FUNCTION {bold}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+% if field not entered - push empty string ""
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ { pop$ pop$
+ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "(Eds)" }
+%{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "(Ed)" }
+%{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "Edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+%{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "Volume" }
+%{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "PhD thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+% Takes 2 args (author field) and string "author"
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ f{}}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+
+
+%"{f{~}~}{vv~}{ll}{ jj}"
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ f{}}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " * get.bbl.editor *
+%% "," * " " * get.bbl.editor *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ url empty$
+ 'skip$
+ {
+ "\urlprefix\url{[" url * "]}" * output }
+ if$
+ note empty$
+ { "" }
+ {
+ note "l" change.case$ "in press" =
+ { after.sentence 'output.state :=
+ " in press" }
+ {
+ after.sentence 'output.state :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$ % leave note * As Is *
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ "[" swap$ * "]" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bold.format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ bold
+ }
+ if$
+}
+
+FUNCTION {emph.format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+% Returns ""
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.allinfo.comment}
+{ }
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{
+ before.all 'output.state :=
+ ""
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ remove.dots
+ }
+ if$
+
+ duplicate$ "" =
+ 'skip$
+ { " " swap$ * }
+ if$
+}
+
+% Source = book, conference, journal, manual
+% have the source avaliable on the stack
+FUNCTION {format.source}
+{ 'source :=
+ source "source" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ bold
+ }
+ if$
+}
+
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ emphasize
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "pages" bibinfo.check
+ ":" swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ":" *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ":" *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+
+% ignore issue (num) if == 1
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check bold
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ duplicate$ "1" =
+ {pop$ ""}
+ { swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+
+%% FUNCTION {format.in.ed.booktitle}
+%% { booktitle format.source duplicate$ empty$ 'skip$
+%% {
+%% editor "editor" format.names.ed duplicate$ empty$ 'pop$
+%% {
+%% bbl.edby
+%% " " * swap$ *
+%% swap$
+%% "," *
+%% " " * swap$
+%% * }
+%% if$
+%% word.in swap$ *
+%% }
+%% if$
+%% }
+
+FUNCTION{format.edited.by}
+{ editor "editor" format.names.ed duplicate$ empty$
+ 'pop$
+ { bbl.edby
+ " " * swap$ *
+ swap$
+ ". " *
+ swap$
+ * }
+ if$
+}
+
+FUNCTION {format.in.booktitle}
+{ booktitle format.source duplicate$ empty$
+ 'skip$
+ { word.in swap$ * }
+ if$
+}
+FUNCTION {format.in.journal}
+{ journal format.source duplicate$ empty$
+ 'skip$
+ { word.in swap$ * }
+ if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ key duplicate$ empty$
+ { pop$
+ journal duplicate$ empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
+ { "journal" bibinfo.check emphasize word.in swap$ * }
+ if$
+ }
+ { word.in swap$ * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ "editor" bibinfo.check
+ " " * bbl.etal
+ *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ "editor" bibinfo.check
+ " " * bbl.etal
+ *
+ }
+ {
+ bbl.and space.word
+ * editor #2 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle format.source duplicate$ empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ }
+ { word.in swap$ * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% Takes 1 arg (publisher or organisation}
+% if present appends address to the front. ie New York: Sachai Ltd
+% returns the formatted string.
+FUNCTION {format.org.or.pub}
+{ 't :=
+ t empty$
+ { address empty$
+ 'skip$
+ { address "address" bibinfo.check 't := }
+ if$ }
+ { address empty$
+ 'skip$
+ { address "address" bibinfo.check ": " * t * 't :=}
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author empty$
+ { format.editors "author or editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ {
+ journal "journal" bibinfo.check
+ format.source "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {wholejournal}
+{ output.bibitem
+ author empty$
+ { format.editors "author or editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ {
+ journal emphasize word.in swap$ * "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title format.source "source" output.check
+ crossref missing$
+ { format.bvolume output
+ new.sentence
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title format.source "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ new.sentence
+ format.number.series output
+ }
+ {
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ add.blank
+ format.chapter.pages "chapter and/or pages" output.check
+ format.note output
+ fin.entry
+}
+
+% In . Volume X. y edition. Edited by .
+% Add: Pub; date:pages.
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ { format.in.booktitle "booktitle" output.check
+ %format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ booktitle empty$
+ 'skip$
+ {format.edited.by}
+ if$
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ before.all 'output.state := %no space,comma,etc.. -> 1991:23
+ format.pages output
+ format.note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ % In . Volume X. x nd edition. Edited by .
+ { format.in.booktitle "booktitle" output.check
+ format.bvolume output
+ format.edition output
+ format.number.series output
+ booktitle missing$
+ 'skip$
+ { booktitle missing$
+ 'skip$
+ {format.edited.by}
+ if$
+ }
+ if$
+ publisher missing$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ before.all 'output.state := %no space,comma,etc..
+ format.pages output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} {inproceedings}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ bbl.mthesis format.thesis.type format.source output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+% old manual style syntax
+% all optional: (author, title, howpublished, month, year, note)
+% maybe missing: (organization, address, edition)
+FUNCTION {misc}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title output
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title " " * output
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {inpress}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title output
+ new.sentence
+ journal emphasize output
+ "in press" output
+ fin.entry
+ empty.misc.check
+}
+
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ title output
+ emphasize
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {booklet}{misc}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ bbl.phdthesis format.thesis.type format.source output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization "organization" bibinfo.check output
+ }
+ { format.editors output.nonnull }
+ if$
+ add.colon
+ title format.source "source" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ format.organization.address output }
+ {
+ organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ format.date output
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% %%%% %%% %%%%%%% %% %%%%%%%%%
+%% %%%% %% %%%% % %%%%% % %% %%%%%%%%%
+%% %%%%% %%%%% %% %%% %% %% %%%%%%%%%
+%% %%%%%% %%%%%% %%% % %%% %% %%%%%%%%%
+%% %%%%% %%%%% %%%% %%%% %% %%%%%%%%%
+%% %%%% %% %%%% %%%%%%%%%%% %% %%%%%%%%%
+%% %% %%%% %%% %%%%%%%%%%% %% %%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % Function for printing out all data in xml format.
+ % { address archive author booktitle chapter edition editor
+ % howpublished institution journal key month note number
+ % organization pages publisher school series title
+ % type url volume year
+ % }
+ %
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%
+ % output.xml
+ %
+%%
+FUNCTION {output.xml}
+{ duplicate$ "" =
+ 'pop$
+ { " " swap$ * write$ newline$ }
+ if$
+}
+
+%%
+ % markup.xml
+ %
+ % Takes 2 args text & tag {"the text " "tag"}
+ % Returns 1 string {"the text <\tag>"}
+%%
+FUNCTION {markup.xml}
+{
+ "" 'r := % result
+ 't := % tag
+ duplicate$ missing$
+ 'pop$
+ { 'r := }
+ if$
+ r "" =
+ 'skip$
+ { "<" t * ">" * r * "" * t * ">" * 'r := }
+ if$
+ r
+}
+
+%% Takes 2 args - tag, string
+FUNCTION{markup.xml.title}
+{ pop$ % tag
+ duplicate$ missing$
+ 'pop$
+ {
+ 's := % string
+ s "\&" "&" replace 's :=
+ s "p" markup.xml 's :=
+ s "title" markup.xml output.xml
+ }
+ if$
+}
+
+
+%%
+ % markup.xml.pages
+ %
+ % Takes 1 arg (pages string)
+ % seperates into and if
+ % there is a - seperator. else no lpage.
+ %
+ % need to remove others
+%%
+FUNCTION{markup.xml.pages}
+{
+ "" 'r := % fpage
+ "" 's := % lpage
+ duplicate$ missing$
+ 'pop$
+ {
+ 't :=
+ t " " "" replace 't := % remove all spaces. pgs must be - seperated
+ { t empty$ not }
+ {
+ t #1 #1 substring$ "-" =
+ {
+ t #2 global.max$ substring$ 's :=
+ "" 't := % break while loop
+ }{
+ r t #1 #1 substring$ * 'r :=
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+ }
+ if$
+ r "fpage" markup.xml output.xml
+ s "lpage" markup.xml output.xml
+}
+
+
+%%
+ % markup.xml.names
+ %
+ % Takes 2 args
+ % tag, namefield (eg. author "au")
+ % splits fields into and
+ % writes info
+ % returns nothing
+%%
+FUNCTION {markup.xml.names}
+{
+ 't := % tag
+ "" 'r :=
+ "" 's :=
+ duplicate$ empty$
+ { pop$
+ organization missing$
+ { institution "cnm" markup.xml
+ "au" markup.xml "aug" markup.xml output.xml }
+ { organization "cnm" markup.xml
+ "au" markup.xml "aug" markup.xml output.xml }
+ if$ }
+ {
+ " " write$ newline$
+ 'names := % names string
+ names num.names$ 'j := % num of names
+ #1 'i := % init counter
+ { i #1 j + < } % while (i <= j)
+ {
+ " " write$
+
+ % Initial first names
+ % if first name all in capitals
+ % - assume is initial list of first names.
+ names i "{ff{ }}" format.name$
+ duplicate$ "u" change.case$ =
+ { names i "{ff{ }}" format.name$ }
+ { names i "{f{}}" format.name$ }
+ if$
+
+ % if last name but no first name use cnm; else snm
+ duplicate$ "" =
+ { names i "{ll{ }}" format.name$ % last names space seperated.
+ "cnm" markup.xml write$ }
+ { names i "{ll{ }}" format.name$ % last names space seperated.
+ "snm" markup.xml write$ }
+ if$
+
+ "fnm" markup.xml write$
+
+ "" write$ newline$
+ i #1 + 'i :=
+ }
+ while$
+ " " write$ newline$
+ }
+ if$
+}
+
+
+%%
+ % markup.xml.pub
+ %
+ % Takes 4 args (school address publisher tag)
+ % prints concatenation
+ % returns nothing
+%%
+FUNCTION {markup.xml.pub}
+{
+ 't := % Tag
+ "" 'p := % Publisher
+ "" 'q := % Address
+ "" 'r := % School
+ "" 's := % Answer
+ duplicate$ missing$ 'pop$ { 'p := } if$
+ duplicate$ missing$ 'pop$ { 'q := } if$
+ duplicate$ missing$ 'pop$ { 'r := } if$
+ "" r = not % school not empty
+ { r 's := } % return school as publisher
+ { % else
+ "" p = "" q = and % address and pub empty
+ 'skip$
+ {
+ "" q =
+ { p 's := } % return pub
+ { "" p =
+ { q 's := } % return add
+ { q ": " * p * 's := } % return add : pub
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ s t markup.xml output.xml
+}
+
+%%
+ % xml.phd
+ %
+ % Takes nothing
+ % Returns type (phd/msc) of empty string
+%%
+FUNCTION {xml.phd}
+{
+ "phdthesis" type$ =
+ "mastersthesis" type$ = OR
+ { "phdthesis" type$ =
+ { bbl.phdthesis format.thesis.type }
+ { bbl.mthesis format.thesis.type }
+ if$
+ }
+ { type } % usually empty
+ if$
+}
+
+% markup.xml.edition
+%
+% edition is a numeric value. ie "2"
+% if format 2nd 1st etc.. strip letters.
+%
+FUNCTION {markup.xml.edition}
+{ pop$ pop$ %clear stack
+ edition strip.letters duplicate$ "" =
+ { pop$ edition }
+ 'skip$
+ if$
+ "edition" markup.xml output.xml
+}
+
+
+%% [bmc@xmlcomment]
+ % this is an environment that returns nothing
+ % so although it will be embedded in the bbl file it
+ % will not display anything
+%%
+FUNCTION{begin.bmcxmlcomment}{
+ newline$
+ "\newcommand{\BMCxmlcomment}[1]{}" write$ newline$
+ newline$
+ "\BMCxmlcomment{" write$ newline$
+ newline$ "" write$ newline$
+}
+
+FUNCTION{end.bmcxmlcomment}{
+ newline$
+ "" write$ newline$
+ "} % end of \BMCxmlcomment" write$ newline$
+}
+
+%%
+ % export.xml
+ %
+ % done for each entry referenced in the BibTeX database
+%%
+FUNCTION {export.xml}{
+ newline$
+ global.counter #1 + 'global.counter :=
+ "" *
+ write$ newline$
+% title "\&" "&" replace "title" markup.xml.title
+ title "title" markup.xml.title
+ author "aug" markup.xml.names % org. and inst. here
+ howpublished missing$
+ { booktitle missing$
+ { journal missing$
+ { xml.phd } % Phd/Msc
+ {journal}
+ if$
+ } {booktitle}
+ if$
+ } { howpublished }
+ if$ "source" markup.xml output.xml
+ school
+ address
+ publisher "publisher" markup.xml.pub
+ editor "editor" markup.xml output.xml
+ edition "edition" markup.xml.edition
+ series "p" markup.xml
+ "title" markup.xml
+ "series" markup.xml output.xml
+ chapter "p" markup.xml
+ "title" markup.xml
+ "section" markup.xml output.xml
+ % month % ignore
+ year "pubdate" markup.xml output.xml
+
+ note missing$
+ { volume "volume" markup.xml output.xml
+ number "issue" markup.xml output.xml
+ pages markup.xml.pages
+ url "url" markup.xml output.xml }
+ { note "l" change.case$ "in press" =
+ { " " write$ newline$ }
+ { volume "volume" markup.xml output.xml
+ number "issue" markup.xml output.xml
+ pages markup.xml.pages
+ url "url" markup.xml output.xml
+ note "note" markup.xml output.xml
+ }
+ if$
+ }
+ if$
+ "" write$ newline$
+}
+
+% xml fields not used
+% suppliment conference xrefbib issn issb archive key
+% BioMed_Central_Tex_Template_v1.01
+
+
+%%%%%%%%%%%%%%%%
+% %
+% Main %
+% %
+%%%%%%%%%%%%%%%%
+
+READ
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ "%% BioMed_Central_Bib_Style_v1.01" write$ newline$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{[#1]}"
+ write$ newline$
+ "\providecommand{\urlprefix}{}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+EXECUTE {begin.bmcxmlcomment}
+ITERATE {export.xml}
+EXECUTE {end.bmcxmlcomment}
+%% End of customized bst file
+%%
+%% End of file `basic.bst'.
diff --git a/seqware-publications/seqware-pipeline/bmc_article.cls b/seqware-publications/seqware-pipeline/bmc_article.cls
new file mode 100755
index 000000000..896154105
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.cls
@@ -0,0 +1,138 @@
+%% %
+ % bmc_article.cls ver: 1.03 %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % %%
+ % A Style Class based on article for %%
+ % formating towards BioMed Central %%
+ % guidelines %%
+ % %%
+ % <1 September 2003> %%
+ % %%
+ % %%
+ % %%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % See Readme.txt for ToDo list.
+%%
+%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{bmc_article}[2003/09/01 v1.01 BioMed Central article class]
+\LoadClassWithOptions{article}
+
+\renewcommand\@biblabel[1]{#1.}
+\def\hi{}
+\def\pb{\\*[0.42cm]}
+
+
+\AtBeginDocument{}
+
+\def\@abstractline{\textwidth}
+
+\newcounter{bmc@correspondingauthor}
+\setcounter{bmc@correspondingauthor}{0} %never changes
+\newcounter{bmc@emailcounter} \setcounter{bmc@emailcounter}{0}
+
+
+% Corresponding Authors.
+% adds an asterisk * as a marker.
+\def\correspondingauthor{$^*$}
+\def\@corresponding{\footnotesize\correspondingauthor Corresponding author}
+
+
+% Email.
+% A variable to store names and emails.
+\gdef\bmc@email{Email: }
+\newcommand\bmc@curname{}
+\newcommand\email[1]{\relax
+ \g@addto@macro\bmc@email{#1; }} % has trailing ;
+
+\def\@bmc@email{\relax\footnotesize{\bmc@email}}
+
+% Address
+\def\address#1{ \def\@address{\begin{hi}\footnotesize#1\end{hi}}}
+\def\iid(#1){\hi$^#1$}
+
+% Thanks
+\def\thempfootnote{\normalfont\@arabic\c@mpfootnote}
+\def\thanks#1{%
+ \stepcounter{footnote}%
+ \hbox{\@textsuperscript{\normalfont\thefootnote}}%
+ \protected@xdef\@thanks{\@thanks%
+ \protect\footnotetext[\the\c@footnote]{#1}}%
+ }
+
+% Maketitle
+\let\old@maketitle\maketitle
+\renewcommand\maketitle{
+ \begin{flushleft}\mbox{
+ \global\let\@date\@empty % @date = null.
+ {\sffamily\begin{minipage}{\textwidth}%
+ \@maketitle
+ {\raggedright%
+ {\noindent\@address}\\ \hbox{}
+ {\noindent\@bmc@email}\\ \hbox{}
+ {\noindent\@corresponding}%
+ }%end \raggedright
+ \end{minipage}%
+ }
+ \renewcommand\thefootnote{\old@thefootnote} %
+ } % \mbox
+ \end{flushleft}
+}
+
+\def\and{, }
+
+\def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ {\noindent\LARGE \bfseries\@title \par}%
+ \vskip 1.5em%
+ {\large
+ %\lineskip .5em%
+ \noindent\@author
+ \par}%
+ \vskip 1em%
+ \par
+ \vskip 1.5em}
+
+
+% reformats abstract to BMC looks
+\let\old@abstract\abstract
+\renewenvironment{abstract}
+ {
+ \ifhmode\begingroup\parskip0pt\par\noindent\endgroup\fi%
+ \begin{sffamily}
+ \vspace{1cm} % use \topsep in list
+ {\noindent\bfseries\large\abstractname\vspace{-0.5em}}
+ {\par\vbox{\hrule width \@abstractline}}
+ }{
+ \ifhmode\begingroup\parskip0pt\par\noindent\endgroup\fi %
+ \vbox{\hrule width \@abstractline} \vspace{1cm} %
+ \end{sffamily}
+ }
+
+
+
+%% \@startsection{sec-name}{level}{indent}{pre-skip}
+%% {post-skip}{style}*[srt title]{title}
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\large\bfseries\sffamily}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\normalsize\bfseries\sffamily}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\normalsize\sffamily\itshape}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {-.2em \@plus1ex \@minus.2ex} {-0.5em} %%
+ {\normalfont\small\bfseries\sffamily}}
+\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {-.2em \@plus1ex \@minus.2ex} {-0.5em} %%
+ {\normalfont\normalsize\sffamily}}
+
+\endinput
+%% end of bmc_article.cls
diff --git a/seqware-publications/seqware-pipeline/bmc_article.log b/seqware-publications/seqware-pipeline/bmc_article.log
new file mode 100644
index 000000000..425a4ff3d
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.log
@@ -0,0 +1,385 @@
+This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2013.5.12) 12 MAY 2013 16:31
+entering extended mode
+ %&-line parsing enabled.
+**\nonstopmode \input{"/home/boconnor/Development/gitroot/seqware/seqware-publi
+cations/seqware-pipeline/bmc_article.tex"}
+
+(/home/boconnor/Development/gitroot/seqware/seqware-publications/seqware-pipeli
+ne/bmc_article.tex
+(/home/boconnor/Development/gitroot/seqware/seqware-publications/seqware-pipeli
+ne/bmc_article.cls
+Document Class: bmc_article 2003/09/01 v1.01 BioMed Central article class
+(/usr/share/texmf-texlive/tex/latex/base/article.cls
+Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
+(/usr/share/texmf-texlive/tex/latex/base/size10.clo
+File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+\c@bmc@correspondingauthor=\count87
+\c@bmc@emailcounter=\count88
+)
+(/usr/share/texmf-texlive/tex/latex/cite/cite.sty
+LaTeX Info: Redefining \cite on input line 285.
+LaTeX Info: Redefining \nocite on input line 356.
+Package: cite 2009/08/29 v 5.2
+)
+(/usr/share/texmf-texlive/tex/latex/ltxmisc/url.sty
+\Urlmuskip=\muskip10
+Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
+)
+(/usr/share/texmf-texlive/tex/latex/base/ifthen.sty
+Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
+)
+(/usr/share/texmf-texlive/tex/latex/tools/multicol.sty
+Package: multicol 2008/12/05 v1.6h multicolumn formatting (FMi)
+\c@tracingmulticols=\count89
+\mult@box=\box26
+\multicol@leftmargin=\dimen103
+\c@unbalance=\count90
+\c@collectmore=\count91
+\doublecol@number=\count92
+\multicoltolerance=\count93
+\multicolpretolerance=\count94
+\full@width=\dimen104
+\page@free=\dimen105
+\premulticols=\dimen106
+\postmulticols=\dimen107
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
+\partial@page=\box27
+\last@line=\box28
+\mult@rightbox=\box29
+\mult@grightbox=\box30
+\mult@gfirstbox=\box31
+\mult@firstbox=\box32
+\@tempa=\box33
+\@tempa=\box34
+\@tempa=\box35
+\@tempa=\box36
+\@tempa=\box37
+\@tempa=\box38
+\@tempa=\box39
+\@tempa=\box40
+\@tempa=\box41
+\@tempa=\box42
+\@tempa=\box43
+\@tempa=\box44
+\@tempa=\box45
+\@tempa=\box46
+\@tempa=\box47
+\@tempa=\box48
+\@tempa=\box49
+\c@columnbadness=\count95
+\c@finalcolumnbadness=\count96
+\last@try=\dimen108
+\multicolovershoot=\dimen109
+\multicolundershoot=\dimen110
+\mult@nat@firstbox=\box50
+\colbreak@box=\box51
+)
+(/usr/share/texmf-texlive/tex/latex/base/inputenc.sty
+Package: inputenc 2008/03/30 v1.1d Input encoding file
+\inpenc@prehook=\toks14
+\inpenc@posthook=\toks15
+
+(/usr/share/texmf-texlive/tex/latex/base/utf8.def
+File: utf8.def 2008/04/05 v1.1m UTF-8 support for inputenc
+Now handling font encoding OML ...
+... no UTF-8 mapping file for font encoding OML
+Now handling font encoding T1 ...
+... processing UTF-8 mapping file for font encoding T1
+
+(/usr/share/texmf-texlive/tex/latex/base/t1enc.dfu
+File: t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
+ defining Unicode char U+00A1 (decimal 161)
+ defining Unicode char U+00A3 (decimal 163)
+ defining Unicode char U+00AB (decimal 171)
+ defining Unicode char U+00BB (decimal 187)
+ defining Unicode char U+00BF (decimal 191)
+ defining Unicode char U+00C0 (decimal 192)
+ defining Unicode char U+00C1 (decimal 193)
+ defining Unicode char U+00C2 (decimal 194)
+ defining Unicode char U+00C3 (decimal 195)
+ defining Unicode char U+00C4 (decimal 196)
+ defining Unicode char U+00C5 (decimal 197)
+ defining Unicode char U+00C6 (decimal 198)
+ defining Unicode char U+00C7 (decimal 199)
+ defining Unicode char U+00C8 (decimal 200)
+ defining Unicode char U+00C9 (decimal 201)
+ defining Unicode char U+00CA (decimal 202)
+ defining Unicode char U+00CB (decimal 203)
+ defining Unicode char U+00CC (decimal 204)
+ defining Unicode char U+00CD (decimal 205)
+ defining Unicode char U+00CE (decimal 206)
+ defining Unicode char U+00CF (decimal 207)
+ defining Unicode char U+00D0 (decimal 208)
+ defining Unicode char U+00D1 (decimal 209)
+ defining Unicode char U+00D2 (decimal 210)
+ defining Unicode char U+00D3 (decimal 211)
+ defining Unicode char U+00D4 (decimal 212)
+ defining Unicode char U+00D5 (decimal 213)
+ defining Unicode char U+00D6 (decimal 214)
+ defining Unicode char U+00D8 (decimal 216)
+ defining Unicode char U+00D9 (decimal 217)
+ defining Unicode char U+00DA (decimal 218)
+ defining Unicode char U+00DB (decimal 219)
+ defining Unicode char U+00DC (decimal 220)
+ defining Unicode char U+00DD (decimal 221)
+ defining Unicode char U+00DE (decimal 222)
+ defining Unicode char U+00DF (decimal 223)
+ defining Unicode char U+00E0 (decimal 224)
+ defining Unicode char U+00E1 (decimal 225)
+ defining Unicode char U+00E2 (decimal 226)
+ defining Unicode char U+00E3 (decimal 227)
+ defining Unicode char U+00E4 (decimal 228)
+ defining Unicode char U+00E5 (decimal 229)
+ defining Unicode char U+00E6 (decimal 230)
+ defining Unicode char U+00E7 (decimal 231)
+ defining Unicode char U+00E8 (decimal 232)
+ defining Unicode char U+00E9 (decimal 233)
+ defining Unicode char U+00EA (decimal 234)
+ defining Unicode char U+00EB (decimal 235)
+ defining Unicode char U+00EC (decimal 236)
+ defining Unicode char U+00ED (decimal 237)
+ defining Unicode char U+00EE (decimal 238)
+ defining Unicode char U+00EF (decimal 239)
+ defining Unicode char U+00F0 (decimal 240)
+ defining Unicode char U+00F1 (decimal 241)
+ defining Unicode char U+00F2 (decimal 242)
+ defining Unicode char U+00F3 (decimal 243)
+ defining Unicode char U+00F4 (decimal 244)
+ defining Unicode char U+00F5 (decimal 245)
+ defining Unicode char U+00F6 (decimal 246)
+ defining Unicode char U+00F8 (decimal 248)
+ defining Unicode char U+00F9 (decimal 249)
+ defining Unicode char U+00FA (decimal 250)
+ defining Unicode char U+00FB (decimal 251)
+ defining Unicode char U+00FC (decimal 252)
+ defining Unicode char U+00FD (decimal 253)
+ defining Unicode char U+00FE (decimal 254)
+ defining Unicode char U+00FF (decimal 255)
+ defining Unicode char U+0102 (decimal 258)
+ defining Unicode char U+0103 (decimal 259)
+ defining Unicode char U+0104 (decimal 260)
+ defining Unicode char U+0105 (decimal 261)
+ defining Unicode char U+0106 (decimal 262)
+ defining Unicode char U+0107 (decimal 263)
+ defining Unicode char U+010C (decimal 268)
+ defining Unicode char U+010D (decimal 269)
+ defining Unicode char U+010E (decimal 270)
+ defining Unicode char U+010F (decimal 271)
+ defining Unicode char U+0110 (decimal 272)
+ defining Unicode char U+0111 (decimal 273)
+ defining Unicode char U+0118 (decimal 280)
+ defining Unicode char U+0119 (decimal 281)
+ defining Unicode char U+011A (decimal 282)
+ defining Unicode char U+011B (decimal 283)
+ defining Unicode char U+011E (decimal 286)
+ defining Unicode char U+011F (decimal 287)
+ defining Unicode char U+0130 (decimal 304)
+ defining Unicode char U+0131 (decimal 305)
+ defining Unicode char U+0132 (decimal 306)
+ defining Unicode char U+0133 (decimal 307)
+ defining Unicode char U+0139 (decimal 313)
+ defining Unicode char U+013A (decimal 314)
+ defining Unicode char U+013D (decimal 317)
+ defining Unicode char U+013E (decimal 318)
+ defining Unicode char U+0141 (decimal 321)
+ defining Unicode char U+0142 (decimal 322)
+ defining Unicode char U+0143 (decimal 323)
+ defining Unicode char U+0144 (decimal 324)
+ defining Unicode char U+0147 (decimal 327)
+ defining Unicode char U+0148 (decimal 328)
+ defining Unicode char U+014A (decimal 330)
+ defining Unicode char U+014B (decimal 331)
+ defining Unicode char U+0150 (decimal 336)
+ defining Unicode char U+0151 (decimal 337)
+ defining Unicode char U+0152 (decimal 338)
+ defining Unicode char U+0153 (decimal 339)
+ defining Unicode char U+0154 (decimal 340)
+ defining Unicode char U+0155 (decimal 341)
+ defining Unicode char U+0158 (decimal 344)
+ defining Unicode char U+0159 (decimal 345)
+ defining Unicode char U+015A (decimal 346)
+ defining Unicode char U+015B (decimal 347)
+ defining Unicode char U+015E (decimal 350)
+ defining Unicode char U+015F (decimal 351)
+ defining Unicode char U+0160 (decimal 352)
+ defining Unicode char U+0161 (decimal 353)
+ defining Unicode char U+0162 (decimal 354)
+ defining Unicode char U+0163 (decimal 355)
+ defining Unicode char U+0164 (decimal 356)
+ defining Unicode char U+0165 (decimal 357)
+ defining Unicode char U+016E (decimal 366)
+ defining Unicode char U+016F (decimal 367)
+ defining Unicode char U+0170 (decimal 368)
+ defining Unicode char U+0171 (decimal 369)
+ defining Unicode char U+0178 (decimal 376)
+ defining Unicode char U+0179 (decimal 377)
+ defining Unicode char U+017A (decimal 378)
+ defining Unicode char U+017B (decimal 379)
+ defining Unicode char U+017C (decimal 380)
+ defining Unicode char U+017D (decimal 381)
+ defining Unicode char U+017E (decimal 382)
+ defining Unicode char U+200C (decimal 8204)
+ defining Unicode char U+2013 (decimal 8211)
+ defining Unicode char U+2014 (decimal 8212)
+ defining Unicode char U+2018 (decimal 8216)
+ defining Unicode char U+2019 (decimal 8217)
+ defining Unicode char U+201A (decimal 8218)
+ defining Unicode char U+201C (decimal 8220)
+ defining Unicode char U+201D (decimal 8221)
+ defining Unicode char U+201E (decimal 8222)
+ defining Unicode char U+2030 (decimal 8240)
+ defining Unicode char U+2031 (decimal 8241)
+ defining Unicode char U+2039 (decimal 8249)
+ defining Unicode char U+203A (decimal 8250)
+ defining Unicode char U+2423 (decimal 9251)
+)
+Now handling font encoding OT1 ...
+... processing UTF-8 mapping file for font encoding OT1
+
+(/usr/share/texmf-texlive/tex/latex/base/ot1enc.dfu
+File: ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
+ defining Unicode char U+00A1 (decimal 161)
+ defining Unicode char U+00A3 (decimal 163)
+ defining Unicode char U+00B8 (decimal 184)
+ defining Unicode char U+00BF (decimal 191)
+ defining Unicode char U+00C5 (decimal 197)
+ defining Unicode char U+00C6 (decimal 198)
+ defining Unicode char U+00D8 (decimal 216)
+ defining Unicode char U+00DF (decimal 223)
+ defining Unicode char U+00E6 (decimal 230)
+ defining Unicode char U+00EC (decimal 236)
+ defining Unicode char U+00ED (decimal 237)
+ defining Unicode char U+00EE (decimal 238)
+ defining Unicode char U+00EF (decimal 239)
+ defining Unicode char U+00F8 (decimal 248)
+ defining Unicode char U+0131 (decimal 305)
+ defining Unicode char U+0141 (decimal 321)
+ defining Unicode char U+0142 (decimal 322)
+ defining Unicode char U+0152 (decimal 338)
+ defining Unicode char U+0153 (decimal 339)
+ defining Unicode char U+2013 (decimal 8211)
+ defining Unicode char U+2014 (decimal 8212)
+ defining Unicode char U+2018 (decimal 8216)
+ defining Unicode char U+2019 (decimal 8217)
+ defining Unicode char U+201C (decimal 8220)
+ defining Unicode char U+201D (decimal 8221)
+)
+Now handling font encoding OMS ...
+... processing UTF-8 mapping file for font encoding OMS
+
+(/usr/share/texmf-texlive/tex/latex/base/omsenc.dfu
+File: omsenc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
+ defining Unicode char U+00A7 (decimal 167)
+ defining Unicode char U+00B6 (decimal 182)
+ defining Unicode char U+00B7 (decimal 183)
+ defining Unicode char U+2020 (decimal 8224)
+ defining Unicode char U+2021 (decimal 8225)
+ defining Unicode char U+2022 (decimal 8226)
+)
+Now handling font encoding OMX ...
+... no UTF-8 mapping file for font encoding OMX
+Now handling font encoding U ...
+... no UTF-8 mapping file for font encoding U
+ defining Unicode char U+00A9 (decimal 169)
+ defining Unicode char U+00AA (decimal 170)
+ defining Unicode char U+00AE (decimal 174)
+ defining Unicode char U+00BA (decimal 186)
+ defining Unicode char U+02C6 (decimal 710)
+ defining Unicode char U+02DC (decimal 732)
+ defining Unicode char U+200C (decimal 8204)
+ defining Unicode char U+2026 (decimal 8230)
+ defining Unicode char U+2122 (decimal 8482)
+ defining Unicode char U+2423 (decimal 9251)
+))
+(/home/boconnor/Developm.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 109.
+LaTeX Font Info: ... okay on input line 109.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 109.
+LaTeX Font Info: ... okay on input line 109.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 109.
+LaTeX Font Info: ... okay on input line 109.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 109.
+LaTeX Font Info: ... okay on input line 109.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 109.
+LaTeX Font Info: ... okay on input line 109.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <12> on input line 157.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <8> on input line 157.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <6> on input line 157.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 157.
+
+
+! LaTeX Error: There's no line here to end.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H for immediate help.
+ ...
+
+l.157 \maketitle
+
+?
+! Emergency stop.
+ ...
+
+l.157 \maketitle
+
+Your command was ignored.
+Type I to replace it with another command,
+or to continue without it.
+
+
+Here is how much of TeX's memory you used:
+ 786 strings out of 495062
+ 8802 string characters out of 1182644
+ 55171 words of memory out of 3000000
+ 4007 multiletter control sequences out of 15000+50000
+ 7888 words of font info for 28 fonts, out of 3000000 for 9000
+ 28 hyphenation exceptions out of 8191
+ 29i,5n,21p,169b,248s stack positions out of 5000i,500n,10000p,200000b,50000s
+No pages of output.
+ory you used:
+ 827 strings out of 495061
+ 10033 string characters out of 1182621
+ 61371 words of memory out of 3000000
+ 4030 multiletter control sequences out of 15000+50000
+ 12173 words of font info for 42 fonts, out of 3000000 for 9000
+ 28 hyphenation exceptions out of 8191
+ 30i,8n,21p,290b,410s stack positions out of 5000i,500n,10000p,200000b,50000s
+
+Output written on bmc_article.pdf (4 pages, 205181 bytes).
+PDF statistics:
+ 83 PDF objects out of 1000 (max. 8388607)
+ 0 named destinations out of 1000 (max. 500000)
+ 1 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/seqware-publications/seqware-pipeline/bmc_article.pdf b/seqware-publications/seqware-pipeline/bmc_article.pdf
new file mode 100644
index 000000000..cffda0457
Binary files /dev/null and b/seqware-publications/seqware-pipeline/bmc_article.pdf differ
diff --git a/seqware-publications/seqware-pipeline/bmc_article.tex b/seqware-publications/seqware-pipeline/bmc_article.tex
new file mode 100755
index 000000000..edfa2f39c
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.tex
@@ -0,0 +1,380 @@
+%% BioMed_Central_Tex_Template_v1.05
+%% %
+% bmc_article.tex ver: 1.05 %
+% %
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% LaTeX template for BioMed Central %%
+%% journal article submissions %%
+%% %%
+%% <27 January 2006> %%
+%% %%
+%% %%
+%% Uses: %%
+%% cite.sty, url.sty, bmc_article.cls %%
+%% ifthen.sty. multicol.sty %%
+%% %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% For instructions on how to fill out this Tex template %%
+%% document please refer to Readme.pdf and the instructions for %%
+%% authors page on the biomed central website %%
+%% http://www.biomedcentral.com/info/authors/ %%
+%% %%
+%% Please do not use \input{...} to include other tex files. %%
+%% Submit your LaTeX manuscript as one .tex document. %%
+%% %%
+%% All additional figures and files should be attached %%
+%% separately and not embedded in the \TeX\ document itself. %%
+%% %%
+%% BioMed Central currently use the MikTex distribution of %%
+%% TeX for Windows) of TeX and LaTeX. This is available from %%
+%% http://www.miktex.org %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\documentclass[10pt]{bmc_article}
+
+
+
+% Load packages
+\usepackage{cite} % Make references as [1-4], not [1,2,3,4]
+\usepackage{url} % Formatting web addresses
+\usepackage{ifthen} % Conditional
+\usepackage{multicol} %Columns
+\usepackage[utf8]{inputenc} %unicode support
+%\usepackage[applemac]{inputenc} %applemac support if unicode package fails
+%\usepackage[latin1]{inputenc} %UNIX support if unicode package fails
+\urlstyle{rm}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% If you wish to display your graphics for %%
+%% your own use using includegraphic or %%
+%% includegraphics, then comment out the %%
+%% following two lines of code. %%
+%% NB: These line *must* be included when %%
+%% submitting to BMC. %%
+%% All figure files must be submitted as %%
+%% separate graphics through the BMC %%
+%% submission process, not included in the %%
+%% submitted article. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\includegraphic{}
+\def\includegraphics{}
+
+
+
+\setlength{\topmargin}{0.0cm}
+\setlength{\textheight}{21.5cm}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\textwidth}{16.5cm}
+\setlength{\columnsep}{0.6cm}
+
+\newboolean{publ}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% You may change the following style settings %%
+%% Should you wish to format your article %%
+%% in a publication style for printing out and %%
+%% sharing with colleagues, but ensure that %%
+%% before submitting to BMC that the style is %%
+%% returned to the Review style setting. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%Review style settings
+\newenvironment{bmcformat}{\begin{raggedright}\baselineskip20pt\sloppy\setboolean{publ}{false}}{\end{raggedright}\baselineskip20pt\sloppy}
+
+%Publication style settings
+%\newenvironment{bmcformat}{\fussy\setboolean{publ}{true}}{\fussy}
+
+
+
+% Begin ...
+\begin{document}
+\begin{bmcformat}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the title of your article here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\title{The SeqWare Framework: Infrastructure Tools for Genomics}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors here %%
+%% %%
+%% Ensure \and is entered between all but %%
+%% the last two authors. This will be %%
+%% replaced by a comma in the final article %%
+%% %%
+%% Ensure there are no trailing spaces at %%
+%% the ends of the lines %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\author{Brian D O'Connor\correspondingauthor$^{1}$%
+ \email{Brian D O'Connor\correspondingauthor - boconnor@oicr.on.ca}%
+ \and
+ Lincoln Stein\correspondingauthor$^{1}$%
+ \email{Lincoln Stein\correspondingauthor - lincoln@oicr.on.ca}
+ and
+ Vincent Ferretti$^1$%
+ \email{Vincent Ferretti - vincent@oicr.on.ca}%
+ }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors' addresses here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\address{%
+ \iid(1)the Ontario Institute for Cancer Research, 101 College Street, Suite 800,%
+ Toronto, ON, Canada
+}%
+
+\maketitle
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Abstract begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the Instructions for %%
+%% authors on http://www.biomedcentral.com %%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\begin{abstract}
+ % Do not use inserted blank lines (ie \\) until main body of text.
+ \paragraph*{Background:} Text for this section of the abstract.
+
+ \paragraph*{Results:} Text for this section of the abstract \ldots
+
+ \paragraph*{Conclusions:} Text for this section of the abstract \ldots
+\end{abstract}
+
+
+
+\ifthenelse{\boolean{publ}}{\begin{multicols}{2}}{}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Main Body begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the instructions for %%
+%% authors on: %%
+%% http://www.biomedcentral.com/info/authors%%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%% See the Results and Discussion section %%
+%% for details on how to create sub-sections%%
+%% %%
+%% use \cite{...} to cite references %%
+%% \cite{koon} and %%
+%% \cite{oreg,khar,zvai,xjon,schn,pond} %%
+%% \nocite{smith,marg,hunn,advi,koha,mouse}%%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%
+%% Background %%
+%%
+\section*{Background}
+ Text for this section.\cite{koon,oreg,khar,zvai,xjon,schn,pond,smith,marg,hunn,advi,koha,mouse}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Results and Discussion %%
+%%
+\section*{Results and Discussion}
+ \subsection*{Results sub-heading}
+ \subsubsection*{This is a sub-sub-heading}
+ Sub-sub-sub-headings are made with the \textsl{\\subsubsection} command. \pb
+ pb at end of lines ensures correct paragraph spacing.\pb
+ Text for this sub-sub-section \ldots
+ \subsubsection*{Another sub-sub-sub-heading}
+ Text for this sub-sub-section \ldots
+
+ \subsection*{Another results sub-heading}
+ Text for this sub-section \ldots
+
+ \subsection*{Yet another results sub-heading}
+ Text for this sub-section. More results \ldots
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+\section*{Conclusions}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%
+\section*{Methods}
+ \subsection*{Methods sub-heading for this section}
+ Text for this sub-section \ldots
+
+ \subsection*{Another methods sub-heading for this section}
+ Text for this sub-section \ldots
+
+ \subsection*{Yet another sub-heading for this section}
+ Text for this sub-section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Authors contributions}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Acknowledgements}
+ \ifthenelse{\boolean{publ}}{\small}{}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The Bibliography %%
+%% %%
+%% Bmc_article.bst will be used to %%
+%% create a .BBL file for submission, which includes %%
+%% XML structured for BMC. %%
+%% %%
+%% %%
+%% Note that the displayed Bibliography will not %%
+%% necessarily be rendered by Latex exactly as specified %%
+%% in the online Instructions for Authors. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+{\ifthenelse{\boolean{publ}}{\footnotesize}{\small}
+ \bibliographystyle{bmc_article} % Style BST file
+ \bibliography{bmc_article} } % Bibliography file (usually '*.bib' )
+
+%%%%%%%%%%%
+
+\ifthenelse{\boolean{publ}}{\end{multicols}}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Figures %%
+%% %%
+%% NB: this is for captions and %%
+%% Titles. All graphics must be %%
+%% submitted separately and NOT %%
+%% included in the Tex document %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%
+%% Do not use \listoffigures as most will included as separate files
+
+\section*{Figures}
+ \subsection*{Figure 1 - Sample figure title}
+ A short description of the figure content
+ should go here.
+
+ \subsection*{Figure 2 - Sample figure title}
+ Figure legend text.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Tables %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Use of \listoftables is discouraged.
+%%
+\section*{Tables}
+ \subsection*{Table 1 - Sample table title}
+ Here is an example of a \emph{small} table in \LaTeX\ using
+ \verb|\tabular{...}|. This is where the description of the table
+ should go. \par \mbox{}
+ \par
+ \mbox{
+ \begin{tabular}{|c|c|c|}
+ \hline \multicolumn{3}{|c|}{My Table}\\ \hline
+ A1 & B2 & C3 \\ \hline
+ A2 & ... & .. \\ \hline
+ A3 & .. & . \\ \hline
+ \end{tabular}
+ }
+ \subsection*{Table 2 - Sample table title}
+ Large tables are attached as separate files but should
+ still be described here.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Additional Files %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section*{Additional Files}
+ \subsection*{Additional file 1 --- Sample additional file title}
+ Additional file descriptions text (including details of how to
+ view the file, if it is in a non-standard format or the file extension). This might
+ refer to a multi-page table or a figure.
+
+ \subsection*{Additional file 2 --- Sample additional file title}
+ Additional file descriptions text.
+
+
+\end{bmcformat}
+\end{document}
+
+
+
+
+
+
+
diff --git a/seqware-publications/seqware-pipeline/bmc_article.tex~ b/seqware-publications/seqware-pipeline/bmc_article.tex~
new file mode 100755
index 000000000..edfa2f39c
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/bmc_article.tex~
@@ -0,0 +1,380 @@
+%% BioMed_Central_Tex_Template_v1.05
+%% %
+% bmc_article.tex ver: 1.05 %
+% %
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% LaTeX template for BioMed Central %%
+%% journal article submissions %%
+%% %%
+%% <27 January 2006> %%
+%% %%
+%% %%
+%% Uses: %%
+%% cite.sty, url.sty, bmc_article.cls %%
+%% ifthen.sty. multicol.sty %%
+%% %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% For instructions on how to fill out this Tex template %%
+%% document please refer to Readme.pdf and the instructions for %%
+%% authors page on the biomed central website %%
+%% http://www.biomedcentral.com/info/authors/ %%
+%% %%
+%% Please do not use \input{...} to include other tex files. %%
+%% Submit your LaTeX manuscript as one .tex document. %%
+%% %%
+%% All additional figures and files should be attached %%
+%% separately and not embedded in the \TeX\ document itself. %%
+%% %%
+%% BioMed Central currently use the MikTex distribution of %%
+%% TeX for Windows) of TeX and LaTeX. This is available from %%
+%% http://www.miktex.org %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\documentclass[10pt]{bmc_article}
+
+
+
+% Load packages
+\usepackage{cite} % Make references as [1-4], not [1,2,3,4]
+\usepackage{url} % Formatting web addresses
+\usepackage{ifthen} % Conditional
+\usepackage{multicol} %Columns
+\usepackage[utf8]{inputenc} %unicode support
+%\usepackage[applemac]{inputenc} %applemac support if unicode package fails
+%\usepackage[latin1]{inputenc} %UNIX support if unicode package fails
+\urlstyle{rm}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% If you wish to display your graphics for %%
+%% your own use using includegraphic or %%
+%% includegraphics, then comment out the %%
+%% following two lines of code. %%
+%% NB: These line *must* be included when %%
+%% submitting to BMC. %%
+%% All figure files must be submitted as %%
+%% separate graphics through the BMC %%
+%% submission process, not included in the %%
+%% submitted article. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\includegraphic{}
+\def\includegraphics{}
+
+
+
+\setlength{\topmargin}{0.0cm}
+\setlength{\textheight}{21.5cm}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\textwidth}{16.5cm}
+\setlength{\columnsep}{0.6cm}
+
+\newboolean{publ}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% You may change the following style settings %%
+%% Should you wish to format your article %%
+%% in a publication style for printing out and %%
+%% sharing with colleagues, but ensure that %%
+%% before submitting to BMC that the style is %%
+%% returned to the Review style setting. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%Review style settings
+\newenvironment{bmcformat}{\begin{raggedright}\baselineskip20pt\sloppy\setboolean{publ}{false}}{\end{raggedright}\baselineskip20pt\sloppy}
+
+%Publication style settings
+%\newenvironment{bmcformat}{\fussy\setboolean{publ}{true}}{\fussy}
+
+
+
+% Begin ...
+\begin{document}
+\begin{bmcformat}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the title of your article here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\title{The SeqWare Framework: Infrastructure Tools for Genomics}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors here %%
+%% %%
+%% Ensure \and is entered between all but %%
+%% the last two authors. This will be %%
+%% replaced by a comma in the final article %%
+%% %%
+%% Ensure there are no trailing spaces at %%
+%% the ends of the lines %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\author{Brian D O'Connor\correspondingauthor$^{1}$%
+ \email{Brian D O'Connor\correspondingauthor - boconnor@oicr.on.ca}%
+ \and
+ Lincoln Stein\correspondingauthor$^{1}$%
+ \email{Lincoln Stein\correspondingauthor - lincoln@oicr.on.ca}
+ and
+ Vincent Ferretti$^1$%
+ \email{Vincent Ferretti - vincent@oicr.on.ca}%
+ }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors' addresses here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\address{%
+ \iid(1)the Ontario Institute for Cancer Research, 101 College Street, Suite 800,%
+ Toronto, ON, Canada
+}%
+
+\maketitle
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Abstract begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the Instructions for %%
+%% authors on http://www.biomedcentral.com %%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\begin{abstract}
+ % Do not use inserted blank lines (ie \\) until main body of text.
+ \paragraph*{Background:} Text for this section of the abstract.
+
+ \paragraph*{Results:} Text for this section of the abstract \ldots
+
+ \paragraph*{Conclusions:} Text for this section of the abstract \ldots
+\end{abstract}
+
+
+
+\ifthenelse{\boolean{publ}}{\begin{multicols}{2}}{}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Main Body begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the instructions for %%
+%% authors on: %%
+%% http://www.biomedcentral.com/info/authors%%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%% See the Results and Discussion section %%
+%% for details on how to create sub-sections%%
+%% %%
+%% use \cite{...} to cite references %%
+%% \cite{koon} and %%
+%% \cite{oreg,khar,zvai,xjon,schn,pond} %%
+%% \nocite{smith,marg,hunn,advi,koha,mouse}%%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%
+%% Background %%
+%%
+\section*{Background}
+ Text for this section.\cite{koon,oreg,khar,zvai,xjon,schn,pond,smith,marg,hunn,advi,koha,mouse}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Results and Discussion %%
+%%
+\section*{Results and Discussion}
+ \subsection*{Results sub-heading}
+ \subsubsection*{This is a sub-sub-heading}
+ Sub-sub-sub-headings are made with the \textsl{\\subsubsection} command. \pb
+ pb at end of lines ensures correct paragraph spacing.\pb
+ Text for this sub-sub-section \ldots
+ \subsubsection*{Another sub-sub-sub-heading}
+ Text for this sub-sub-section \ldots
+
+ \subsection*{Another results sub-heading}
+ Text for this sub-section \ldots
+
+ \subsection*{Yet another results sub-heading}
+ Text for this sub-section. More results \ldots
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+\section*{Conclusions}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%
+\section*{Methods}
+ \subsection*{Methods sub-heading for this section}
+ Text for this sub-section \ldots
+
+ \subsection*{Another methods sub-heading for this section}
+ Text for this sub-section \ldots
+
+ \subsection*{Yet another sub-heading for this section}
+ Text for this sub-section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Authors contributions}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Acknowledgements}
+ \ifthenelse{\boolean{publ}}{\small}{}
+ Text for this section \ldots
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The Bibliography %%
+%% %%
+%% Bmc_article.bst will be used to %%
+%% create a .BBL file for submission, which includes %%
+%% XML structured for BMC. %%
+%% %%
+%% %%
+%% Note that the displayed Bibliography will not %%
+%% necessarily be rendered by Latex exactly as specified %%
+%% in the online Instructions for Authors. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+{\ifthenelse{\boolean{publ}}{\footnotesize}{\small}
+ \bibliographystyle{bmc_article} % Style BST file
+ \bibliography{bmc_article} } % Bibliography file (usually '*.bib' )
+
+%%%%%%%%%%%
+
+\ifthenelse{\boolean{publ}}{\end{multicols}}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Figures %%
+%% %%
+%% NB: this is for captions and %%
+%% Titles. All graphics must be %%
+%% submitted separately and NOT %%
+%% included in the Tex document %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%
+%% Do not use \listoffigures as most will included as separate files
+
+\section*{Figures}
+ \subsection*{Figure 1 - Sample figure title}
+ A short description of the figure content
+ should go here.
+
+ \subsection*{Figure 2 - Sample figure title}
+ Figure legend text.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Tables %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Use of \listoftables is discouraged.
+%%
+\section*{Tables}
+ \subsection*{Table 1 - Sample table title}
+ Here is an example of a \emph{small} table in \LaTeX\ using
+ \verb|\tabular{...}|. This is where the description of the table
+ should go. \par \mbox{}
+ \par
+ \mbox{
+ \begin{tabular}{|c|c|c|}
+ \hline \multicolumn{3}{|c|}{My Table}\\ \hline
+ A1 & B2 & C3 \\ \hline
+ A2 & ... & .. \\ \hline
+ A3 & .. & . \\ \hline
+ \end{tabular}
+ }
+ \subsection*{Table 2 - Sample table title}
+ Large tables are attached as separate files but should
+ still be described here.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Additional Files %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section*{Additional Files}
+ \subsection*{Additional file 1 --- Sample additional file title}
+ Additional file descriptions text (including details of how to
+ view the file, if it is in a non-standard format or the file extension). This might
+ refer to a multi-page table or a figure.
+
+ \subsection*{Additional file 2 --- Sample additional file title}
+ Additional file descriptions text.
+
+
+\end{bmcformat}
+\end{document}
+
+
+
+
+
+
+
diff --git a/seqware-publications/seqware-pipeline/readme.html b/seqware-publications/seqware-pipeline/readme.html
new file mode 100755
index 000000000..93095a2f7
--- /dev/null
+++ b/seqware-publications/seqware-pipeline/readme.html
@@ -0,0 +1,237 @@
+
+
+
+BioMed Central TeX template files
+
+
+
+
BioMed Central TeX template - Version 0.4 (January 27th 2006)
+
1 BioMed Central LaTeX template distribution
+
+
+
+
bmc_article.tex
+
+
+
The BioMed Central manuscript template.
+ Edit a copy of this file.
+
+
+
+
+
bmc_article.bib
+
+
+
A sample BibTeX bibliography file used to create a .bbl by BibTeX using the bmc_article.bst file
+
+
+
+
+
bmc_article.bst
+
+
+
The BibTeX bibliography style file
+ for the BioMed Central reference format
+
+
+
+
+
bmc_article.cls
+
+
+
Page layout for for manuscripts. This makes small
+ changes to the standard article template
+
+
+
+
+
readme.html
+
+
+
This document.
+
+
+
+
+
+
2 Requirements
+
2.1
+
The BioMed Central TeX template
+ should work with TeX distributions on any platform it has been tested with
+ TeXShop on Mac OS
+ X and MiKTeX for Windows.
+
2.2
+
In order to submit a manuscript
+ as a .tex file to BioMed Central, you must
+
+
use the BioMed Central template
+
format your references with BibTeX using
+ the bmc_article.bst style file
+
not rely on any non-standard macros,
+ classes or files
+
+
If your TeX manuscript does not
+ meet the criteria above it will need to be converted to DVI format prior to
+ submission.
+
2 Guidelines for creating your manuscript using TeX
+
2.1
+
Follow the guidelines in the BioMed Central instructions
+ for authors given at http://www.biomedcentral.com/info/authors/
+
2.2
+
Make
+ sure your manuscript is compiled with LaTeX2eby using documentclass{..
+ . } and not documentstyle{. . . } in the preamble at the top of your
+ .tex document.
+
A template manuscript is supplied entitled bmc_article.tex which
+sets up the preferred page layout based on the standard article.cls. Two different styles are supplied; Review Style, which produces single column double spaced text, and Publication Style which produces two-column text. They can be toggled by commenting or uncommenting the relevant lines in the TeX file.
+
+
2.3
+
Make sure that you only a single .tex document
+ for the entire manuscript, as you will need to upload it as a single file (together
+ with its associated formatted bibliography file) . Do not use the \input command to include other .tex files.
+
2.4
+
The BioMed Central template uses the cite.sty
+ citation style and url.sty for url references. It also uses ifthen.sty and multicol.sty You should also use these
+ during the creation of your manuscript.
for these style files if they are not in your local
+ archive.
+
cite.sty turns [1,2,3,4] into [1-4].
+
url.sty formats urls so they can be broken down
+ cleanly when overflowing the right text boundary.
+
3 BibTeX
+
References must be formatted with BibTeX using
+ the BioMed Central style file.
+
i.e. when using the template, do not alter the command:
+ \bibliographystyle{bmc_article}
+
The bibliography datafile is referred to with \bibliography{datafile1,
+ . . . , . . . }
+
The template makes use of a sample bibliography called
+ bmc_article.bib - you should update the \bibliography tag to
+ refer to your own bibliography.
+
4 Notes on uploading your manuscript
+
4.1
+
Make sure you are submitting only one .tex document
+ Please note that figures, large tables and any other
+ reference material should be submitted as separate files, not embedded in the
+ manuscript.
+
4.2
+
A .bbl file is generated when you use BibTeX
+ to format your article's reference list. It contains formatted details of all
+ references used in the manuscript. After uploading a TeX file to BioMed Central,
+ you will then be prompted to upload the .bbl file which goes with it..
+
+
5 The TeX article layout
+
This is the sectioning for a BMC-series Research Article l
+ manuscript submission . . . For other types of articles or for non-BMC series journals, see the relevant section headings at http://www.biomedcentral.com/info/authors/
+
Abstract
+
Background
+
Results
+
Conclusions
+
Background
+
Methods
+
Results and Discussion
+
Conclusions
+ Authors contributions
+
Acknowledgements
+
References
+
Figures
+
Tables
+
Additional files
+
5 Further information
+
The latest version of the BioMed Central TeX
+ template distribution, and full instructions on its use, are available here:
+
+
diff --git a/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Article.pdf b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Article.pdf
new file mode 100644
index 000000000..ae412d2af
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Article.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_1.pdf b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_1.pdf
new file mode 100644
index 000000000..9aa567ad8
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_1.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_2.pdf b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_2.pdf
new file mode 100644
index 000000000..6cf5cc72e
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20100826_Submission/OConnor_Figure_2.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20100826_Submission/submission_confirmation.pdf b/seqware-publications/seqware-queryengine/20100826_Submission/submission_confirmation.pdf
new file mode 100644
index 000000000..de7fbdb91
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20100826_Submission/submission_confirmation.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Article.pdf b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Article.pdf
new file mode 100644
index 000000000..dcd25c4ab
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Article.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_1.pdf b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_1.pdf
new file mode 100644
index 000000000..6cf5cc72e
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_1.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_2.pdf b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_2.pdf
new file mode 100644
index 000000000..9aa567ad8
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20101003_Revisions/OConnor_Figure_2.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20101018_Second_Revisions/agreement.pdf b/seqware-publications/seqware-queryengine/20101018_Second_Revisions/agreement.pdf
new file mode 100644
index 000000000..8e3a6cd60
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20101018_Second_Revisions/agreement.pdf differ
diff --git a/seqware-publications/seqware-queryengine/20101018_Second_Revisions/bmc_article.pdf b/seqware-publications/seqware-queryengine/20101018_Second_Revisions/bmc_article.pdf
new file mode 100644
index 000000000..7ccd90c4a
Binary files /dev/null and b/seqware-publications/seqware-queryengine/20101018_Second_Revisions/bmc_article.pdf differ
diff --git a/seqware-publications/seqware-queryengine/bmc_article-BM-mod.doc b/seqware-publications/seqware-queryengine/bmc_article-BM-mod.doc
new file mode 100644
index 000000000..5425aaf4f
Binary files /dev/null and b/seqware-publications/seqware-queryengine/bmc_article-BM-mod.doc differ
diff --git a/seqware-publications/seqware-queryengine/bmc_article.bib b/seqware-publications/seqware-queryengine/bmc_article.bib
new file mode 100644
index 000000000..2fcc1e75b
--- /dev/null
+++ b/seqware-publications/seqware-queryengine/bmc_article.bib
@@ -0,0 +1,498 @@
+% bmc_article.bib
+%
+% An example of bibtex entries.
+% Entries taken from BMC instructions for authors page.
+
+@article{li2009sequence,
+ title={{The sequence alignment/map format and SAMtools}},
+ author={Li, H. and Handsaker, B. and Wysoker, A. and Fennell, T. and Ruan, J. and Homer, N. and Marth, G. and Abecasis, G. and Durbin, R.},
+ journal={Bioinformatics},
+ volume={25},
+ number={16},
+ pages={2078},
+ year={2009},
+ publisher={Oxford Univ Press}
+}
+
+@article{deelman2005pegasus,
+ title={{Pegasus: A framework for mapping complex scientific workflows onto distributed systems}},
+ author={Deelman, E. and Singh, G. and Su, M.H. and Blythe, J. and Gil, Y. and Kesselman, C. and Mehta, G. and Vahi, K. and Berriman, G.B. and Good, J. and others},
+ journal={Scientific Programming},
+ volume={13},
+ number={3},
+ pages={219--237},
+ year={2005},
+ publisher={IOS Press}
+}
+
+@article{snyder2010personal,
+ title={{Personal genome sequencing: current approaches and challenges}},
+ author={Snyder, M. and Du, J. and Gerstein, M.},
+ journal={Genes \& development},
+ volume={24},
+ number={5},
+ pages={423},
+ year={2010},
+ publisher={Cold Spring Harbor Lab}
+}
+
+@phdthesis{fielding2000architectural,
+ title={{Architectural Styles and the Design of Network-based Software Architectures}},
+ author={Fielding, R.T.},
+ year={2000},
+ school={University of California}
+}
+
+@article{mckenna2010genome,
+ title={{The Genome Analysis Toolkit: A MapReduce framework for analyzing next-generation DNA sequencing data}},
+ author={McKenna, A.H. and Hanna, M. and Banks, E. and Sivachenko, A. and Cibulskis, K. and Kernytsky, A. and Garimella, K. and Altshuler, D. and Gabriel, S. and Daly, M. and others},
+ journal={Genome Research},
+ year={2010},
+ publisher={Cold Spring Harbor Lab}
+}
+
+@article{langmead2009searching,
+ title={{Searching for SNPs with cloud computing}},
+ author={Langmead, B. and Schatz, M. and Lin, J. and Pop, M. and Salzberg, S.},
+ journal={Genome Biology},
+ volume={10},
+ number={11},
+ pages={R134},
+ year={2009},
+ publisher={BioMed Central Ltd}
+}
+
+@article{chang2008bigtable,
+ title={{Bigtable: A distributed storage system for structured data}},
+ author={Chang, F. and Dean, J. and Ghemawat, S. and Hsieh, W.C. and Wallach, D.A. and Burrows, M. and Chandra, T. and Fikes, A. and Gruber, R.E.},
+ journal={ACM Transactions on Computer Systems (TOCS)},
+ volume={26},
+ number={2},
+ pages={4},
+ year={2008},
+ publisher={ACM}
+}
+
+@article{dean2008mapreduce,
+ title={{MapReduce: Simplified data processing on large clusters}},
+ author={Dean, J. and Ghemawat, S.},
+ journal={Communications of the ACM},
+ volume={51},
+ number={1},
+ pages={107--113},
+ year={2008},
+ publisher={ACM}
+}
+
+@article{mungall2007chado,
+ title={{A Chado case study: an ontology-based modular schema for representing genome-associated biological information}},
+ author={Mungall, C.J. and Emmert, D.B. and others},
+ journal={Bioinformatics},
+ volume={23},
+ number={13},
+ pages={i337},
+ year={2007},
+ publisher={Oxford Univ Press}
+}
+
+@article{hubbard2006ensembl,
+ title={{Ensembl 2007}},
+ author={Hubbard, T.J.P. and Aken, BL and Beal, K. and Ballester, B. and Caccamo, M. and Chen, Y. and Clarke, L. and Coates, G. and Cunningham, F. and Cutts, T. and others},
+ journal={Nucleic acids research},
+ year={2006},
+ publisher={Oxford Univ Press}
+}
+
+
+@article{rhead2009ucsc,
+ title={{The UCSC genome browser database: update 2010}},
+ author={Rhead, B. and Karolchik, D. and Kuhn, R.M. and Hinrichs, A.S. and Zweig, A.S. and Fujita, P.A. and Diekhans, M. and Smith, K.E. and Rosenbloom, K.R. and Raney, B.J. and others},
+ journal={Nucleic acids research},
+ year={2009},
+ publisher={Oxford Univ Press}
+}
+
+@article{stein2002generic,
+ title={{The generic genome browser: a building block for a model organism system database}},
+ author={Stein, L.D. and Mungall, C. and Shu, S.Q. and Caudy, M. and Mangone, M. and Day, A. and Nickerson, E. and Stajich, J.E. and Harris, T.W. and Arva, A. and others},
+ journal={Genome research},
+ volume={12},
+ number={10},
+ pages={1599},
+ year={2002},
+ publisher={Cold Spring Harbor Lab}
+}
+
+@article{giardine2005galaxy,
+ title={{Galaxy: a platform for interactive large-scale genome analysis}},
+ author={Giardine, B. and Riemer, C. and Hardison, R.C. and Burhans, R. and Elnitski, L. and Shah, P. and Zhang, Y. and Blankenberg, D. and Albert, I. and Taylor, J. and others},
+ journal={Genome research},
+ volume={15},
+ number={10},
+ pages={1451},
+ year={2005},
+ publisher={Cold Spring Harbor Lab}
+}
+
+
+@article{karolchik2004ucsc,
+ title={{The UCSC Table Browser data retrieval tool}},
+ author={Karolchik, D. and Hinrichs, A.S. and Furey, T.S. and Roskin, K.M. and Sugnet, C.W. and Haussler, D. and Kent, W.J.},
+ journal={Nucleic acids research},
+ volume={32},
+ number={Database Issue},
+ pages={D493},
+ year={2004},
+ publisher={Oxford Univ Press}
+}
+
+@article{kent2002human,
+ title={{The human genome browser at UCSC}},
+ author={Kent, W.J. and Sugnet, C.W. and Furey, T.S. and Roskin, K.M. and Pringle, T.H. and Zahler, A.M. and others},
+ journal={Genome research},
+ volume={12},
+ number={6},
+ pages={996},
+ year={2002},
+ publisher={Cold Spring Harbor Lab}
+}
+
+
+@article{pleasance2010comprehensive,
+ title={{A comprehensive catalogue of somatic mutations from a human cancer genome}},
+ author={Pleasance, E.D. and Cheetham, R.K. and Stephens, P.J. and McBride, D.J. and Humphray, S.J. and Greenman, C.D. and Varela, I. and Lin, M.L. and Ord{\'o}{\~n}ez, G.R. and Bignell, G.R. and others},
+ journal={Nature},
+ volume={463},
+ pages={191--196},
+ year={2010}
+}
+
+@article{pleasance2010small,
+ title={{A small-cell lung cancer genome with complex signatures of tobacco exposure}},
+ author={Pleasance, E.D. and Stephens, P.J. and O'Meara, S. and McBride, D.J. and Meynert, A. and Jones, D. and Lin, M.L. and Beare, D. and Lau, K.W. and Greenman, C. and others},
+ journal={Nature},
+ volume={463},
+ pages={184--190},
+ year={2010}
+}
+
+
+@article{mardis2009recurring,
+ title={{Recurring mutations found by sequencing an acute myeloid leukemia genome}},
+ author={Mardis, E.R. and Ding, L. and Dooling, D.J. and Larson, D.E. and McLellan, M.D. and Chen, K. and Koboldt, D.C. and Fulton, R.S. and Delehaunty, K.D. and McGrath, S.D. and others},
+ journal={New England Journal of Medicine},
+ volume={361},
+ number={11},
+ pages={1058},
+ year={2009},
+ publisher={Mass Med Soc}
+}
+
+
+@article{kim2009highly,
+ title={{A highly annotated whole-genome sequence of a Korean individual}},
+ author={Kim, J.I. and Ju, Y.S. and Park, H. and Kim, S. and Lee, S. and Yi, J.H. and Mudge, J. and Miller, N.A. and Hong, D. and Bell, C.J. and others},
+ journal={Nature},
+ volume={460},
+ number={7258},
+ pages={1011--1015},
+ year={2009},
+ publisher={Nature Publishing Group}
+}
+
+@article{drmanac2010human,
+ title={{Human genome sequencing using unchained base reads on self-assembling DNA nanoarrays}},
+ author={Drmanac, R. and Sparks, A.B. and Callow, M.J. and Halpern, A.L. and Burns, N.L. and Kermani, B.G. and Carnevali, P. and Nazarenko, I. and Nilsen, G.B. and Yeung, G. and others},
+ journal={Science},
+ volume={327},
+ number={5961},
+ pages={78},
+ year={2010},
+ publisher={AAAS}
+}
+
+@article{ley2008dna,
+ title={{DNA sequencing of a cytogenetically normal acute myeloid leukaemia genome}},
+ author={Ley, T.J. and Mardis, E.R. and Ding, L. and Fulton, B. and McLellan, M.D. and Chen, K. and Dooling, D. and Dunford-Shore, B.H. and McGrath, S. and Hickenbotham, M. and others},
+ journal={Nature},
+ volume={456},
+ number={7218},
+ pages={66--72},
+ year={2008},
+ publisher={Nature Publishing Group}
+}
+
+
+@article{mckernan2009sequence,
+ title={{Sequence and structural variation in a human genome uncovered by short-read, massively parallel ligation sequencing using two-base encoding}},
+ author={McKernan, K.J. and Peckham, H.E. and Costa, G.L. and McLaughlin, S.F. and Fu, Y. and Tsung, E.F. and Clouser, C.R. and Duncan, C. and Ichikawa, J.K. and Lee, C.C. and others},
+ journal={Genome research},
+ volume={19},
+ number={9},
+ pages={1527},
+ year={2009},
+ publisher={Cold Spring Harbor Lab}
+}
+
+@article{ahn2009first,
+ title={{The first Korean genome sequence and analysis: full genome sequencing for a socio-ethnic group}},
+ author={Ahn, S.M. and Kim, T.H. and Lee, S. and Kim, D. and Ghang, H. and Kim, D.S. and Kim, B.C. and Kim, S.Y. and Kim, W.Y. and Kim, C. and others},
+ journal={Genome research},
+ volume={19},
+ number={9},
+ pages={1622},
+ year={2009},
+ publisher={Cold Spring Harbor Lab}
+}
+
+@article{wang2008diploid,
+ title={{The diploid genome sequence of an Asian individual}},
+ author={Wang, J. and Wang, W. and Li, R. and Li, Y. and Tian, G. and Goodman, L. and Fan, W. and Zhang, J. and Li, J. and Zhang, J. and others},
+ journal={Nature},
+ volume={456},
+ number={7218},
+ pages={60--65},
+ year={2008},
+ publisher={Nature Publishing Group}
+}
+
+@article{bentley2008accurate,
+ title={{Accurate whole human genome sequencing using reversible terminator chemistry}},
+ author={Bentley, D.R. and Balasubramanian, S. and Swerdlow, H.P. and Smith, G.P. and Milton, J. and Brown, C.G. and Hall, K.P. and Evers, D.J. and Barnes, C.L. and Bignell, H.R. and others},
+ journal={Nature},
+ volume={456},
+ number={7218},
+ pages={53--59},
+ year={2008},
+ publisher={Nature Publishing Group}
+}
+
+
+@article{pushkarev2009single,
+ title={{Single-molecule sequencing of an individual human genome}},
+ author={Pushkarev, D. and Neff, N.F. and Quake, S.R.},
+ journal={Nature biotechnology},
+ volume={27},
+ number={9},
+ pages={847--850},
+ year={2009},
+ publisher={Nature Publishing Group}
+}
+
+
+
+@article{levy2007diploid,
+ title={{The diploid genome sequence of an individual human}},
+ author={Levy, S. and Sutton, G. and Ng, P.C. and Feuk, L. and Halpern, A.L. and Walenz, B.P. and Axelrod, N. and Huang, J. and Kirkness, E.F. and Denisov, G. and others},
+ journal={PLoS Biol},
+ volume={5},
+ number={10},
+ pages={e254},
+ year={2007}
+}
+
+@article{wheeler2008complete,
+ title={{The complete genome of an individual by massively parallel DNA sequencing}},
+ author={Wheeler, D.A. and Srinivasan, M. and Egholm, M. and Shen, Y. and Chen, L. and McGuire, A. and He, W. and Chen, Y.J. and Makhijani, V. and Roth, G.T. and others},
+ journal={Nature},
+ volume={452},
+ number={7189},
+ pages={872--876},
+ year={2008},
+ publisher={Nature Publishing Group}
+}
+
+
+@article{lander2001initial,
+ title={{Initial sequencing and analysis of the human genome}},
+ author={Lander, E.S. and Linton, L.M. and Birren, B. and Nusbaum, C. and Zody, M.C. and Baldwin, J. and Devon, K. and Dewar, K. and Doyle, M. and FitzHugh, W. and others},
+ journal={Nature},
+ volume={409},
+ number={6822},
+ pages={860--921},
+ year={2001},
+ publisher={Nature Publishing Group}
+}
+
+
+@article{clark2010u87mg,
+ title={{U87MG decoded: the genomic sequence of a cytogenetically aberrant human cancer cell line}},
+ author={Clark, M.J. and Homer, N. and O'Connor, B.D. and Chen, Z. and Eskin, A. and Lee, H. and Merriman, B. and Nelson, S.F.},
+ year={2010},
+ publisher={Public Library of Science}
+}
+
+@article{blank,
+ author = {},
+ title = {},
+ journal = {},
+ year = {},
+ month = {},
+ volume= {},
+ number= {},
+ pages = {},
+ note = {}
+}
+
+% Article within a journal
+@ARTICLE{koon,
+ author = {Koonin, E V and Altschul, S F and P Bork},
+ title = {BRCA1 protein products: functional motifs},
+ journal = {Nat Genet},
+ year = {1996},
+ volume = {13},
+ pages = {266-267}
+}
+
+% Article within a journal supplement
+@ARTICLE{oreg,
+ author = {Orengo, C A and Bray, J E and Hubbard,
+ T and LoConte, L and Sillitoe, I},
+ title = {Analysis and assessment of ab initio
+ three-dimensional prediction, secondary
+ structure, and contacts prediction},
+ journal = {Proteins},
+ year = {1999},
+ volume = {Suppl 3},
+ pages = {149-170}
+}
+
+% In press article
+@inpress{khar,
+ author = {Kharitonov, S A and Barnes, P J},
+ title = {Clinical aspects of exhaled nitric oxide},
+ journal = {Eur Respir J},
+ note = {in press}
+}
+
+%
+% Published abstract
+%
+@ARTICLE{zvai,
+ author = {Zvaifler, N J and Burger, J A and Marinova-Mutafchieva,
+ L and Taylor, P and Maini, R N},
+ title = {Mesenchymal cells, stromal derived factor-1 and
+ rheumatoid arthritis [abstract]},
+ journal = {Arthritis Rheum},
+ year = {1999},
+ volume = {42},
+ pages = {s250},
+}
+
+
+%
+% Article within conference proceedings
+%
+@Inproceedings{xjon,
+ author = {X Jones},
+ title = {Zeolites and synthetic mechanisms},
+ booktitle = {Proceedings of the First National Conference on
+ Porous Sieves: 27-30 June 1996; Baltimore},
+ year = {1996},
+ editor = {Y Smith},
+ pages = {16-27},
+ organization = {Stoneham: Butterworth-Heinemann}
+}
+
+%%%%%%%%
+% Book chapter, or article within a book
+%
+@incollection{schn,
+ author = {E Schnepf},
+ title = {From prey via endosymbiont to plastids:
+ comparative studies in dinoflagellates},
+ booktitle = {Origins of Plastids},
+ editor = {R A Lewin},
+ publisher = {Chapman and Hall},
+ pages = {53-76},
+ year = {1993},
+ address = {New York},
+ volume = {2},
+ edition = {2nd}
+}
+
+%%%%%%%%
+% Whole issue of journal
+%
+@wholejournal{pond,
+ editor = {B Ponder and S Johnston and L Chodosh},
+ title = {Innovative oncology},
+ journal = {Breast Cancer Res},
+ year = {1998},
+ volume= {10},
+ pages = {1-72}
+}
+
+
+%%%%%%%%
+% Whole conference proceedings
+%
+@proceedings{smith,
+ editor = {Y Smith},
+ title = {Proceedings of the First National Conference
+ on Porous Sieves: 27-30 June 1996; Baltimore},
+ year = 1996,
+ address= {Stoneham},
+ publisher = {Butterworth-Heinemann},
+}
+
+
+%%%%%%%%
+% Complete book
+%
+@book{marg,
+ author = {L Margulis},
+ title = {Origin of Eukaryotic Cells},
+ publisher = {Yale University Press},
+ year = {1970},
+ address = {New Haven}
+}
+
+
+
+%%%%%%%%
+% Monograph or book in series
+%
+@incollection{hunn,
+ author = {G W Hunninghake and J E Gadek},
+ title = {The alveloar macrophage},
+ booktitle = {Cultured Human Cells and Tissues},
+ publisher = {Academic Press},
+ year = {1995},
+ pages = {54-56},
+ editor = {T J R Harris},
+ address = {New York},
+ note = {Stoner G (Series Editor): Methods and Perspectives in Cell Biology, vol 1}
+}
+
+
+%%%%%%%%
+% Book with institutional author
+@manual{advi,
+ title = {Annual Report},
+ organization = {Advisory Committee on Genetic Modification},
+ address = {London},
+ year = {1999}
+}
+
+
+%%%%%%%%
+% PHD Thesis
+%
+@phdthesis{koha,
+ author = {R Kohavi},
+ title = {Wrappers for performance enhancement and
+ obvious decision graphs},
+ school = {Stanford University, Computer Science Department},
+ year = {1995}
+}
+
+%%%%%%%%
+% Webpage Link / URL
+%
+@webpage{mouse,
+ title = {The Mouse Tumor Biology Database},
+ url = {http://tumor.informatics.jax.org/cancer_links.html}
+}
+
+
diff --git a/seqware-publications/seqware-queryengine/bmc_article.bst b/seqware-publications/seqware-queryengine/bmc_article.bst
new file mode 100644
index 000000000..e68e8943b
--- /dev/null
+++ b/seqware-publications/seqware-queryengine/bmc_article.bst
@@ -0,0 +1,1880 @@
+%% %
+ % bmc_article.bst ver: 1.01 %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %% %%
+ %% BibTeX BST file for BioMed Central %%
+ %% a style syntax for latex .bib %%
+ %% bibliographies %%
+ %% %%
+ %% <1 September 2003> %%
+ %% %%
+ %% %%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ %
+ % The order in the reference list is that by which the
+ % works were originally cited in the text, or that in
+ % the database.
+ %
+ %
+ % This file is based on the style 'unsrt.bst'
+ % ------------------------------------------
+ % BibTeX standard bibliography style `unsrt'
+ % version 0.99a for BibTeX versions 0.99a
+ % or later, LaTeX version 2.09.
+ % Copyright (C) 1985, all rights reserved.
+ % Copying of this file is authorized only if either
+ % (1) you make absolutely no changes to your copy, including name, or
+ % (2) if you do make changes, you name it something other than
+ % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst.
+ % This restriction helps ensure that all standard styles are identical.
+ % The file btxbst.doc has the documentation for this style.
+ % ---------------------------------------------------------
+%%
+
+
+
+
+ENTRY
+ { address
+ archive
+ author
+ booktitle
+ chapter
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ { label }
+
+
+% Global variables - most initialised and used locally.
+STRINGS { longest.label }
+STRINGS { cur tag source bibinfo}
+STRINGS { p q r s t z name names }
+STRINGS { lr lp lt ls} % local copys fxns with these call no other fxns.
+INTEGERS { number.label longest.label.width }
+INTEGERS { multiresult nameptr namesleft numnames global.counter}
+INTEGERS { i j k l ll li}
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+ #0 'global.counter :=
+}
+
+
+% Logical operators on integers
+FUNCTION {not}
+{ { #0 } { #1 } if$
+}
+FUNCTION {and}
+{ 'skip$ { pop$ #0 } if$
+}
+FUNCTION {or}
+{ { pop$ #1 } 'skip$ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$ { pop$ "" } 'skip$ if$
+}
+
+FUNCTION {remove.dots}
+{ 'z :=
+ ""
+ { z empty$ not }
+ { z #1 #1 substring$
+ z #2 global.max$ substring$ 'z :=
+ duplicate$ "." = 'pop$
+ { * }
+ if$
+ }
+ while$
+}
+
+%%
+ % myreverse
+ %
+ % Takes 1 string
+ % Returns the myreverse string
+ %
+ % not to be confused with REVERSE (opposite of ITERATE)
+%%
+FUNCTION {myreverse}
+{
+ 'lt :=
+ "" 'ls :=
+ { lt empty$ not }
+ {
+ lt #1 #1 substring$ ls * 'ls :=
+ lt #2 global.max$ substring$ 'lt :=
+ }
+ while$
+ ls
+}
+
+%%
+ % search
+ %
+ % Takes 2 strings (txt, pattern)
+ % Retruns 1 if found 0 if not
+%%
+FUNCTION {search}
+{
+ 'lp := % pattern
+ 'lt := % text to search
+ #0 'i := % result
+ lp text.length$ 'll := % length of the search pattern
+ { lt empty$ not }
+ { lt #1 ll substring$ lp =
+ { #1 'li :=
+ "" 'lt := } % force exit
+ { lt #2 global.max$ substring$ 'lt := } % pop 1 char
+ if$
+ }
+ while$
+ li
+}
+
+
+%%
+ % general replace
+ %
+ % Takes 3 strings (txt, pattern, replace-str)
+ % replaces all instances of pattern
+ % Retruns a new string
+%%
+FUNCTION {replace}
+{
+ 'lr := % replace string
+ 'lp := % pattern
+ 'lt := % text to search
+ "" 'ls := % result string
+ lp text.length$ 'll := % length of the search pattern
+ { lt empty$ not }
+ { lt #1 ll substring$ lp =
+ { ls lr * 'ls :=
+ lt ll #1 + global.max$ substring$ 'lt := }
+ { ls lt #1 #1 substring$ * 'ls :=
+ lt #2 global.max$ substring$ 'lt := }
+ if$
+ }
+ while$
+ ls
+}
+
+
+%%
+ % strip.letters
+ %
+ % Takes 1 arg (string)
+ % if string has letters get rid of them
+ % - useful for 2nd -> 2
+ % Returns string
+%%
+FUNCTION {strip.letters}
+{
+ "" 's :=
+ duplicate$ missing$
+ 'pop$
+ {
+ 't :=
+ { t "" = not }
+ { % ascii '0' = 48, '9' = 57
+ t #1 #1 substring$ chr.to.int$ 'i :=
+ i #47 > i #58 < and
+ { s t #1 #1 substring$ * 's := }
+ 'skip$
+ if$
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ s
+}
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ %{ "OS=(" * output.state int.to.str$ * ") " * write$ }
+ 'write$
+ { add.period$ " " * write$ } % after.sentence
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+% raises an error (warning message) if type not present.
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {add.bold.colon}
+{ duplicate$ empty$
+ 'skip$
+ { "\textbf{:}" * add.blank }
+ if$
+}
+
+FUNCTION {add.colon}
+{ duplicate$ empty$
+ 'skip$
+ { ":" * add.blank }
+ if$
+}
+FUNCTION {bold}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+
+% if field not entered - push empty string ""
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ { pop$ pop$
+ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+
+
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "(Eds)" }
+%{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "(Ed)" }
+%{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "Edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+%{ "edn." }
+
+FUNCTION {bbl.volume}
+{ "Volume" }
+%{ "vol." }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "no." }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "" }
+
+FUNCTION {bbl.page}
+{ "" }
+
+FUNCTION {bbl.chapter}
+{ "chap." }
+
+FUNCTION {bbl.techrep}
+{ "Tech. Rep." }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "PhD thesis" }
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"Jun."}
+
+MACRO {jul} {"Jul."}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sep."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+
+
+% Takes 2 args (author field) and string "author"
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ f{}}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+
+
+%"{f{~}~}{vv~}{ll}{ jj}"
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{ f{}}{ jj}"
+ format.name$
+ remove.dots
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ "," *
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ { " " * t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ " " * get.bbl.editor *
+%% "," * " " * get.bbl.editor *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ url empty$
+ 'skip$
+ {
+ "\urlprefix\url{[" url * "]}" * output }
+ if$
+ note empty$
+ { "" }
+ {
+ note "l" change.case$ "in press" =
+ { after.sentence 'output.state :=
+ " in press" }
+ {
+ after.sentence 'output.state :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$ % leave note * As Is *
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ "[" swap$ * "]" *
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bold.format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ bold
+ }
+ if$
+}
+
+FUNCTION {emph.format.title}
+{ title
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+% Returns ""
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {output.allinfo.comment}
+{ }
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{
+ before.all 'output.state :=
+ ""
+ duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ remove.dots
+ }
+ if$
+
+ duplicate$ "" =
+ 'skip$
+ { " " swap$ * }
+ if$
+}
+
+% Source = book, conference, journal, manual
+% have the source avaliable on the stack
+FUNCTION {format.source}
+{ 'source :=
+ source "source" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ bold
+ }
+ if$
+}
+
+
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ emphasize
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ n.dashify
+ }
+ {
+ }
+ if$
+ "pages" bibinfo.check
+ ":" swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ":" *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ":" *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+
+% ignore issue (num) if == 1
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check bold
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ duplicate$ "1" =
+ {pop$ ""}
+ { swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+
+
+%% FUNCTION {format.in.ed.booktitle}
+%% { booktitle format.source duplicate$ empty$ 'skip$
+%% {
+%% editor "editor" format.names.ed duplicate$ empty$ 'pop$
+%% {
+%% bbl.edby
+%% " " * swap$ *
+%% swap$
+%% "," *
+%% " " * swap$
+%% * }
+%% if$
+%% word.in swap$ *
+%% }
+%% if$
+%% }
+
+FUNCTION{format.edited.by}
+{ editor "editor" format.names.ed duplicate$ empty$
+ 'pop$
+ { bbl.edby
+ " " * swap$ *
+ swap$
+ ". " *
+ swap$
+ * }
+ if$
+}
+
+FUNCTION {format.in.booktitle}
+{ booktitle format.source duplicate$ empty$
+ 'skip$
+ { word.in swap$ * }
+ if$
+}
+FUNCTION {format.in.journal}
+{ journal format.source duplicate$ empty$
+ 'skip$
+ { word.in swap$ * }
+ if$
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ key duplicate$ empty$
+ { pop$
+ journal duplicate$ empty$
+ { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
+ { "journal" bibinfo.check emphasize word.in swap$ * }
+ if$
+ }
+ { word.in swap$ * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.crossref.editor}
+{ editor #1 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ editor num.names$ duplicate$
+ #2 >
+ { pop$
+ "editor" bibinfo.check
+ " " * bbl.etal
+ *
+ }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ "editor" bibinfo.check
+ " " * bbl.etal
+ *
+ }
+ {
+ bbl.and space.word
+ * editor #2 "{vv~}{ll}" format.name$
+ "editor" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "need editor, key, or series for " cite$ * " to crossref " *
+ crossref * warning$
+ "" *
+ }
+ { series emphasize * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle format.source duplicate$ empty$
+ { "need editor, key, or booktitle for " cite$ * " to crossref " *
+ crossref * warning$
+ }
+ { word.in swap$ * }
+ if$
+ }
+ { word.in key * " " *}
+ if$
+ }
+ { word.in format.crossref.editor * " " *}
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+% Takes 1 arg (publisher or organisation}
+% if present appends address to the front. ie New York: Sachai Ltd
+% returns the formatted string.
+FUNCTION {format.org.or.pub}
+{ 't :=
+ t empty$
+ { address empty$
+ 'skip$
+ { address "address" bibinfo.check 't := }
+ if$ }
+ { address empty$
+ 'skip$
+ { address "address" bibinfo.check ": " * t * 't :=}
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ author empty$
+ { format.editors "author or editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ {
+ journal "journal" bibinfo.check
+ format.source "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {wholejournal}
+{ output.bibitem
+ author empty$
+ { format.editors "author or editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ {
+ journal emphasize word.in swap$ * "journal" output.check
+ format.date "year" output.check
+ format.vol.num.pages output
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title format.source "source" output.check
+ crossref missing$
+ { format.bvolume output
+ new.sentence
+ format.number.series output
+ format.publisher.address output
+ }
+ {
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ add.colon
+ }
+ { format.authors output.nonnull
+ add.colon
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ title format.source "title" output.check
+ crossref missing$
+ {
+ format.publisher.address output
+ format.bvolume output
+ new.sentence
+ format.number.series output
+ }
+ {
+ new.sentence
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ add.blank
+ format.chapter.pages "chapter and/or pages" output.check
+ format.note output
+ fin.entry
+}
+
+% In . Volume X. y edition. Edited by .
+% Add: Pub; date:pages.
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ { format.in.booktitle "booktitle" output.check
+ %format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.edition output
+ booktitle empty$
+ 'skip$
+ {format.edited.by}
+ if$
+ format.publisher.address output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ before.all 'output.state := %no space,comma,etc.. -> 1991:23
+ format.pages output
+ format.note output
+ fin.entry
+}
+
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ new.sentence
+ crossref missing$
+ % In . Volume X. x nd edition. Edited by .
+ { format.in.booktitle "booktitle" output.check
+ format.bvolume output
+ format.edition output
+ format.number.series output
+ booktitle missing$
+ 'skip$
+ { booktitle missing$
+ 'skip$
+ {format.edited.by}
+ if$
+ }
+ if$
+ publisher missing$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ }
+ if$
+ format.date "year" output.check
+ before.all 'output.state := %no space,comma,etc..
+ format.pages output
+ format.note output
+ fin.entry
+}
+
+FUNCTION {conference} {inproceedings}
+
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ bbl.mthesis format.thesis.type format.source output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+% old manual style syntax
+% all optional: (author, title, howpublished, month, year, note)
+% maybe missing: (organization, address, edition)
+FUNCTION {misc}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title output
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title " " * output
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+
+FUNCTION {inpress}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ bold.format.title output
+ new.sentence
+ journal emphasize output
+ "in press" output
+ fin.entry
+ empty.misc.check
+}
+
+
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization missing$ 'skip$
+ { organization output }
+ if$
+ }
+ { format.authors output }
+ if$
+ add.colon
+ title output
+ emphasize
+ new.sentence
+ howpublished "howpublished" bibinfo.check format.source output
+ new.sentence
+ edition missing$ 'skip$
+ {edition output}
+ if$
+ author empty$
+ 'skip$
+ { organization missing$
+ 'skip$
+ {organization output}
+ if$
+ }
+ if$
+ address missing$ 'skip$
+ {address output}
+ if$
+ format.date output
+ format.note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {booklet}{misc}
+
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ bbl.phdthesis format.thesis.type format.source output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization "organization" bibinfo.check output
+ }
+ { format.editors output.nonnull }
+ if$
+ add.colon
+ title format.source "source" output.check
+ format.bvolume output
+ format.number.series output
+ editor empty$
+ { publisher empty$
+ 'skip$
+ {
+ format.publisher.address output
+ }
+ if$
+ }
+ { publisher empty$
+ {
+ format.organization.address output }
+ {
+ organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ }
+ if$
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title
+ "title" output.check
+ new.sentence
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ add.colon
+ bold.format.title "title" output.check
+ format.date output
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+
+
+
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %% %%%% %%% %%%%%%% %% %%%%%%%%%
+%% %%%% %% %%%% % %%%%% % %% %%%%%%%%%
+%% %%%%% %%%%% %% %%% %% %% %%%%%%%%%
+%% %%%%%% %%%%%% %%% % %%% %% %%%%%%%%%
+%% %%%%% %%%%% %%%% %%%% %% %%%%%%%%%
+%% %%%% %% %%%% %%%%%%%%%%% %% %%%%%%%%%
+%% %% %%%% %%% %%%%%%%%%%% %% %%
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % Function for printing out all data in xml format.
+ % { address archive author booktitle chapter edition editor
+ % howpublished institution journal key month note number
+ % organization pages publisher school series title
+ % type url volume year
+ % }
+ %
+%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%%
+ % output.xml
+ %
+%%
+FUNCTION {output.xml}
+{ duplicate$ "" =
+ 'pop$
+ { " " swap$ * write$ newline$ }
+ if$
+}
+
+%%
+ % markup.xml
+ %
+ % Takes 2 args text & tag {"the text " "tag"}
+ % Returns 1 string {"the text <\tag>"}
+%%
+FUNCTION {markup.xml}
+{
+ "" 'r := % result
+ 't := % tag
+ duplicate$ missing$
+ 'pop$
+ { 'r := }
+ if$
+ r "" =
+ 'skip$
+ { "<" t * ">" * r * "" * t * ">" * 'r := }
+ if$
+ r
+}
+
+%% Takes 2 args - tag, string
+FUNCTION{markup.xml.title}
+{ pop$ % tag
+ duplicate$ missing$
+ 'pop$
+ {
+ 's := % string
+ s "\&" "&" replace 's :=
+ s "p" markup.xml 's :=
+ s "title" markup.xml output.xml
+ }
+ if$
+}
+
+
+%%
+ % markup.xml.pages
+ %
+ % Takes 1 arg (pages string)
+ % seperates into and if
+ % there is a - seperator. else no lpage.
+ %
+ % need to remove others
+%%
+FUNCTION{markup.xml.pages}
+{
+ "" 'r := % fpage
+ "" 's := % lpage
+ duplicate$ missing$
+ 'pop$
+ {
+ 't :=
+ t " " "" replace 't := % remove all spaces. pgs must be - seperated
+ { t empty$ not }
+ {
+ t #1 #1 substring$ "-" =
+ {
+ t #2 global.max$ substring$ 's :=
+ "" 't := % break while loop
+ }{
+ r t #1 #1 substring$ * 'r :=
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+ }
+ if$
+ r "fpage" markup.xml output.xml
+ s "lpage" markup.xml output.xml
+}
+
+
+%%
+ % markup.xml.names
+ %
+ % Takes 2 args
+ % tag, namefield (eg. author "au")
+ % splits fields into and
+ % writes info
+ % returns nothing
+%%
+FUNCTION {markup.xml.names}
+{
+ 't := % tag
+ "" 'r :=
+ "" 's :=
+ duplicate$ empty$
+ { pop$
+ organization missing$
+ { institution "cnm" markup.xml
+ "au" markup.xml "aug" markup.xml output.xml }
+ { organization "cnm" markup.xml
+ "au" markup.xml "aug" markup.xml output.xml }
+ if$ }
+ {
+ " " write$ newline$
+ 'names := % names string
+ names num.names$ 'j := % num of names
+ #1 'i := % init counter
+ { i #1 j + < } % while (i <= j)
+ {
+ " " write$
+
+ % Initial first names
+ % if first name all in capitals
+ % - assume is initial list of first names.
+ names i "{ff{ }}" format.name$
+ duplicate$ "u" change.case$ =
+ { names i "{ff{ }}" format.name$ }
+ { names i "{f{}}" format.name$ }
+ if$
+
+ % if last name but no first name use cnm; else snm
+ duplicate$ "" =
+ { names i "{ll{ }}" format.name$ % last names space seperated.
+ "cnm" markup.xml write$ }
+ { names i "{ll{ }}" format.name$ % last names space seperated.
+ "snm" markup.xml write$ }
+ if$
+
+ "fnm" markup.xml write$
+
+ "" write$ newline$
+ i #1 + 'i :=
+ }
+ while$
+ " " write$ newline$
+ }
+ if$
+}
+
+
+%%
+ % markup.xml.pub
+ %
+ % Takes 4 args (school address publisher tag)
+ % prints concatenation
+ % returns nothing
+%%
+FUNCTION {markup.xml.pub}
+{
+ 't := % Tag
+ "" 'p := % Publisher
+ "" 'q := % Address
+ "" 'r := % School
+ "" 's := % Answer
+ duplicate$ missing$ 'pop$ { 'p := } if$
+ duplicate$ missing$ 'pop$ { 'q := } if$
+ duplicate$ missing$ 'pop$ { 'r := } if$
+ "" r = not % school not empty
+ { r 's := } % return school as publisher
+ { % else
+ "" p = "" q = and % address and pub empty
+ 'skip$
+ {
+ "" q =
+ { p 's := } % return pub
+ { "" p =
+ { q 's := } % return add
+ { q ": " * p * 's := } % return add : pub
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ s t markup.xml output.xml
+}
+
+%%
+ % xml.phd
+ %
+ % Takes nothing
+ % Returns type (phd/msc) of empty string
+%%
+FUNCTION {xml.phd}
+{
+ "phdthesis" type$ =
+ "mastersthesis" type$ = OR
+ { "phdthesis" type$ =
+ { bbl.phdthesis format.thesis.type }
+ { bbl.mthesis format.thesis.type }
+ if$
+ }
+ { type } % usually empty
+ if$
+}
+
+% markup.xml.edition
+%
+% edition is a numeric value. ie "2"
+% if format 2nd 1st etc.. strip letters.
+%
+FUNCTION {markup.xml.edition}
+{ pop$ pop$ %clear stack
+ edition strip.letters duplicate$ "" =
+ { pop$ edition }
+ 'skip$
+ if$
+ "edition" markup.xml output.xml
+}
+
+
+%% [bmc@xmlcomment]
+ % this is an environment that returns nothing
+ % so although it will be embedded in the bbl file it
+ % will not display anything
+%%
+FUNCTION{begin.bmcxmlcomment}{
+ newline$
+ "\newcommand{\BMCxmlcomment}[1]{}" write$ newline$
+ newline$
+ "\BMCxmlcomment{" write$ newline$
+ newline$ "" write$ newline$
+}
+
+FUNCTION{end.bmcxmlcomment}{
+ newline$
+ "" write$ newline$
+ "} % end of \BMCxmlcomment" write$ newline$
+}
+
+%%
+ % export.xml
+ %
+ % done for each entry referenced in the BibTeX database
+%%
+FUNCTION {export.xml}{
+ newline$
+ global.counter #1 + 'global.counter :=
+ "" *
+ write$ newline$
+% title "\&" "&" replace "title" markup.xml.title
+ title "title" markup.xml.title
+ author "aug" markup.xml.names % org. and inst. here
+ howpublished missing$
+ { booktitle missing$
+ { journal missing$
+ { xml.phd } % Phd/Msc
+ {journal}
+ if$
+ } {booktitle}
+ if$
+ } { howpublished }
+ if$ "source" markup.xml output.xml
+ school
+ address
+ publisher "publisher" markup.xml.pub
+ editor "editor" markup.xml output.xml
+ edition "edition" markup.xml.edition
+ series "p" markup.xml
+ "title" markup.xml
+ "series" markup.xml output.xml
+ chapter "p" markup.xml
+ "title" markup.xml
+ "section" markup.xml output.xml
+ % month % ignore
+ year "pubdate" markup.xml output.xml
+
+ note missing$
+ { volume "volume" markup.xml output.xml
+ number "issue" markup.xml output.xml
+ pages markup.xml.pages
+ url "url" markup.xml output.xml }
+ { note "l" change.case$ "in press" =
+ { " " write$ newline$ }
+ { volume "volume" markup.xml output.xml
+ number "issue" markup.xml output.xml
+ pages markup.xml.pages
+ url "url" markup.xml output.xml
+ note "note" markup.xml output.xml
+ }
+ if$
+ }
+ if$
+ "" write$ newline$
+}
+
+% xml fields not used
+% suppliment conference xrefbib issn issb archive key
+% BioMed_Central_Tex_Template_v1.01
+
+
+%%%%%%%%%%%%%%%%
+% %
+% Main %
+% %
+%%%%%%%%%%%%%%%%
+
+READ
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+FUNCTION {begin.bib}
+{ "%% BioMed_Central_Bib_Style_v1.01" write$ newline$ newline$
+ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{[#1]}"
+ write$ newline$
+ "\providecommand{\urlprefix}{}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+EXECUTE {begin.bmcxmlcomment}
+ITERATE {export.xml}
+EXECUTE {end.bmcxmlcomment}
+%% End of customized bst file
+%%
+%% End of file `basic.bst'.
diff --git a/seqware-publications/seqware-queryengine/bmc_article.cls b/seqware-publications/seqware-queryengine/bmc_article.cls
new file mode 100644
index 000000000..896154105
--- /dev/null
+++ b/seqware-publications/seqware-queryengine/bmc_article.cls
@@ -0,0 +1,138 @@
+%% %
+ % bmc_article.cls ver: 1.03 %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % %%
+ % A Style Class based on article for %%
+ % formating towards BioMed Central %%
+ % guidelines %%
+ % %%
+ % <1 September 2003> %%
+ % %%
+ % %%
+ % %%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ %
+ % See Readme.txt for ToDo list.
+%%
+%
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{bmc_article}[2003/09/01 v1.01 BioMed Central article class]
+\LoadClassWithOptions{article}
+
+\renewcommand\@biblabel[1]{#1.}
+\def\hi{}
+\def\pb{\\*[0.42cm]}
+
+
+\AtBeginDocument{}
+
+\def\@abstractline{\textwidth}
+
+\newcounter{bmc@correspondingauthor}
+\setcounter{bmc@correspondingauthor}{0} %never changes
+\newcounter{bmc@emailcounter} \setcounter{bmc@emailcounter}{0}
+
+
+% Corresponding Authors.
+% adds an asterisk * as a marker.
+\def\correspondingauthor{$^*$}
+\def\@corresponding{\footnotesize\correspondingauthor Corresponding author}
+
+
+% Email.
+% A variable to store names and emails.
+\gdef\bmc@email{Email: }
+\newcommand\bmc@curname{}
+\newcommand\email[1]{\relax
+ \g@addto@macro\bmc@email{#1; }} % has trailing ;
+
+\def\@bmc@email{\relax\footnotesize{\bmc@email}}
+
+% Address
+\def\address#1{ \def\@address{\begin{hi}\footnotesize#1\end{hi}}}
+\def\iid(#1){\hi$^#1$}
+
+% Thanks
+\def\thempfootnote{\normalfont\@arabic\c@mpfootnote}
+\def\thanks#1{%
+ \stepcounter{footnote}%
+ \hbox{\@textsuperscript{\normalfont\thefootnote}}%
+ \protected@xdef\@thanks{\@thanks%
+ \protect\footnotetext[\the\c@footnote]{#1}}%
+ }
+
+% Maketitle
+\let\old@maketitle\maketitle
+\renewcommand\maketitle{
+ \begin{flushleft}\mbox{
+ \global\let\@date\@empty % @date = null.
+ {\sffamily\begin{minipage}{\textwidth}%
+ \@maketitle
+ {\raggedright%
+ {\noindent\@address}\\ \hbox{}
+ {\noindent\@bmc@email}\\ \hbox{}
+ {\noindent\@corresponding}%
+ }%end \raggedright
+ \end{minipage}%
+ }
+ \renewcommand\thefootnote{\old@thefootnote} %
+ } % \mbox
+ \end{flushleft}
+}
+
+\def\and{, }
+
+\def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ {\noindent\LARGE \bfseries\@title \par}%
+ \vskip 1.5em%
+ {\large
+ %\lineskip .5em%
+ \noindent\@author
+ \par}%
+ \vskip 1em%
+ \par
+ \vskip 1.5em}
+
+
+% reformats abstract to BMC looks
+\let\old@abstract\abstract
+\renewenvironment{abstract}
+ {
+ \ifhmode\begingroup\parskip0pt\par\noindent\endgroup\fi%
+ \begin{sffamily}
+ \vspace{1cm} % use \topsep in list
+ {\noindent\bfseries\large\abstractname\vspace{-0.5em}}
+ {\par\vbox{\hrule width \@abstractline}}
+ }{
+ \ifhmode\begingroup\parskip0pt\par\noindent\endgroup\fi %
+ \vbox{\hrule width \@abstractline} \vspace{1cm} %
+ \end{sffamily}
+ }
+
+
+
+%% \@startsection{sec-name}{level}{indent}{pre-skip}
+%% {post-skip}{style}*[srt title]{title}
+\renewcommand\section{\@startsection {section}{1}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\large\bfseries\sffamily}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\normalsize\bfseries\sffamily}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-0.84cm \@plus -1ex \@minus -.2ex} {.2ex \@plus.2ex} %%
+ {\normalfont\normalsize\sffamily\itshape}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {-.2em \@plus1ex \@minus.2ex} {-0.5em} %%
+ {\normalfont\small\bfseries\sffamily}}
+\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {-.2em \@plus1ex \@minus.2ex} {-0.5em} %%
+ {\normalfont\normalsize\sffamily}}
+
+\endinput
+%% end of bmc_article.cls
diff --git a/seqware-publications/seqware-queryengine/bmc_article.tex b/seqware-publications/seqware-queryengine/bmc_article.tex
new file mode 100644
index 000000000..5973c54bb
--- /dev/null
+++ b/seqware-publications/seqware-queryengine/bmc_article.tex
@@ -0,0 +1,469 @@
+%% BioMed_Central_Tex_Template_v1.05
+%% %
+% bmc_article.tex ver: 1.05 %
+% %
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% LaTeX template for BioMed Central %%
+%% journal article submissions %%
+%% %%
+%% <27 January 2006> %%
+%% %%
+%% %%
+%% Uses: %%
+%% cite.sty, url.sty, bmc_article.cls %%
+%% ifthen.sty. multicol.sty %%
+%% %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% For instructions on how to fill out this Tex template %%
+%% document please refer to Readme.pdf and the instructions for %%
+%% authors page on the biomed central website %%
+%% http://www.biomedcentral.com/info/authors/ %%
+%% %%
+%% Please do not use \input{...} to include other tex files. %%
+%% Submit your LaTeX manuscript as one .tex document. %%
+%% %%
+%% All additional figures and files should be attached %%
+%% separately and not embedded in the \TeX\ document itself. %%
+%% %%
+%% BioMed Central currently use the MikTex distribution of %%
+%% TeX for Windows) of TeX and LaTeX. This is available from %%
+%% http://www.miktex.org %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\documentclass[10pt]{bmc_article}
+
+
+
+% Load packages
+\usepackage{cite} % Make references as [1-4], not [1,2,3,4]
+\usepackage{url} % Formatting web addresses
+\usepackage{ifthen} % Conditional
+\usepackage{multicol} %Columns
+\usepackage[utf8]{inputenc} %unicode support
+%\usepackage[applemac]{inputenc} %applemac support if unicode package fails
+%\usepackage[latin1]{inputenc} %UNIX support if unicode package fails
+\urlstyle{rm}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% If you wish to display your graphics for %%
+%% your own use using includegraphic or %%
+%% includegraphics, then comment out the %%
+%% following two lines of code. %%
+%% NB: These line *must* be included when %%
+%% submitting to BMC. %%
+%% All figure files must be submitted as %%
+%% separate graphics through the BMC %%
+%% submission process, not included in the %%
+%% submitted article. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\def\includegraphic{}
+\def\includegraphics{}
+
+
+
+\setlength{\topmargin}{0.0cm}
+\setlength{\textheight}{21.5cm}
+\setlength{\oddsidemargin}{0cm}
+\setlength{\textwidth}{16.5cm}
+\setlength{\columnsep}{0.6cm}
+
+\newboolean{publ}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% You may change the following style settings %%
+%% Should you wish to format your article %%
+%% in a publication style for printing out and %%
+%% sharing with colleagues, but ensure that %%
+%% before submitting to BMC that the style is %%
+%% returned to the Review style setting. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%Review style settings
+\newenvironment{bmcformat}{\begin{raggedright}\baselineskip20pt\sloppy\setboolean{publ}{false}}{\end{raggedright}\baselineskip20pt\sloppy}
+
+%Publication style settings
+%\newenvironment{bmcformat}{\fussy\setboolean{publ}{true}}{\fussy}
+
+
+
+% Begin ...
+\begin{document}
+\begin{bmcformat}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the title of your article here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\title{SeqWare Query Engine: storing and searching sequence data in the cloud}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors here %%
+%% %%
+%% Ensure \and is entered between all but %%
+%% the last two authors. This will be %%
+%% replaced by a comma in the final article %%
+%% %%
+%% Ensure there are no trailing spaces at %%
+%% the ends of the lines %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\author{Brian D O'Connor $^{1}$%
+ \email{Brian D O'Connor - brianoc@email.unc.edu}%
+ \and
+ Barry Merriman $^2$%
+ \email{Barry Merriman - barrym@ucla.edu}%
+ \and
+ Stanley F Nelson\correspondingauthor$^2$%
+ \email{Stanley F Nelson\correspondingauthor - snelson@ucla.edu}%
+ }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Enter the authors' addresses here %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\address{%
+ \iid(1)UNC Lineberger Comprehensive Cancer Center, University of North Carolina, Chapel Hill, NC, 27599, USA\\
+ \iid(2)Department of Human Genetics, University of California, Los Angeles, CA, 90095, USA\\
+}%
+
+\maketitle{
+
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Abstract begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the Instructions for %%
+%% authors on http://www.biomedcentral.com %%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\begin{abstract}
+ % Do not use inserted blank lines (ie \\) until main body of text.
+ \paragraph*{Background:}
+
+ Since the introduction of next-generation DNA sequencers the rapid increase in sequencer throughput, and associated drop in costs, has resulted in more than a dozen human genomes being resequenced over the last few years. These efforts are merely a prelude for a future in which genome resequencing will be commonplace for both biomedical research and clinical applications. The dramatic increase in sequencer output strains all facets of computational infrastructure, especially databases and query interfaces. The advent of cloud computing, and a variety of powerful tools designed to process petascale datasets, provide a compelling solution to these ever increasing demands.
+
+ \paragraph*{Results:}
+
+ In this work, we present the SeqWare Query Engine which has been created using modern cloud computing technologies and designed to support databasing information from thousands of genomes. Our backend implementation was built using the highly scalable, NoSQL HBase database from the Hadoop project. We also created a web-based frontend that provides both a programmatic and interactive query interface and integrates with widely used genome browsers and tools. Using the query engine, users can load and query variants (SNVs, indels, translocations, etc) with a rich level of annotations including coverage and functional consequences. As a proof of concept we loaded several whole genome datasets including the U87MG cell line. We also used a glioblastoma multiforme tumor/normal pair to both profile performance and provide an example of using the Hadoop MapReduce framework within the query engine. This software is open source and freely available from the SeqWare project (http://seqware.sourceforge.net).
+
+ \paragraph*{Conclusions:}
+
+ The SeqWare Query Engine provided an easy way to make the U87MG genome accessible to programmers and non-programmers alike. This enabled a faster and more open exploration of results, quicker tuning of parameters for heuristic variant calling filters, and a common data interface to simplify development of analytical tools. The range of data types supported, the ease of querying and integrating with existing tools, and the robust scalability of the underlying cloud-based technologies make SeqWare Query Engine a nature fit for storing and searching ever-growing genome sequence datasets.
+
+\end{abstract}
+
+
+
+\ifthenelse{\boolean{publ}}{\begin{multicols}{2}}{}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% The Main Body begins here %%
+%% %%
+%% The Section headings here are those for %%
+%% a Research article submitted to a %%
+%% BMC-Series journal. %%
+%% %%
+%% If your article is not of this type, %%
+%% then refer to the instructions for %%
+%% authors on: %%
+%% http://www.biomedcentral.com/info/authors%%
+%% and change the section headings %%
+%% accordingly. %%
+%% %%
+%% See the Results and Discussion section %%
+%% for details on how to create sub-sections%%
+%% %%
+%% use \cite{...} to cite references %%
+%% \cite{koon} and %%
+%% \cite{oreg,khar,zvai,xjon,schn,pond} %%
+%% \nocite{smith,marg,hunn,advi,koha,mouse}%%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+%%%%%%%%%%%%%%%%
+%% Background %%
+%%
+\section*{Background}
+
+Recent advances in sequencing technologies have led to a greatly reduced cost and increased throughput \cite{snyder2010personal}. The dramatic reductions in both time and financial costs have shaped the experiments scientists are able to perform and have opened up the possibility of whole human genome resequencing becoming commonplace. Currently over a dozen human genomes have been completed, most using one of the short read, high-throughput technologies that are responsible for this growth in sequencing \cite{lander2001initial,levy2007diploid,wheeler2008complete,pushkarev2009single,wang2008diploid,bentley2008accurate,mckernan2009sequence,ahn2009first,kim2009highly,drmanac2010human,ley2008dna,mardis2009recurring,pleasance2010small,pleasance2010comprehensive,clark2010u87mg}. The datatypes produced by these projects are varied, but most report single nucleotide variants (SNVs), small insertions/deletions (indels, typically $<$10 bases), structural variants (SVs), and may include additional information such as haplotype phasing and novel sequence assemblies. Paired tumor/normal samples can additionally be used to identify somatic mutation events by filtering for those variants present in the tumor but not the normal.
+
+Full genome sequencing, while increasingly common, is just one of many experimental designs that are currently used with this generation of sequencing platforms. Targeted resequencing, whole-exome sequencing, RNA sequencing (RNA-Seq), Chromatin Immunoprecipitation sequencing (ChIP-Seq), and bisulfite sequencing for methylation detection are examples of other important analysis types that require large scale databasing capabilities. Efforts such as the 1000 Genomes project (http://www.1000genomes.org), the Cancer Genome Atlas (TCGA, http://cancergenome.nih.gov), and the International Cancer Genome Consortium (http://www.icgc.org) are each generating a wide variety of such data across hundreds to thousands of samples. The diversity and number of sequencing datasets already produced, in production, or being planned present huge infrastructure challenges for the research community.
+
+Primary data, if available, are typically huge, difficult to transfer over public networks, and cumbersome to analyze without significant local computational infrastructure. These include large compute clusters, extensive data storage facilities, dedicated system administrators, and bioinformaticians adept at low-level programming. Highly annotated datasets, such as finished variant calls, are more commonly available, particularly for human datasets. These present a more compact representation of the most salient information, but are typically only available as flat text files in a variety of quasi-standard file formats that require reformatting and processing. This effort is substantial, particularly as the number of datasets grow, and, as a result, is typically undertaken by a small number of researchers that have a personal stake in the data rather than being more widely and easily accessible. In many cases, essential source information has been eliminated for the sake of data reduction, making recalculation impossible. These challenges, in terms of file sizes, diverse formats, limited data retention, and computational requirements, can make writing generic analysis tools complex and difficult. Efforts such as the Variant Call Format (VCF) from the 1000 Genomes Project provide a standard to exchange variant data. But to facilitate the integration of multiple experimental types and increase tool reuse, a common mechanism to both store and query variant calls and other key information from sequencing experiments is highly desirable. Properly databasing this information enables both a common underlying data structure and a search interface to support powerful data mining of sequence-derived information.
+
+To date most biological database projects have focused on the storage of heavily annotated model organism reference sequences. For example, efforts such as the UCSC genome databases \cite{rhead2009ucsc}, the Generic Model Organism Database’s Chado schema \cite{mungall2007chado}, and the Ensembl database \cite{hubbard2006ensembl} all solve the problem of storing reference genome annotations in a complete and comprehensive way. The focus for these databases is the proper representation of biological data types and genome annotations, but not storing many thousands of genomes worth of variants relative to a given reference. While many biological database schemas currently in wide use could support tens or even hundreds of genomes worth of variant calls, ultimately these systems are limited by the resources of a single database instance. Since they focus on relatively modest amounts of annotation storage, loading hundreds of genomes worth of multi-terabyte sequencing coverage information, for example, would likely overwhelm these traditional database approaches. Yet the appeal of databasing next generation sequence data is clear since it would simplify tool development and allow for useful queries across samples and projects.
+
+In this work we introduce the SeqWare Query Engine, a scalable database system intended to represent the full range of data types common to whole genome and other experimental designs for next generation sequence data. HBase was chosen as the underlying backend because of its robust querying abilities using the Hadoop MapReduce environment and its auto-sharding of data across a commodity cluster based on the Hadoop HDFS distributed filesystem (http://hadoop.apache.org). We also present a web service that wraps the use of MapReduce to allow for sophisticated queries of the database through a simple web interface. The web service can be used interactively or programmatically and makes it possible to easily integrate with genome browsers, such as the UCSC Browser \cite{kent2002human}, GBrowse \cite{stein2002generic}, or IGV (http://www.broadinstitute.org/igv), and with data analysis tools, such as the UCSC table browser \cite{karolchik2004ucsc}, GALAXY \cite{giardine2005galaxy}, and others. The backend and web service can be used together to create databases containing varying levels of annotations, from raw variant calls and coverage to highly annotated and filtered SNV predictions. This flexibility allows the SeqWare Query Engine to scale from raw data analysis and algorithm tuning through highly annotated data dissemination and hosting. The design decision to move away from traditional relational databases in favor of the NoSQL-style of limited, but highly scalable, databases allowed us to support tens of genomes now and thousands of genomes in the future, limited only by the underlying cloud resources.
+
+%%%%%%%%%%%%%%%%%%
+\section*{Methods}
+
+\subsection*{Design approach}
+
+The HBase backend for SeqWare Query Engine is based on the increasingly popular design paradigm that focuses on scalability at the expense of full ACID compliance, relational database schemas, and the Structured Query Language (SQL, as reflected in the name “NoSQL”). The result is that, while scalable to thousands of compute nodes, the overall operations permitted on the database are limited. Each records consists of a key and the value, which consists of one or more “column families” that are fixed at table creation time. Each column family can have many “labels” which can be added at any time, and each of these labels can have one or more “timestamps” (versions). For the query engine database, the genomic start position of each feature was used as the key while four column families served to represent the core data types: variants (SNVs, indels, SVs, and translocations), coverage, features (any location-based annotations on the genome), and coding consequences which link back to the variants entries they report on. The coverage object stores individual base coverages in a hash and covers a user-defined range of bases to minimize storage requirements for this data type. New column families can be added to the database to support new data types beyond those described here. Additional column family labels are created as new genomes are loaded into the database, and timestamps are used to distinguish variants in the same genome at identical locations. Figure 1 shows an example row with two genomes’ data loaded. This design was chosen because it meant identical variants in different genomes are stored within the same row, making comparisons between genomes extremely fast using MapReduce or similar simple, uniform operators (Figure 1a). The diagram also shows how secondary indexes are handled in the HBase backend (Figure 1b). Tags are a convenient mechanism to associate arbitrary key-value pairs with any variant object and support lookup for the object using the key (tag). When variants or other data types are written to the database, the persistence code identifies tags and adds them to a second table where the key is the tag plus variant ID and the value is the reference genomic table and location. This enables variants with certain tags to be identified without having to walk the entire contents of the main table.
+
+\subsection*{Datasets}
+
+Fourteen human genome datasets were chosen for loading into a common SeqWare Query Engine backend, see Table 1 for the complete list. Most datasets included just SNV, small indel, and a limited number of SV predictions. The U87MG human cancer cell line genome was used to test the load of large-scale, raw variant analysis data types. For this genome, SNVs, small indels, large deletions, translocation events, and base-by-base coverage were all loaded. For the SNV and small indels, any variant observed once or more in the underlying short read data were loaded, which resulted in large numbers of spurious variants (i.e. sequencing errors) being loaded in the database. This was done purposefully for two reasons: for this study, to facilitate stress testing the HBase backend, and for the U87MG sequencing project, to facilitate analysis algorithm development by given practical access to the greatest potential universe of candidate variants. In particular, the fast querying abilities of the SeqWare Query Engine enabled rapid heuristic tuning of the variant calling pipeline parameters, based on many cycles of filtering and assessment that in turn required extensive querying of this vary large U87MG candidate variant database.
+
+A secondary dataset generated in our lab, the “1102 GBM” tumor/normal whole genome sequence pair, was used to compare the performance between the BerkeleyDB and HBase Query Engine backend types. This dataset, like the U87MG genome, included loading raw variant calls seen once or more in both backends in order to profile the load and query mechanisms.
+
+\subsection*{Programmatic access}
+
+The SeqWare Query Engine provides a common database store interface that supports both the BerkleyDB and HBase backend types. This store object provides generic methods to read and write the full range of data types into and out of the underlying database. It handles the persistence and retrieval of keys and objects to and from the database using a flexible object mapping layer. Simple to write bindings are created when new data types are added to the database. The underlying schema-less nature of key/value stores like BerkeleyDB and HBase make this process very straightforward. The store also supports queries that lookup all variants and filter by specific fields, such as coverage or variant call p-value, and it can also query based on secondary indexes, typically a tag lookup (key-value pair). The underlying implementation for each store type (BerkeleyDB or HBase) is quite different but the generic store interface masks the difference from the various import and export tools available in the project. The store interface was used whenever possible in order to maximize the portability of the query engine and to make it possible to switch backends in the future.
+
+Two lower-level APIs are available for querying the HBase database directly. The first is the HBase API, which the store object uses for most of its operations including filtering variants by tags. This API is very similar to other database interfaces and lets the calling client iterate and filter result sets. HBase also support the use of a MapReduce source and sink, which allow for database traversal and load respectively. This was used to iterate over all variants in the database as quickly as possible and to perform basic analysis tasks such as variant type counting. The speed and flexibility of the MapReduce interface to HBase make it an attractive mechanism to implement future functionality.
+
+\subsection*{Web service access}
+
+The web service is built on top of the programmatic, generic store object and uses the Restlet Java API (http://www.restlet.org). This provides a RESTful \cite{fielding2000architectural} web service interface for the query methods available through the store. When loaded from a web browser, the web service uses XSLT and CSS to display a navigatable web interface with user-friendly web forms for searching the database. Queries on three data types are supported: variants, coding consequence reports, and per-base coverage. Variants can be searched by tag and also a wide variety of fields such as their depth of coverage. The tag field is used to store a variety of annotations and, in the U87MG database, this includes dbSNP status, mutational consequence predictions, and names of overlapping genes, among others. For the variant reports, the standard BED file type (http://genome.ucsc.edu/FAQ/FAQformat) is supported and users can alternatively select to load the query result directly in the UCSC browser, the IGV browser, or generate a list of non-redundant tags associated with the variant query results. Coverage information can be queried only by location, and the result can be generated in WIG format (http://genome.ucsc.edu/FAQ/FAQformat), WIG with coverage averaged by each block, or loadable links for the UCSC and IGV browsers.
+
+When queried programmatically, the web service returns XML result documents. These contain enough metadata to construct URLs accessible from a wide variety of programming languages which can then be used to return query results in standardized formats (BED, WIG, etc). Since every query is just a URL, they can be created from within a web browser using the user-friendly form fields and cut-and-pasted into another tool or script. These URLs can then be shared over email, linked to in a publication, and bookmarked for later use, thereby providing a convenient, stateless, and universally interpretable reference to the results.
+
+\subsection*{Data load tools}
+
+Most of the genome datasets used in this project where limited to SNV, indel, and SV predictions. For those genomes, the variant information files that were available were loaded into the query engine using either standard file type loaders (GFF, key-value files, etc) or using custom annotation file parsers. The pileup file format (produced by SAMtools \cite{li2009sequence}) was used to load both the U87MG and “1102 GBM” tumor/normal genome variants and coverage information. The variant loading tool supports a plugin interface so new annotation file types can be easily supported. This import tool is available in the query engine package and uses the generic store interface for loading information in database backend (see “Programmatic Access” for more information). The HBase store currently uses an API very similar to other database connection APIs, and is therefore not inherently parallel, although multiple loads can occur simultaneously.
+
+\subsection*{Analysis tools}
+
+Two prototype analysis tools were created for use with the U87MG and “1102 GBM” tumor/normal databases. First, a MapReduce variant query tool was written to directly compare the performance of the retrieval of variants from HBase using the API versus using MapReduce. This simple tool used the HBase TableInputFormat object and a MapReduce job to traverse all database rows. The second analysis tool created was a simple somatic mutation detector for use with the “1102 GBM” tumor/normal genome database. Again, the HBase TableInputFormat object was used to iterate over the variants from the tumor genome, evaluating each variant by user-specified quality criteria in the map step and identifying those that were present in the cancer but not in the normal. In the reduce phase the coverage at each putative somatic mutation location was checked and only those where the coverage was good and no normal sample variant was called where reported as putative somatic mutations.
+
+\subsection*{Performance measurement}
+
+Backend performance was measured for both the BerkeleyDB and HBase stores using both data import and export times as metrics. The “1102 GBM” tumor/normal genome was used in this testing, which included enough variant calls (both true and spurious) to stress test both backends. A single threaded, API-based approach was taken for the load test with both the BerkeleyDB and HBase backends. Each chromosome was loaded in turn and the time taken to import these variants into the database was recorded. A similar approach was taken for the retrieval test except in this case the BerkeleyDB backend continued to use an API approach whereas the HBase backend used both an API and MapReduced approach. The export test was interleaved with the import test, wherein after a chromosome was loaded the variants where exported and both processes were timed. In that way we monitored both the import and export time as a function of overall database size.
+
+The HBase tests were conducted on a 6 node HBase cluster where each node contained 8 2.4GHz Xeon CPUs, 24GB of RAM, and 6TB of hard drive space. Each node contained 16 map task slots and 4 reducer task slots. The BerkeleyDB tests were conducted on a single node, since it does not support server clustering, but with hardware identical to that used in the HBase tests.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Results and Discussion %%
+%%
+\section*{Results}
+
+\subsection*{U87MG genome database}
+
+For our original U87MG human genome cell line sequencing project, we created the SeqWare Query Engine database, first built on BerkeleyDB (http://www.oracle.com/technetwork/database/berkeleydb) and then later ported to HBase (http://hbase.apache.org). For the work presented here, the U87MG database was enhanced with the addition of the 13 other human genome datasets that were publicly available when this effort commenced. To further enhance the query engine, we also added new query strategies and utilities, such as a MapReduce-based variant search tool. Unlike the U87MG genome, which included all variant calls regardless of quality, the other genomes included only post quality filtered variants. Still, they offer a proof of concept that the HBase backend can represent multiple genomes worth of sequence variants and associated annotation data. This sample query engine is hosted at http://genome.ucla.edu/U87 and can be used for both programmatic and interactive queries through the web service interface. A database snapshot is not available for download (due to its large size) but all the source datasets are publicly available and the database can be reconstituted in another location using either the BerkeleyDB or HBase backends along with the provided query engine load tools.
+
+\subsection*{Performance}
+
+Figure 2 shows a comparison between the BerkeleyDB and HBase backends for both variant load and variant export functions. BerkeleyDB was chosen as the original backend for multiple reasons: it did not require a database daemon to run, it provided a key-value store similar to the distributed key-value NoSQL stores we intended to move towards, it had a well-designed API, and it was known to be widely used and robust. In the load tests both BerkeleyDB and HBase performed comparably (Figure 2a), with both tests using a single thread with a similar client API (rather than a MapReduce loader which would be possible only with HBase). BerkeleyDB is slightly faster until about 6 million (6M) variants are loaded but HBase is faster after that point and eventually takes about 15 minutes less to load all 7M variants in this test. The test for variant export had a significantly different outcome (Figure 2b). Both MapReduce and standard single-thread API retrieval of variants from HBase were extremely efficient, with the MapReduce exporter completing in 45 seconds and the single-thread in 386 seconds. This is in sharp contrast with the BerkeleyDB backend which took 6,281 seconds to export the 7M variant records. When the BerkeleyDB database reached approximately 3.5M variants the run time to export ballooned quickly. This was likely due to memory limitations on the single node serving the BerkeleyDB, resulted in greatly degraded query performance once the index could no longer fit in memory. In contrast, the HBase cluster nodes were each responsible for storing and querying only a fraction of the data and this data sharding resulting in much more robust query performance. Rather than making a statement about the inherent merits of the database systems themselves, this results underscores the point that the distributed HBase/Hadoop implementation (in this case spread across 6 nodes) has clear scalability advantages compared to daemons or processes like BerkeleyDB that are limited to a single server.
+
+\subsection*{Software availability}
+
+The SeqWare Query Engine is a sub-project of the SeqWare toolset for next generation sequence analysis. SeqWare includes a LIMS, pipeline based on Pegasus \cite{deelman2005pegasus}, and metadata schema in addition to the query engine. Like the rest of the SeqWare project, SeqWare Query Engine is fully open source and is distributed under the terms of the GNU General Public License v3 (http://www.gnu.org/licenses/licenses.html). The software can be downloaded from version control on the project’s SourceForge.net site (http://seqware.sourceforge.net). Visitors to the site can also post questions on the mailing list, view documentation on wiki pages, and download a pre-configured SeqWare Pipeline and Query Engine as a virtual machine, suitable for running in a wide array of environments. The present authors are very interested in working with other developers on this project and welcome any contributions.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Results and Discussion %%
+%%
+\section*{Discussion}
+
+Recent innovations from search-oriented companies such as Google, Yahoo, Facebook, and LinkedIn provide compelling technologies that could potentially enable computation on petascale sequence data. Projects such as Hadoop and HBase, open source implementations of Google’s MapReduce framework \cite{dean2008mapreduce} and BigTable database \cite{chang2008bigtable} respectively, can be converted to powerful frameworks for analyzing next generation sequencing data. For example, MapReduce is based on a functional programming style where the basic methods available to perform analysis are a map phase, where data is transformed from one form to another, and a reduce phase, where data is sorted and condensed. This fits well to fundamental sequence analysis computations such as alignment and variant calling. Already there are versions of analysis algorithms such as Crossbow (alignment, \cite{langmead2009searching}) and GATK (variant calling and other tools, \cite{mckenna2010genome}) that make use of the MapReduce paradigm. The approach is not fundamentally different from other functional programming languages that have come before, but in this case the approach is combined in Hadoop with both a distributed filesystem (HDFS) and tightly coupled execution engine. These tools, in turn, form the basis of the HBase database system. Unlike traditional grid technologies—for example a sun grid engine computation cluster—the Hadoop environment automatically partitions large data files across the underlying cluster, and computations can then be distributed across the individual data pieces without requiring the analysis program to know where the data resides, or manage such information. The HBase database system—one of the most mature of the NoSQL database projects—takes advantage of this sharding feature and allows a database to be broken into distinct pieces across the underlying computer cluster. This enables the creation of much larger databases than can be supported in traditional relational implementations which are constrained to run on a single database server, up to the scale of billions of rows (e.g. bases in a genome) and millions of columns (e.g. individual genomes). This is considerably larger than most database systems typically support, but is the correct scale needed to represent heavily annotated whole genome sequence data for future large scale biomedical research studies and clinical deployment to the broadest patient populations.
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+\section*{Conclusions}
+
+Here we have introduced the open source SeqWare Query Engine that uses an HBase backend and the MapReduce/Hadoop infrastructure to provide robust databasing of sequence data types for the SeqWare project. The results show the scaling benefits that result from these highly distributable technologies even when creating a database of genomic variants for just 14 human genome datasets. The basic database functions, such as importing and exporting, are one to two orders of magnitude faster with HBase compared to BerkelyDB. Moreover, the highly nonlinear improvement in scaling is readily demonstrated at the critical point where the standard database server becomes saturated, whereas the HBase server maintains a proper distributed load as the data burden is increased. This fully cloud-oriented database framework is ideal for the creation of whole genome sequence/variant databases. It is capable of supporting large scale genome sequencing research projects involving hundreds to thousands of genomes as well as future large scale clinical deployments utilizing advanced sequencer technology that will soon involve tens to hundreds of thousands of genomes.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{List of abbreviations}
+
+\begin{description}
+\item[ACID] atomicity, consistency, isolation, and durability
+\item[API] Application Programming Interface
+\item[BED] Browser Extensible Data (encodes variants)
+\item[ChIP-Seq] Chromatin Immunoprecipitation sequencing
+\item[CSS] Cascading Style Sheets
+\item[GATK] Genome Analysis Toolkit
+\item[GBM] Glioblastoma Multiforme
+\item[GFF] General Feature Format (encodes genomic features)
+\item[HDFS] Hadoop Distributed File System
+\item[IGV] Integrative Genomics Viewer
+\item[indel] small (typically $<$10bp) insertion or deletion
+\item[REST] Representational State Transfer
+\item[RNA-Seq] RNA sequencing
+\item[SNP] Single Nucleotide Polymorphism
+\item[SNV] Single Nucleotide Variant
+\item[SQL] Structured Query Language
+\item[SV] Structural Variants
+\item[TCGA] the Cancer Genome Atlas
+\item[URL] Uniform Resource Locator
+\item[VCF] Variant Call Format
+\item[XML] Extensible Markup Language
+\item[XSLT] XSL Transformations
+\end{description}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Competing interests}
+
+The authors have declared no competing interests.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Authors' contributions}
+
+BDO designed and implemented the SeqWare Query Engine. BM provided guidance on project goals, applications, selection of annotation databases, and choice of analysis algorithms used. SFN is the principal investigator for the U87MG genome sequencing project which supported the development of the SeqWare project including the query engine.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\section*{Acknowledgments}
+\ifthenelse{\boolean{publ}}{\small}{}
+This work was supported by grants from the NINDS (U24NS), the Dani Saleh Brain Tumor Fund, and the Henry Singleton Brain Tumor Fund. The authors would like to acknowledge Jordan Mendler for his contributions to the SeqWare Pipeline project and Hane Lee for her feedback on the SeqWare Query Engine tools.
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% The Bibliography %%
+%% %%
+%% Bmc_article.bst will be used to %%
+%% create a .BBL file for submission, which includes %%
+%% XML structured for BMC. %%
+%% %%
+%% %%
+%% Note that the displayed Bibliography will not %%
+%% necessarily be rendered by Latex exactly as specified %%
+%% in the online Instructions for Authors. %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+{\ifthenelse{\boolean{publ}}{\footnotesize}{\small}
+ \bibliographystyle{bmc_article} % Style BST file
+ \bibliography{bmc_article} } % Bibliography file (usually '*.bib' )
+
+%%%%%%%%%%%
+
+\ifthenelse{\boolean{publ}}{\end{multicols}}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Figures %%
+%% %%
+%% NB: this is for captions and %%
+%% Titles. All graphics must be %%
+%% submitted separately and NOT %%
+%% included in the Tex document %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%
+%% Do not use \listoffigures as most will included as separate files
+
+\section*{Figures}
+
+ \subsection*{Figure 1 - SeqWare Query Engine schema}
+ The HBase database is a generic key-value, column oriented database that pairs well with the inherent sparse matrix nature of variant annotations. (a) The primary table stores multiple genomes worth of generic features, variants, coverages, and variant consequences using genomic location within a particular reference genome as the key. Each genome is represented by a particular column family label (such as “variant:genome7”). For locations with more than one called variant the HBase timestamp is used to distinguish each. (b) Secondary indexing is accomplished using a secondary table per genome indexed. The key is the tag being indexed plus the ID of the object of interest, the value is the row key for the original table. This makes lookup by secondary indexes, “tags” for example, possible without having to iterate over all contents of the primary table.
+
+ \subsection*{Figure 2 - Load and query performance}
+ Comparisons of load and query times between the HBase and BerkeleyDB backend. (a) Load times for the “1102 GBM” tumor/normal genomes where compared between HBase and BerkeleyDB. Both used a single-threaded approach to better compare relative performance. Both perform similarly but over time the load times for BerkeleyDB increase faster than with HBase. (b) Comparison of querying the 1102 genome database between BerkeleyDB, HBase single threaded, and HBase using MapReduce. Beyond 3M variants BerkeleyDB query times increase dramatically while both query types for HBase perform linearly, with MapReduce consistently exhibiting the best performance.
+
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Tables %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%% Use of \listoftables is discouraged.
+%%
+\section*{Tables}
+ \subsection*{Table 1 - Datasets}
+ Fourteen whole genome datasets were loaded into the database, including the U87MG genome, with the March 2006 assembly of the human genome
+ used as reference (NCBI36/hg18). Variant types (SNVs, small/large indels, SVs, etc) loaded and publication references are noted for each
+ respective dataset. This table was adapted from Snyder \emph{et al.} 2010. \par \mbox{}
+ \par
+ \mbox{
+ \begin{tabular}{|c|c|c|c|c|c|c|}
+ \hline
+ \textbf{Dataset} & \textbf{Technology} & \textbf{SNVs \& Indels} & \textbf{SV} & \textbf{Translocations} & \textbf{Reference} \\ \hline
+ European-Venter & Sanger & Y & Y & N & Levy \emph{et al.} 2007 \cite{levy2007diploid} \\ \hline
+ European-Watson & 454 & Y & Y & N & Wheeler \emph{et al.} 2008 \cite{wheeler2008complete} \\ \hline
+ European-Quake & Helicos & Y & Y & N & Pushkarev \emph{et al.} 2009 \cite{pushkarev2009single} \\ \hline
+ Asian & Illumina & Y & Y & N & Wang \emph{et al.} 2008 \cite{wang2008diploid} \\ \hline
+ Yoruban 18507 & Illumina & Y & Y & N & Bentley \emph{et al.} 2008 \cite{bentley2008accurate} \\ \hline
+ Yoruban 18507 & SOLiD & Y & Y & N & McKernan \emph{et al.} 2009 \cite{mckernan2009sequence} \\ \hline
+ Korean & Illumina & Y & Y & N & Ahn \emph{et al.} 2009 \cite{ahn2009first} \\ \hline
+ Korean-AKI & Illumina & Y & Y & N & Kim \emph{et al.} 2009 \cite{kim2009highly} \\ \hline
+ 3 human genomes & Complete Genomics & Y & Y & N & Drmanac \emph{et al.} 2009 \cite{drmanac2010human} \\ \hline
+ AML T/N & Illumina & Y & Y & N & Ley \emph{et al.} 2008 \cite{ley2008dna} \\ \hline
+ AML genome & Illumina & Y & Y & N & Mardis \emph{et al.} 2009 \cite{mardis2009recurring} \\ \hline
+ Melanoma & Illumina & Y & Y & N & Pleasance \emph{et al.} 2010 \cite{pleasance2010comprehensive} \\ \hline
+ Lung cancer & SOLiD & Y & Y & N & Pleasance \emph{et al.} 2010 \cite{pleasance2010small} \\ \hline
+ U87MG & SOLiD & Y & Y & Y & Clark \emph{et al.} 2010 \cite{clark2010u87mg} \\ \hline
+ \end{tabular}
+ }
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Additional Files %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%\section*{Additional Files}
+% \subsection*{Additional file 1 --- Sample additional file title}
+% Additional file descriptions text (including details of how to
+% view the file, if it is in a non-standard format or the file extension). This might
+% refer to a multi-page table or a figure.
+%
+% \subsection*{Additional file 2 --- Sample additional file title}
+% Additional file descriptions text.
+
+
+\end{bmcformat}
+\end{document}
+
+
+
+
+
+
+
diff --git a/seqware-publications/seqware-queryengine/figures/figure_1.odg b/seqware-publications/seqware-queryengine/figures/figure_1.odg
new file mode 100644
index 000000000..1119c3d2b
Binary files /dev/null and b/seqware-publications/seqware-queryengine/figures/figure_1.odg differ
diff --git a/seqware-publications/seqware-queryengine/figures/figure_2.odg b/seqware-publications/seqware-queryengine/figures/figure_2.odg
new file mode 100644
index 000000000..96f74b339
Binary files /dev/null and b/seqware-publications/seqware-queryengine/figures/figure_2.odg differ
diff --git a/seqware-publications/seqware-queryengine/figures/load.ods b/seqware-publications/seqware-queryengine/figures/load.ods
new file mode 100755
index 000000000..1b78295ff
Binary files /dev/null and b/seqware-publications/seqware-queryengine/figures/load.ods differ