bio 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/bioruby +14 -122
- data/bin/br_biofetch.rb +2 -2
- data/bin/br_bioflat.rb +2 -2
- data/bin/br_biogetseq.rb +2 -2
- data/bin/br_pmfetch.rb +3 -3
- data/doc/Changes-0.7.rd +77 -0
- data/doc/KEGG_API.rd +523 -232
- data/doc/KEGG_API.rd.ja +529 -207
- data/doc/Tutorial.rd +48 -11
- data/lib/bio.rb +59 -6
- data/lib/bio/alignment.rb +713 -103
- data/lib/bio/appl/bl2seq/report.rb +2 -18
- data/lib/bio/appl/blast.rb +108 -91
- data/lib/bio/appl/blast/format0.rb +33 -18
- data/lib/bio/appl/blast/format8.rb +6 -20
- data/lib/bio/appl/blast/report.rb +293 -429
- data/lib/bio/appl/blast/rexml.rb +8 -22
- data/lib/bio/appl/blast/wublast.rb +21 -12
- data/lib/bio/appl/blast/xmlparser.rb +180 -183
- data/lib/bio/appl/blat/report.rb +127 -30
- data/lib/bio/appl/clustalw.rb +87 -59
- data/lib/bio/appl/clustalw/report.rb +20 -22
- data/lib/bio/appl/emboss.rb +113 -20
- data/lib/bio/appl/fasta.rb +173 -198
- data/lib/bio/appl/fasta/format10.rb +244 -347
- data/lib/bio/appl/gcg/msf.rb +212 -0
- data/lib/bio/appl/gcg/seq.rb +195 -0
- data/lib/bio/appl/genscan/report.rb +5 -23
- data/lib/bio/appl/hmmer.rb +8 -45
- data/lib/bio/appl/hmmer/report.rb +2 -20
- data/lib/bio/appl/iprscan/report.rb +374 -0
- data/lib/bio/appl/mafft.rb +87 -50
- data/lib/bio/appl/mafft/report.rb +151 -44
- data/lib/bio/appl/muscle.rb +52 -0
- data/lib/bio/appl/phylip/alignment.rb +129 -0
- data/lib/bio/appl/phylip/distance_matrix.rb +96 -0
- data/lib/bio/appl/probcons.rb +41 -0
- data/lib/bio/appl/psort.rb +89 -96
- data/lib/bio/appl/psort/report.rb +6 -22
- data/lib/bio/appl/pts1.rb +263 -0
- data/lib/bio/appl/sim4.rb +26 -36
- data/lib/bio/appl/sim4/report.rb +2 -18
- data/lib/bio/appl/sosui/report.rb +5 -20
- data/lib/bio/appl/spidey/report.rb +2 -2
- data/lib/bio/appl/targetp/report.rb +4 -20
- data/lib/bio/appl/tcoffee.rb +55 -0
- data/lib/bio/appl/tmhmm/report.rb +4 -20
- data/lib/bio/command.rb +235 -64
- data/lib/bio/data/aa.rb +21 -26
- data/lib/bio/data/codontable.rb +2 -20
- data/lib/bio/data/na.rb +19 -4
- data/lib/bio/db.rb +27 -12
- data/lib/bio/db/aaindex.rb +2 -20
- data/lib/bio/db/embl/common.rb +4 -21
- data/lib/bio/db/embl/embl.rb +33 -85
- data/lib/bio/db/embl/sptr.rb +612 -302
- data/lib/bio/db/embl/swissprot.rb +10 -29
- data/lib/bio/db/embl/trembl.rb +10 -29
- data/lib/bio/db/embl/uniprot.rb +10 -29
- data/lib/bio/db/fantom.rb +15 -20
- data/lib/bio/db/fasta.rb +3 -3
- data/lib/bio/db/genbank/common.rb +37 -46
- data/lib/bio/db/genbank/ddbj.rb +6 -18
- data/lib/bio/db/genbank/genbank.rb +47 -186
- data/lib/bio/db/genbank/genpept.rb +4 -17
- data/lib/bio/db/genbank/refseq.rb +4 -17
- data/lib/bio/db/gff.rb +103 -35
- data/lib/bio/db/go.rb +4 -20
- data/lib/bio/db/kegg/brite.rb +26 -36
- data/lib/bio/db/kegg/compound.rb +81 -85
- data/lib/bio/db/kegg/drug.rb +98 -0
- data/lib/bio/db/kegg/enzyme.rb +133 -110
- data/lib/bio/db/kegg/expression.rb +2 -20
- data/lib/bio/db/kegg/genes.rb +208 -238
- data/lib/bio/db/kegg/genome.rb +164 -285
- data/lib/bio/db/kegg/glycan.rb +114 -157
- data/lib/bio/db/kegg/keggtab.rb +242 -303
- data/lib/bio/db/kegg/kgml.rb +117 -160
- data/lib/bio/db/kegg/orthology.rb +112 -0
- data/lib/bio/db/kegg/reaction.rb +54 -69
- data/lib/bio/db/kegg/taxonomy.rb +331 -0
- data/lib/bio/db/lasergene.rb +209 -0
- data/lib/bio/db/litdb.rb +3 -27
- data/lib/bio/db/medline.rb +228 -249
- data/lib/bio/db/nbrf.rb +3 -3
- data/lib/bio/db/newick.rb +510 -0
- data/lib/bio/db/nexus.rb +1854 -0
- data/lib/bio/db/pdb.rb +5 -17
- data/lib/bio/db/pdb/atom.rb +2 -18
- data/lib/bio/db/pdb/chain.rb +2 -18
- data/lib/bio/db/pdb/chemicalcomponent.rb +2 -18
- data/lib/bio/db/pdb/model.rb +2 -18
- data/lib/bio/db/pdb/pdb.rb +73 -34
- data/lib/bio/db/pdb/residue.rb +4 -20
- data/lib/bio/db/pdb/utils.rb +2 -18
- data/lib/bio/db/prosite.rb +403 -422
- data/lib/bio/db/rebase.rb +84 -40
- data/lib/bio/db/soft.rb +404 -0
- data/lib/bio/db/transfac.rb +5 -17
- data/lib/bio/feature.rb +106 -52
- data/lib/bio/io/das.rb +32 -42
- data/lib/bio/io/dbget.rb +2 -20
- data/lib/bio/io/ddbjxml.rb +77 -138
- data/lib/bio/io/ebisoap.rb +158 -0
- data/lib/bio/io/ensembl.rb +229 -0
- data/lib/bio/io/fastacmd.rb +89 -82
- data/lib/bio/io/fetch.rb +163 -96
- data/lib/bio/io/flatfile.rb +170 -73
- data/lib/bio/io/flatfile/bdb.rb +3 -16
- data/lib/bio/io/flatfile/index.rb +2 -2
- data/lib/bio/io/flatfile/indexer.rb +3 -2
- data/lib/bio/io/higet.rb +12 -31
- data/lib/bio/io/keggapi.rb +210 -269
- data/lib/bio/io/ncbisoap.rb +155 -0
- data/lib/bio/io/pubmed.rb +169 -147
- data/lib/bio/io/registry.rb +4 -20
- data/lib/bio/io/soapwsdl.rb +43 -38
- data/lib/bio/io/sql.rb +242 -305
- data/lib/bio/location.rb +407 -285
- data/lib/bio/map.rb +410 -0
- data/lib/bio/pathway.rb +558 -695
- data/lib/bio/reference.rb +272 -75
- data/lib/bio/sequence.rb +255 -13
- data/lib/bio/sequence/aa.rb +71 -10
- data/lib/bio/sequence/common.rb +187 -33
- data/lib/bio/sequence/compat.rb +59 -4
- data/lib/bio/sequence/format.rb +54 -7
- data/lib/bio/sequence/generic.rb +3 -3
- data/lib/bio/sequence/na.rb +328 -26
- data/lib/bio/shell.rb +11 -4
- data/lib/bio/shell/core.rb +221 -160
- data/lib/bio/shell/demo.rb +18 -15
- data/lib/bio/shell/interface.rb +14 -12
- data/lib/bio/shell/irb.rb +95 -0
- data/lib/bio/shell/object.rb +45 -26
- data/lib/bio/shell/plugin/blast.rb +42 -0
- data/lib/bio/shell/plugin/codon.rb +22 -14
- data/lib/bio/shell/plugin/das.rb +58 -0
- data/lib/bio/shell/plugin/emboss.rb +2 -2
- data/lib/bio/shell/plugin/entry.rb +22 -11
- data/lib/bio/shell/plugin/flatfile.rb +2 -2
- data/lib/bio/shell/plugin/keggapi.rb +13 -6
- data/lib/bio/shell/plugin/midi.rb +4 -4
- data/lib/bio/shell/plugin/obda.rb +2 -2
- data/lib/bio/shell/plugin/psort.rb +56 -0
- data/lib/bio/shell/plugin/seq.rb +35 -8
- data/lib/bio/shell/plugin/soap.rb +87 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/bioruby_generator.rb +29 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_classes.rhtml +4 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_log.rhtml +27 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_methods.rhtml +11 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_modules.rhtml +4 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/_variables.rhtml +7 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-bg.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-console.png +0 -0
- data/lib/bio/shell/rails/{public/images/icon.png → vendor/plugins/generators/bioruby/templates/bioruby-gem.png} +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby-link.gif +0 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.css +369 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby.rhtml +47 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_controller.rb +144 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/bioruby_helper.rb +47 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/commands.rhtml +8 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/history.rhtml +10 -0
- data/lib/bio/shell/rails/vendor/plugins/generators/bioruby/templates/index.rhtml +22 -0
- data/lib/bio/shell/script.rb +25 -0
- data/lib/bio/shell/setup.rb +109 -0
- data/lib/bio/shell/web.rb +70 -58
- data/lib/bio/tree.rb +850 -0
- data/lib/bio/util/color_scheme.rb +84 -107
- data/lib/bio/util/color_scheme/buried.rb +5 -24
- data/lib/bio/util/color_scheme/helix.rb +5 -24
- data/lib/bio/util/color_scheme/hydropathy.rb +5 -24
- data/lib/bio/util/color_scheme/nucleotide.rb +5 -24
- data/lib/bio/util/color_scheme/strand.rb +5 -24
- data/lib/bio/util/color_scheme/taylor.rb +5 -24
- data/lib/bio/util/color_scheme/turn.rb +5 -24
- data/lib/bio/util/color_scheme/zappo.rb +5 -24
- data/lib/bio/util/contingency_table.rb +70 -43
- data/lib/bio/util/restriction_enzyme.rb +228 -0
- data/lib/bio/util/restriction_enzyme/analysis.rb +249 -0
- data/lib/bio/util/restriction_enzyme/analysis_basic.rb +217 -0
- data/lib/bio/util/restriction_enzyme/cut_symbol.rb +107 -0
- data/lib/bio/util/restriction_enzyme/double_stranded.rb +321 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/aligned_strands.rb +130 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair.rb +103 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_location_pair_in_enzyme_notation.rb +38 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations.rb +76 -0
- data/lib/bio/util/restriction_enzyme/double_stranded/cut_locations_in_enzyme_notation.rb +107 -0
- data/lib/bio/util/restriction_enzyme/enzymes.yaml +7061 -0
- data/lib/bio/util/restriction_enzyme/range/cut_range.rb +24 -0
- data/lib/bio/util/restriction_enzyme/range/cut_ranges.rb +47 -0
- data/lib/bio/util/restriction_enzyme/range/horizontal_cut_range.rb +67 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range.rb +257 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/calculated_cuts.rb +242 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/fragment.rb +51 -0
- data/lib/bio/util/restriction_enzyme/range/sequence_range/fragments.rb +41 -0
- data/lib/bio/util/restriction_enzyme/range/vertical_cut_range.rb +77 -0
- data/lib/bio/util/restriction_enzyme/single_strand.rb +199 -0
- data/lib/bio/util/restriction_enzyme/single_strand/cut_locations_in_enzyme_notation.rb +135 -0
- data/lib/bio/util/restriction_enzyme/single_strand_complement.rb +23 -0
- data/lib/bio/util/restriction_enzyme/string_formatting.rb +111 -0
- data/lib/bio/util/sirna.rb +4 -22
- data/sample/color_scheme_na.rb +4 -12
- data/sample/enzymes.rb +78 -0
- data/sample/goslim.rb +5 -13
- data/sample/psortplot_html.rb +4 -12
- data/test/data/blast/2.2.15.blastp.m7 +876 -0
- data/test/data/embl/AB090716.embl.rel89 +63 -0
- data/test/data/fasta/example1.txt +75 -0
- data/test/data/fasta/example2.txt +21 -0
- data/test/data/iprscan/merged.raw +32 -0
- data/test/data/iprscan/merged.txt +74 -0
- data/test/data/soft/GDS100_partial.soft +92 -0
- data/test/data/soft/GSE3457_family_partial.soft +874 -0
- data/test/functional/bio/io/test_ensembl.rb +103 -0
- data/test/functional/bio/io/test_soapwsdl.rb +5 -17
- data/test/unit/bio/appl/bl2seq/test_report.rb +2 -2
- data/test/unit/bio/appl/blast/test_report.rb +3 -16
- data/test/unit/bio/appl/blast/test_xmlparser.rb +4 -16
- data/test/unit/bio/appl/genscan/test_report.rb +3 -16
- data/test/unit/bio/appl/hmmer/test_report.rb +3 -16
- data/test/unit/bio/appl/iprscan/test_report.rb +338 -0
- data/test/unit/bio/appl/mafft/test_report.rb +63 -0
- data/test/unit/bio/appl/sosui/test_report.rb +3 -16
- data/test/unit/bio/appl/targetp/test_report.rb +3 -16
- data/test/unit/bio/appl/test_blast.rb +3 -16
- data/test/unit/bio/appl/test_fasta.rb +4 -16
- data/test/unit/bio/appl/test_pts1.rb +140 -0
- data/test/unit/bio/appl/tmhmm/test_report.rb +3 -16
- data/test/unit/bio/data/test_aa.rb +4 -17
- data/test/unit/bio/data/test_codontable.rb +3 -16
- data/test/unit/bio/data/test_na.rb +3 -3
- data/test/unit/bio/db/embl/test_common.rb +3 -16
- data/test/unit/bio/db/embl/test_embl.rb +3 -16
- data/test/unit/bio/db/embl/test_embl_rel89.rb +219 -0
- data/test/unit/bio/db/embl/test_sptr.rb +1548 -41
- data/test/unit/bio/db/embl/test_uniprot.rb +3 -16
- data/test/unit/bio/db/kegg/test_genes.rb +3 -16
- data/test/unit/bio/db/pdb/test_pdb.rb +7 -24
- data/test/unit/bio/db/test_aaindex.rb +2 -2
- data/test/unit/bio/db/test_fasta.rb +3 -16
- data/test/unit/bio/db/test_gff.rb +3 -16
- data/test/unit/bio/db/test_lasergene.rb +95 -0
- data/test/unit/bio/db/test_newick.rb +56 -0
- data/test/unit/bio/db/test_nexus.rb +360 -0
- data/test/unit/bio/db/test_prosite.rb +5 -18
- data/test/unit/bio/db/test_rebase.rb +11 -25
- data/test/unit/bio/db/test_soft.rb +138 -0
- data/test/unit/bio/io/test_ddbjxml.rb +5 -17
- data/test/unit/bio/io/test_ensembl.rb +109 -0
- data/test/unit/bio/io/test_fastacmd.rb +3 -16
- data/test/unit/bio/io/test_flatfile.rb +237 -0
- data/test/unit/bio/io/test_soapwsdl.rb +4 -17
- data/test/unit/bio/sequence/test_aa.rb +3 -3
- data/test/unit/bio/sequence/test_common.rb +3 -16
- data/test/unit/bio/sequence/test_compat.rb +3 -16
- data/test/unit/bio/sequence/test_na.rb +29 -3
- data/test/unit/bio/shell/plugin/test_seq.rb +8 -8
- data/test/unit/bio/test_alignment.rb +16 -27
- data/test/unit/bio/test_command.rb +242 -25
- data/test/unit/bio/test_db.rb +3 -16
- data/test/unit/bio/test_feature.rb +4 -16
- data/test/unit/bio/test_location.rb +4 -16
- data/test/unit/bio/test_map.rb +230 -0
- data/test/unit/bio/test_pathway.rb +4 -16
- data/test/unit/bio/test_reference.rb +2 -2
- data/test/unit/bio/test_sequence.rb +7 -19
- data/test/unit/bio/test_shell.rb +3 -16
- data/test/unit/bio/test_tree.rb +593 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +299 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +103 -0
- data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +240 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +100 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +75 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +73 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +53 -0
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +104 -0
- data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +83 -0
- data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +246 -0
- data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +44 -0
- data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +115 -0
- data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +147 -0
- data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +147 -0
- data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +60 -0
- data/test/unit/bio/util/test_color_scheme.rb +6 -18
- data/test/unit/bio/util/test_contingency_table.rb +6 -18
- data/test/unit/bio/util/test_restriction_enzyme.rb +42 -0
- data/test/unit/bio/util/test_sirna.rb +3 -16
- metadata +228 -169
- data/doc/BioRuby.rd.ja +0 -225
- data/doc/Design.rd.ja +0 -341
- data/doc/TODO.rd.ja +0 -138
- data/lib/bio/appl/fasta/format6.rb +0 -37
- data/lib/bio/db/kegg/cell.rb +0 -88
- data/lib/bio/db/kegg/ko.rb +0 -178
- data/lib/bio/shell/rails/Rakefile +0 -10
- data/lib/bio/shell/rails/app/controllers/application.rb +0 -4
- data/lib/bio/shell/rails/app/controllers/shell_controller.rb +0 -94
- data/lib/bio/shell/rails/app/helpers/application_helper.rb +0 -3
- data/lib/bio/shell/rails/app/models/shell_connection.rb +0 -30
- data/lib/bio/shell/rails/app/views/layouts/shell.rhtml +0 -37
- data/lib/bio/shell/rails/app/views/shell/history.rhtml +0 -5
- data/lib/bio/shell/rails/app/views/shell/index.rhtml +0 -2
- data/lib/bio/shell/rails/app/views/shell/show.rhtml +0 -13
- data/lib/bio/shell/rails/config/boot.rb +0 -19
- data/lib/bio/shell/rails/config/database.yml +0 -85
- data/lib/bio/shell/rails/config/environment.rb +0 -53
- data/lib/bio/shell/rails/config/environments/development.rb +0 -19
- data/lib/bio/shell/rails/config/environments/production.rb +0 -19
- data/lib/bio/shell/rails/config/environments/test.rb +0 -19
- data/lib/bio/shell/rails/config/routes.rb +0 -19
- data/lib/bio/shell/rails/doc/README_FOR_APP +0 -2
- data/lib/bio/shell/rails/public/404.html +0 -8
- data/lib/bio/shell/rails/public/500.html +0 -8
- data/lib/bio/shell/rails/public/dispatch.cgi +0 -10
- data/lib/bio/shell/rails/public/dispatch.fcgi +0 -24
- data/lib/bio/shell/rails/public/dispatch.rb +0 -10
- data/lib/bio/shell/rails/public/favicon.ico +0 -0
- data/lib/bio/shell/rails/public/images/rails.png +0 -0
- data/lib/bio/shell/rails/public/index.html +0 -277
- data/lib/bio/shell/rails/public/javascripts/controls.js +0 -750
- data/lib/bio/shell/rails/public/javascripts/dragdrop.js +0 -584
- data/lib/bio/shell/rails/public/javascripts/effects.js +0 -854
- data/lib/bio/shell/rails/public/javascripts/prototype.js +0 -1785
- data/lib/bio/shell/rails/public/robots.txt +0 -1
- data/lib/bio/shell/rails/public/stylesheets/main.css +0 -187
- data/lib/bio/shell/rails/script/about +0 -3
- data/lib/bio/shell/rails/script/breakpointer +0 -3
- data/lib/bio/shell/rails/script/console +0 -3
- data/lib/bio/shell/rails/script/destroy +0 -3
- data/lib/bio/shell/rails/script/generate +0 -3
- data/lib/bio/shell/rails/script/performance/benchmarker +0 -3
- data/lib/bio/shell/rails/script/performance/profiler +0 -3
- data/lib/bio/shell/rails/script/plugin +0 -3
- data/lib/bio/shell/rails/script/process/reaper +0 -3
- data/lib/bio/shell/rails/script/process/spawner +0 -3
- data/lib/bio/shell/rails/script/process/spinner +0 -3
- data/lib/bio/shell/rails/script/runner +0 -3
- data/lib/bio/shell/rails/script/server +0 -42
- data/lib/bio/shell/rails/test/test_helper.rb +0 -28
data/lib/bio/reference.rb
CHANGED
|
@@ -1,46 +1,21 @@
|
|
|
1
1
|
#
|
|
2
2
|
# = bio/reference.rb - Journal reference classes
|
|
3
3
|
#
|
|
4
|
-
# Copyright:: Copyright (C) 2001
|
|
5
|
-
#
|
|
6
|
-
#
|
|
4
|
+
# Copyright:: Copyright (C) 2001, 2006
|
|
5
|
+
# Toshiaki Katayama <k@bioruby.org>,
|
|
6
|
+
# Ryan Raaum <ryan@raaum.org>
|
|
7
|
+
# License:: The Ruby License
|
|
7
8
|
#
|
|
8
|
-
# $Id: reference.rb,v 1.
|
|
9
|
-
#
|
|
10
|
-
# == Description
|
|
11
|
-
#
|
|
12
|
-
# Journal reference classes.
|
|
13
|
-
#
|
|
14
|
-
# == Examples
|
|
15
|
-
#
|
|
16
|
-
# == References
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#--
|
|
21
|
-
#
|
|
22
|
-
# This library is free software; you can redistribute it and/or
|
|
23
|
-
# modify it under the terms of the GNU Lesser General Public
|
|
24
|
-
# License as published by the Free Software Foundation; either
|
|
25
|
-
# version 2 of the License, or (at your option) any later version.
|
|
26
|
-
#
|
|
27
|
-
# This library is distributed in the hope that it will be useful,
|
|
28
|
-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
29
|
-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
30
|
-
# Lesser General Public License for more details.
|
|
31
|
-
#
|
|
32
|
-
# You should have received a copy of the GNU Lesser General Public
|
|
33
|
-
# License along with this library; if not, write to the Free Software
|
|
34
|
-
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
35
|
-
#
|
|
36
|
-
#++
|
|
9
|
+
# $Id: reference.rb,v 1.24 2007/04/05 23:35:39 trevor Exp $
|
|
37
10
|
#
|
|
38
11
|
|
|
39
12
|
module Bio
|
|
40
13
|
|
|
14
|
+
# = DESCRIPTION
|
|
15
|
+
#
|
|
41
16
|
# A class for journal reference information.
|
|
42
17
|
#
|
|
43
|
-
#
|
|
18
|
+
# = USAGE
|
|
44
19
|
#
|
|
45
20
|
# hash = {'authors' => [ "Hoge, J.P.", "Fuga, F.B." ],
|
|
46
21
|
# 'title' => "Title of the study.",
|
|
@@ -68,34 +43,34 @@ module Bio
|
|
|
68
43
|
# Author names in an Array, [ "Hoge, J.P.", "Fuga, F.B." ].
|
|
69
44
|
attr_reader :authors
|
|
70
45
|
|
|
71
|
-
#
|
|
46
|
+
# String with title of the study
|
|
72
47
|
attr_reader :title
|
|
73
48
|
|
|
74
|
-
#
|
|
49
|
+
# String with journal name
|
|
75
50
|
attr_reader :journal
|
|
76
51
|
|
|
77
|
-
#
|
|
52
|
+
# volume number (typically Fixnum)
|
|
78
53
|
attr_reader :volume
|
|
79
54
|
|
|
80
|
-
#
|
|
55
|
+
# issue number (typically Fixnum)
|
|
81
56
|
attr_reader :issue
|
|
82
57
|
|
|
83
|
-
# "123-145"
|
|
58
|
+
# page range (typically String, e.g. "123-145")
|
|
84
59
|
attr_reader :pages
|
|
85
60
|
|
|
86
|
-
#
|
|
61
|
+
# year of publication (typically Fixnum)
|
|
87
62
|
attr_reader :year
|
|
88
63
|
|
|
89
|
-
#
|
|
64
|
+
# pubmed identifier (typically Fixnum)
|
|
90
65
|
attr_reader :pubmed
|
|
91
66
|
|
|
92
|
-
#
|
|
67
|
+
# medline identifier (typically Fixnum)
|
|
93
68
|
attr_reader :medline
|
|
94
69
|
|
|
95
|
-
# Abstract
|
|
70
|
+
# Abstract text in String.
|
|
96
71
|
attr_reader :abstract
|
|
97
72
|
|
|
98
|
-
#
|
|
73
|
+
# An URL String.
|
|
99
74
|
attr_reader :url
|
|
100
75
|
|
|
101
76
|
# MeSH terms in an Array.
|
|
@@ -104,7 +79,42 @@ module Bio
|
|
|
104
79
|
# Affiliations in an Array.
|
|
105
80
|
attr_reader :affiliations
|
|
106
81
|
|
|
107
|
-
#
|
|
82
|
+
# Create a new Bio::Reference object from a Hash of values.
|
|
83
|
+
# Data is extracted from the values for keys:
|
|
84
|
+
#
|
|
85
|
+
# * authors - expected value: Array of Strings
|
|
86
|
+
# * title - expected value: String
|
|
87
|
+
# * journal - expected value: String
|
|
88
|
+
# * volume - expected value: Fixnum or String
|
|
89
|
+
# * issue - expected value: Fixnum or String
|
|
90
|
+
# * pages - expected value: String
|
|
91
|
+
# * year - expected value: Fixnum or String
|
|
92
|
+
# * pubmed - expected value: Fixnum or String
|
|
93
|
+
# * medline - expected value: Fixnum or String
|
|
94
|
+
# * abstract - expected value: String
|
|
95
|
+
# * url - expected value: String
|
|
96
|
+
# * mesh - expected value: Array of Strings
|
|
97
|
+
# * affiliations - expected value: Array of Strings
|
|
98
|
+
#
|
|
99
|
+
#
|
|
100
|
+
# hash = {'authors' => [ "Hoge, J.P.", "Fuga, F.B." ],
|
|
101
|
+
# 'title' => "Title of the study.",
|
|
102
|
+
# 'journal' => "Theor. J. Hoge",
|
|
103
|
+
# 'volume' => 12,
|
|
104
|
+
# 'issue' => 3,
|
|
105
|
+
# 'pages' => "123-145",
|
|
106
|
+
# 'year' => 2001,
|
|
107
|
+
# 'pubmed' => 12345678,
|
|
108
|
+
# 'medline' => 98765432,
|
|
109
|
+
# 'abstract' => "Hoge fuga. ...",
|
|
110
|
+
# 'url' => "http://example.com",
|
|
111
|
+
# 'mesh' => [],
|
|
112
|
+
# 'affiliations' => []}
|
|
113
|
+
# ref = Bio::Reference.new(hash)
|
|
114
|
+
# ---
|
|
115
|
+
# *Arguments*:
|
|
116
|
+
# * (required) _hash_: Hash
|
|
117
|
+
# *Returns*:: Bio::Reference object
|
|
108
118
|
def initialize(hash)
|
|
109
119
|
hash.default = ''
|
|
110
120
|
@authors = hash['authors'] # [ "Hoge, J.P.", "Fuga, F.B." ]
|
|
@@ -130,10 +140,10 @@ module Bio
|
|
|
130
140
|
# Styles:
|
|
131
141
|
# 0. nil - general
|
|
132
142
|
# 1. endnote - Endnote
|
|
133
|
-
# 2. bibitem - Bibitem (option
|
|
134
|
-
# 3. bibtex - BiBTeX (option
|
|
135
|
-
# 4. rd - rd (option
|
|
136
|
-
# 5. nature - Nature (option
|
|
143
|
+
# 2. bibitem - Bibitem (option available)
|
|
144
|
+
# 3. bibtex - BiBTeX (option available)
|
|
145
|
+
# 4. rd - rd (option available)
|
|
146
|
+
# 5. nature - Nature (option available)
|
|
137
147
|
# 6. science - Science
|
|
138
148
|
# 7. genome_biol - Genome Biology
|
|
139
149
|
# 8. genome_res - Genome Research
|
|
@@ -141,6 +151,23 @@ module Bio
|
|
|
141
151
|
# 10. current - Current Biology
|
|
142
152
|
# 11. trends - Trends in *
|
|
143
153
|
# 12. cell - Cell Press
|
|
154
|
+
#
|
|
155
|
+
# See individual methods for details. Basic usage is:
|
|
156
|
+
#
|
|
157
|
+
# # ref is Bio::Reference object
|
|
158
|
+
# # using simplest possible call (for general style)
|
|
159
|
+
# puts ref.format
|
|
160
|
+
#
|
|
161
|
+
# # output in Nature style
|
|
162
|
+
# puts ref.format("nature") # alternatively, puts ref.nature
|
|
163
|
+
#
|
|
164
|
+
# # output in Nature short style (see Bio::Reference#nature)
|
|
165
|
+
# puts ref.format("nature",true) # alternatively, puts ref.nature(true)
|
|
166
|
+
# ---
|
|
167
|
+
# *Arguments*:
|
|
168
|
+
# * (optional) _style_: String with style identifier
|
|
169
|
+
# * (optional) _option_: Option for styles accepting one
|
|
170
|
+
# *Returns*:: String
|
|
144
171
|
def format(style = nil, option = nil)
|
|
145
172
|
case style
|
|
146
173
|
when 'endnote'
|
|
@@ -172,7 +199,25 @@ module Bio
|
|
|
172
199
|
end
|
|
173
200
|
end
|
|
174
201
|
|
|
175
|
-
#
|
|
202
|
+
# Returns reference formatted in the Endnote style.
|
|
203
|
+
#
|
|
204
|
+
# # ref is a Bio::Reference object
|
|
205
|
+
# puts ref.endnote
|
|
206
|
+
#
|
|
207
|
+
# %0 Journal Article
|
|
208
|
+
# %A Hoge, J.P.
|
|
209
|
+
# %A Fuga, F.B.
|
|
210
|
+
# %D 2001
|
|
211
|
+
# %T Title of the study.
|
|
212
|
+
# %J Theor. J. Hoge
|
|
213
|
+
# %V 12
|
|
214
|
+
# %N 3
|
|
215
|
+
# %P 123-145
|
|
216
|
+
# %M 12345678
|
|
217
|
+
# %U http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Citation&list_uids=12345678
|
|
218
|
+
# %X Hoge fuga. ...
|
|
219
|
+
# ---
|
|
220
|
+
# *Returns*:: String
|
|
176
221
|
def endnote
|
|
177
222
|
lines = []
|
|
178
223
|
lines << "%0 Journal Article"
|
|
@@ -200,7 +245,17 @@ module Bio
|
|
|
200
245
|
return lines.join("\n")
|
|
201
246
|
end
|
|
202
247
|
|
|
203
|
-
#
|
|
248
|
+
# Returns reference formatted in the bibitem style
|
|
249
|
+
#
|
|
250
|
+
# # ref is a Bio::Reference object
|
|
251
|
+
# puts ref.bibitem
|
|
252
|
+
#
|
|
253
|
+
# \bibitem{PMID:12345678}
|
|
254
|
+
# Hoge, J.P., Fuga, F.B.
|
|
255
|
+
# Title of the study.,
|
|
256
|
+
# {\em Theor. J. Hoge}, 12(3):123--145, 2001.
|
|
257
|
+
# ---
|
|
258
|
+
# *Returns*:: String
|
|
204
259
|
def bibitem(item = nil)
|
|
205
260
|
item = "PMID:#{@pubmed}" unless item
|
|
206
261
|
pages = @pages.sub('-', '--')
|
|
@@ -212,7 +267,38 @@ module Bio
|
|
|
212
267
|
END
|
|
213
268
|
end
|
|
214
269
|
|
|
215
|
-
#
|
|
270
|
+
# Returns reference formatted in the BiBTeX style.
|
|
271
|
+
#
|
|
272
|
+
# # ref is a Bio::Reference object
|
|
273
|
+
# puts ref.bibtex
|
|
274
|
+
#
|
|
275
|
+
# @article{PMID:12345678,
|
|
276
|
+
# author = {Hoge, J.P. and Fuga, F.B.},
|
|
277
|
+
# title = {Title of the study.},
|
|
278
|
+
# journal = {Theor. J. Hoge},
|
|
279
|
+
# year = {2001},
|
|
280
|
+
# volume = {12},
|
|
281
|
+
# number = {3},
|
|
282
|
+
# pages = {123--145},
|
|
283
|
+
# }
|
|
284
|
+
#
|
|
285
|
+
# # using a different section (e.g. "book")
|
|
286
|
+
# # (but not really configured for anything other than articles)
|
|
287
|
+
# puts ref.bibtex("book")
|
|
288
|
+
#
|
|
289
|
+
# @book{PMID:12345678,
|
|
290
|
+
# author = {Hoge, J.P. and Fuga, F.B.},
|
|
291
|
+
# title = {Title of the study.},
|
|
292
|
+
# journal = {Theor. J. Hoge},
|
|
293
|
+
# year = {2001},
|
|
294
|
+
# volume = {12},
|
|
295
|
+
# number = {3},
|
|
296
|
+
# pages = {123--145},
|
|
297
|
+
# }
|
|
298
|
+
# ---
|
|
299
|
+
# *Arguments*:
|
|
300
|
+
# * (optional) _section_: BiBTeX section as String
|
|
301
|
+
# *Returns*:: String
|
|
216
302
|
def bibtex(section = nil)
|
|
217
303
|
section = "article" unless section
|
|
218
304
|
authors = authors_join(' and ', ' and ')
|
|
@@ -230,13 +316,37 @@ module Bio
|
|
|
230
316
|
END
|
|
231
317
|
end
|
|
232
318
|
|
|
233
|
-
#
|
|
319
|
+
# Returns reference formatted in a general/generic style.
|
|
320
|
+
#
|
|
321
|
+
# # ref is a Bio::Reference object
|
|
322
|
+
# puts ref.general
|
|
323
|
+
#
|
|
324
|
+
# Hoge, J.P., Fuga, F.B. (2001). "Title of the study." Theor. J. Hoge 12:123-145.
|
|
325
|
+
# ---
|
|
326
|
+
# *Returns*:: String
|
|
234
327
|
def general
|
|
235
328
|
authors = @authors.join(', ')
|
|
236
329
|
"#{authors} (#{@year}). \"#{@title}\" #{@journal} #{@volume}:#{@pages}."
|
|
237
330
|
end
|
|
238
331
|
|
|
239
|
-
#
|
|
332
|
+
# Return reference formatted in the RD style.
|
|
333
|
+
#
|
|
334
|
+
# # ref is a Bio::Reference object
|
|
335
|
+
# puts ref.rd
|
|
336
|
+
#
|
|
337
|
+
# == Title of the study.
|
|
338
|
+
#
|
|
339
|
+
# * Hoge, J.P. and Fuga, F.B.
|
|
340
|
+
#
|
|
341
|
+
# * Theor. J. Hoge 2001 12:123-145 [PMID:12345678]
|
|
342
|
+
#
|
|
343
|
+
# Hoge fuga. ...
|
|
344
|
+
#
|
|
345
|
+
# An optional string argument can be supplied, but does nothing.
|
|
346
|
+
# ---
|
|
347
|
+
# *Arguments*:
|
|
348
|
+
# * (optional) str: String (default nil)
|
|
349
|
+
# *Returns*:: String
|
|
240
350
|
def rd(str = nil)
|
|
241
351
|
@abstract ||= str
|
|
242
352
|
lines = []
|
|
@@ -247,8 +357,22 @@ module Bio
|
|
|
247
357
|
return lines.join("\n\n")
|
|
248
358
|
end
|
|
249
359
|
|
|
250
|
-
# Formats in the Nature
|
|
251
|
-
#
|
|
360
|
+
# Formats in the Nature Publishing Group
|
|
361
|
+
# (http://www.nature.com) style.
|
|
362
|
+
#
|
|
363
|
+
# # ref is a Bio::Reference object
|
|
364
|
+
# puts ref.nature
|
|
365
|
+
#
|
|
366
|
+
# Hoge, J.P. & Fuga, F.B. Title of the study. Theor. J. Hoge 12, 123-145 (2001).
|
|
367
|
+
#
|
|
368
|
+
# # optionally, output short version
|
|
369
|
+
# puts ref.nature(true) # or puts ref.nature(short=true)
|
|
370
|
+
#
|
|
371
|
+
# Hoge, J.P. & Fuga, F.B. Theor. J. Hoge 12, 123-145 (2001).
|
|
372
|
+
# ---
|
|
373
|
+
# *Arguments*:
|
|
374
|
+
# * (optional) _short_: Boolean (default false)
|
|
375
|
+
# *Returns*:: String
|
|
252
376
|
def nature(short = false)
|
|
253
377
|
if short
|
|
254
378
|
if @authors.size > 4
|
|
@@ -265,8 +389,15 @@ module Bio
|
|
|
265
389
|
end
|
|
266
390
|
end
|
|
267
391
|
|
|
268
|
-
#
|
|
269
|
-
#
|
|
392
|
+
# Returns reference formatted in the
|
|
393
|
+
# Science[http://www.sciencemag.org] style.
|
|
394
|
+
#
|
|
395
|
+
# # ref is a Bio::Reference object
|
|
396
|
+
# puts ref.science
|
|
397
|
+
#
|
|
398
|
+
# J.P. Hoge, F.B. Fuga, Theor. J. Hoge 12 123 (2001).
|
|
399
|
+
# ---
|
|
400
|
+
# *Returns*:: String
|
|
270
401
|
def science
|
|
271
402
|
if @authors.size > 4
|
|
272
403
|
authors = rev_name(@authors[0]) + " et al."
|
|
@@ -277,40 +408,86 @@ module Bio
|
|
|
277
408
|
"#{authors}, #{@journal} #{@volume} #{page_from} (#{@year})."
|
|
278
409
|
end
|
|
279
410
|
|
|
280
|
-
#
|
|
281
|
-
#
|
|
411
|
+
# Returns reference formatted in the Genome Biology
|
|
412
|
+
# (http://genomebiology.com) style.
|
|
413
|
+
#
|
|
414
|
+
# # ref is a Bio::Reference object
|
|
415
|
+
# puts ref.genome_biol
|
|
416
|
+
#
|
|
417
|
+
# Hoge JP, Fuga FB: Title of the study. Theor J Hoge 2001, 12:123-145.
|
|
418
|
+
# ---
|
|
419
|
+
# *Returns*:: String
|
|
282
420
|
def genome_biol
|
|
283
421
|
authors = @authors.collect {|name| strip_dots(name)}.join(', ')
|
|
284
422
|
journal = strip_dots(@journal)
|
|
285
423
|
"#{authors}: #{@title} #{journal} #{@year}, #{@volume}:#{@pages}."
|
|
286
424
|
end
|
|
287
|
-
|
|
288
|
-
#
|
|
289
|
-
|
|
425
|
+
|
|
426
|
+
# Returns reference formatted in the Current Biology
|
|
427
|
+
# (http://current-biology.com) style. (Same as the Genome Biology style)
|
|
428
|
+
#
|
|
429
|
+
# # ref is a Bio::Reference object
|
|
430
|
+
# puts ref.current
|
|
431
|
+
#
|
|
432
|
+
# Hoge JP, Fuga FB: Title of the study. Theor J Hoge 2001, 12:123-145.
|
|
433
|
+
# ---
|
|
434
|
+
# *Returns*:: String
|
|
435
|
+
def current
|
|
436
|
+
self.genome_biol
|
|
437
|
+
end
|
|
290
438
|
|
|
291
|
-
#
|
|
292
|
-
#
|
|
439
|
+
# Returns reference formatted in the Genome Research
|
|
440
|
+
# (http://genome.org) style.
|
|
441
|
+
#
|
|
442
|
+
# # ref is a Bio::Reference object
|
|
443
|
+
# puts ref.genome_res
|
|
444
|
+
#
|
|
445
|
+
# Hoge, J.P. and Fuga, F.B. 2001.
|
|
446
|
+
# Title of the study. Theor. J. Hoge 12: 123-145.
|
|
447
|
+
# ---
|
|
448
|
+
# *Returns*:: String
|
|
293
449
|
def genome_res
|
|
294
450
|
authors = authors_join(' and ')
|
|
295
451
|
"#{authors} #{@year}.\n #{@title} #{@journal} #{@volume}: #{@pages}."
|
|
296
452
|
end
|
|
297
453
|
|
|
298
|
-
#
|
|
299
|
-
#
|
|
454
|
+
# Returns reference formatted in the Nucleic Acids Reseach
|
|
455
|
+
# (http://nar.oxfordjournals.org) style.
|
|
456
|
+
#
|
|
457
|
+
# # ref is a Bio::Reference object
|
|
458
|
+
# puts ref.nar
|
|
459
|
+
#
|
|
460
|
+
# Hoge, J.P. and Fuga, F.B. (2001) Title of the study. Theor. J. Hoge, 12, 123-145.
|
|
461
|
+
# ---
|
|
462
|
+
# *Returns*:: String
|
|
300
463
|
def nar
|
|
301
464
|
authors = authors_join(' and ')
|
|
302
465
|
"#{authors} (#{@year}) #{@title} #{@journal}, #{@volume}, #{@pages}."
|
|
303
466
|
end
|
|
304
467
|
|
|
305
|
-
#
|
|
306
|
-
# http://www.cell.com
|
|
468
|
+
# Returns reference formatted in the
|
|
469
|
+
# CELL[http://www.cell.com] Press style.
|
|
470
|
+
#
|
|
471
|
+
# # ref is a Bio::Reference object
|
|
472
|
+
# puts ref.cell
|
|
473
|
+
#
|
|
474
|
+
# Hoge, J.P. and Fuga, F.B. (2001). Title of the study. Theor. J. Hoge 12, 123-145.
|
|
475
|
+
# ---
|
|
476
|
+
# *Returns*:: String
|
|
307
477
|
def cell
|
|
308
478
|
authors = authors_join(' and ')
|
|
309
479
|
"#{authors} (#{@year}). #{@title} #{@journal} #{@volume}, #{pages}."
|
|
310
480
|
end
|
|
311
481
|
|
|
312
|
-
#
|
|
313
|
-
#
|
|
482
|
+
# Returns reference formatted in the
|
|
483
|
+
# TRENDS[http://www.trends.com] style.
|
|
484
|
+
#
|
|
485
|
+
# # ref is a Bio::Reference object
|
|
486
|
+
# puts ref.trends
|
|
487
|
+
#
|
|
488
|
+
# Hoge, J.P. and Fuga, F.B. (2001) Title of the study. Theor. J. Hoge 12, 123-145
|
|
489
|
+
# ---
|
|
490
|
+
# *Returns*:: String
|
|
314
491
|
def trends
|
|
315
492
|
if @authors.size > 2
|
|
316
493
|
authors = "#{@authors[0]} et al."
|
|
@@ -351,9 +528,11 @@ module Bio
|
|
|
351
528
|
|
|
352
529
|
end
|
|
353
530
|
|
|
354
|
-
#
|
|
531
|
+
# = DESCRIPTION
|
|
355
532
|
#
|
|
356
|
-
#
|
|
533
|
+
# A container class for Bio::Reference objects.
|
|
534
|
+
#
|
|
535
|
+
# = USAGE
|
|
357
536
|
#
|
|
358
537
|
# refs = Bio::References.new
|
|
359
538
|
# refs.append(Bio::Reference.new(hash))
|
|
@@ -363,22 +542,40 @@ module Bio
|
|
|
363
542
|
#
|
|
364
543
|
class References
|
|
365
544
|
|
|
366
|
-
# Array of Bio::Reference
|
|
545
|
+
# Array of Bio::Reference objects
|
|
367
546
|
attr_accessor :references
|
|
368
547
|
|
|
548
|
+
# Create a new Bio::References object
|
|
369
549
|
#
|
|
550
|
+
# refs = Bio::References.new
|
|
551
|
+
# ---
|
|
552
|
+
# *Arguments*:
|
|
553
|
+
# * (optional) __: Array of Bio::Reference objects
|
|
554
|
+
# *Returns*:: Bio::References object
|
|
370
555
|
def initialize(ary = [])
|
|
371
556
|
@references = ary
|
|
372
557
|
end
|
|
373
558
|
|
|
374
559
|
|
|
375
|
-
#
|
|
560
|
+
# Add a Bio::Reference object to the container.
|
|
561
|
+
#
|
|
562
|
+
# refs.append(reference)
|
|
563
|
+
# ---
|
|
564
|
+
# *Arguments*:
|
|
565
|
+
# * (required) _reference_: Bio::Reference object
|
|
566
|
+
# *Returns*:: current Bio::References object
|
|
376
567
|
def append(reference)
|
|
377
568
|
@references.push(reference) if reference.is_a? Reference
|
|
378
569
|
return self
|
|
379
570
|
end
|
|
380
571
|
|
|
381
|
-
#
|
|
572
|
+
# Iterate through Bio::Reference objects.
|
|
573
|
+
#
|
|
574
|
+
# refs.each do |reference|
|
|
575
|
+
# ...
|
|
576
|
+
# end
|
|
577
|
+
# ---
|
|
578
|
+
# *Block*:: yields each Bio::Reference object
|
|
382
579
|
def each
|
|
383
580
|
@references.each do |reference|
|
|
384
581
|
yield reference
|