bio 1.3.1 → 1.4.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/ChangeLog +2105 -3728
- data/KNOWN_ISSUES.rdoc +35 -3
- data/README.rdoc +8 -2
- data/RELEASE_NOTES.rdoc +166 -0
- data/bin/bioruby +4 -1
- data/bioruby.gemspec +146 -1
- data/bioruby.gemspec.erb +3 -1
- data/doc/ChangeLog-before-1.3.1 +3961 -0
- data/doc/Tutorial.rd +154 -22
- data/doc/Tutorial.rd.html +125 -68
- data/lib/bio.rb +21 -6
- data/lib/bio/appl/bl2seq/report.rb +11 -202
- data/lib/bio/appl/blast/format0.rb +0 -193
- data/lib/bio/appl/blast/report.rb +2 -147
- data/lib/bio/appl/blast/wublast.rb +0 -208
- data/lib/bio/appl/fasta.rb +4 -19
- data/lib/bio/appl/fasta/format10.rb +0 -14
- data/lib/bio/appl/genscan/report.rb +0 -176
- data/lib/bio/appl/hmmer.rb +1 -15
- data/lib/bio/appl/hmmer/report.rb +0 -100
- data/lib/bio/appl/meme/mast.rb +156 -0
- data/lib/bio/appl/meme/mast/report.rb +91 -0
- data/lib/bio/appl/meme/motif.rb +48 -0
- data/lib/bio/appl/psort.rb +0 -111
- data/lib/bio/appl/psort/report.rb +1 -45
- data/lib/bio/appl/pts1.rb +2 -4
- data/lib/bio/appl/sosui/report.rb +5 -54
- data/lib/bio/appl/targetp/report.rb +1 -104
- data/lib/bio/appl/tmhmm/report.rb +0 -36
- data/lib/bio/command.rb +94 -10
- data/lib/bio/data/aa.rb +1 -77
- data/lib/bio/data/codontable.rb +1 -95
- data/lib/bio/data/na.rb +1 -26
- data/lib/bio/db/aaindex.rb +1 -38
- data/lib/bio/db/fasta.rb +1 -134
- data/lib/bio/db/fasta/format_qual.rb +204 -0
- data/lib/bio/db/fasta/qual.rb +102 -0
- data/lib/bio/db/fastq.rb +645 -0
- data/lib/bio/db/fastq/fastq_to_biosequence.rb +40 -0
- data/lib/bio/db/fastq/format_fastq.rb +175 -0
- data/lib/bio/db/genbank/genbank.rb +1 -86
- data/lib/bio/db/gff.rb +0 -17
- data/lib/bio/db/go.rb +4 -72
- data/lib/bio/db/kegg/common.rb +112 -0
- data/lib/bio/db/kegg/compound.rb +29 -20
- data/lib/bio/db/kegg/drug.rb +74 -34
- data/lib/bio/db/kegg/enzyme.rb +26 -5
- data/lib/bio/db/kegg/genes.rb +128 -15
- data/lib/bio/db/kegg/genome.rb +3 -41
- data/lib/bio/db/kegg/glycan.rb +19 -24
- data/lib/bio/db/kegg/orthology.rb +16 -56
- data/lib/bio/db/kegg/reaction.rb +81 -28
- data/lib/bio/db/kegg/taxonomy.rb +1 -52
- data/lib/bio/db/litdb.rb +1 -16
- data/lib/bio/db/phyloxml/phyloxml.xsd +582 -0
- data/lib/bio/db/phyloxml/phyloxml_elements.rb +1174 -0
- data/lib/bio/db/phyloxml/phyloxml_parser.rb +954 -0
- data/lib/bio/db/phyloxml/phyloxml_writer.rb +228 -0
- data/lib/bio/db/prosite.rb +2 -95
- data/lib/bio/db/rebase.rb +5 -6
- data/lib/bio/db/sanger_chromatogram/abif.rb +120 -0
- data/lib/bio/db/sanger_chromatogram/chromatogram.rb +133 -0
- data/lib/bio/db/sanger_chromatogram/chromatogram_to_biosequence.rb +32 -0
- data/lib/bio/db/sanger_chromatogram/scf.rb +210 -0
- data/lib/bio/io/das.rb +0 -44
- data/lib/bio/io/ddbjxml.rb +1 -181
- data/lib/bio/io/flatfile.rb +1 -7
- data/lib/bio/io/flatfile/autodetection.rb +6 -0
- data/lib/bio/io/keggapi.rb +0 -442
- data/lib/bio/io/ncbirest.rb +130 -132
- data/lib/bio/io/ncbisoap.rb +2 -1
- data/lib/bio/io/pubmed.rb +0 -88
- data/lib/bio/location.rb +0 -73
- data/lib/bio/pathway.rb +0 -171
- data/lib/bio/sequence.rb +18 -1
- data/lib/bio/sequence/adapter.rb +3 -0
- data/lib/bio/sequence/format.rb +16 -0
- data/lib/bio/sequence/quality_score.rb +205 -0
- data/lib/bio/tree.rb +70 -5
- data/lib/bio/util/restriction_enzyme/single_strand.rb +3 -2
- data/lib/bio/util/sirna.rb +1 -23
- data/lib/bio/version.rb +1 -1
- data/sample/demo_aaindex.rb +67 -0
- data/sample/demo_aminoacid.rb +101 -0
- data/sample/demo_bl2seq_report.rb +220 -0
- data/sample/demo_blast_report.rb +285 -0
- data/sample/demo_codontable.rb +119 -0
- data/sample/demo_das.rb +105 -0
- data/sample/demo_ddbjxml.rb +212 -0
- data/sample/demo_fasta_remote.rb +51 -0
- data/sample/demo_fastaformat.rb +105 -0
- data/sample/demo_genbank.rb +132 -0
- data/sample/demo_genscan_report.rb +202 -0
- data/sample/demo_gff1.rb +49 -0
- data/sample/demo_go.rb +98 -0
- data/sample/demo_hmmer_report.rb +149 -0
- data/sample/demo_kegg_compound.rb +57 -0
- data/sample/demo_kegg_drug.rb +65 -0
- data/sample/demo_kegg_genome.rb +74 -0
- data/sample/demo_kegg_glycan.rb +72 -0
- data/sample/demo_kegg_orthology.rb +62 -0
- data/sample/demo_kegg_reaction.rb +66 -0
- data/sample/demo_kegg_taxonomy.rb +92 -0
- data/sample/demo_keggapi.rb +502 -0
- data/sample/demo_litdb.rb +42 -0
- data/sample/demo_locations.rb +99 -0
- data/sample/demo_ncbi_rest.rb +130 -0
- data/sample/demo_nucleicacid.rb +49 -0
- data/sample/demo_pathway.rb +196 -0
- data/sample/demo_prosite.rb +120 -0
- data/sample/demo_psort.rb +138 -0
- data/sample/demo_psort_report.rb +70 -0
- data/sample/demo_pubmed.rb +118 -0
- data/sample/demo_sirna.rb +63 -0
- data/sample/demo_sosui_report.rb +89 -0
- data/sample/demo_targetp_report.rb +135 -0
- data/sample/demo_tmhmm_report.rb +68 -0
- data/sample/pmfetch.rb +13 -4
- data/sample/pmsearch.rb +15 -4
- data/sample/test_phyloxml_big.rb +205 -0
- data/test/bioruby_test_helper.rb +61 -0
- data/test/data/KEGG/1.1.1.1.enzyme +935 -0
- data/test/data/KEGG/C00025.compound +102 -0
- data/test/data/KEGG/D00063.drug +104 -0
- data/test/data/KEGG/G00024.glycan +47 -0
- data/test/data/KEGG/G01366.glycan +18 -0
- data/test/data/KEGG/K02338.orthology +902 -0
- data/test/data/KEGG/R00006.reaction +14 -0
- data/test/data/fastq/README.txt +109 -0
- data/test/data/fastq/error_diff_ids.fastq +20 -0
- data/test/data/fastq/error_double_qual.fastq +22 -0
- data/test/data/fastq/error_double_seq.fastq +22 -0
- data/test/data/fastq/error_long_qual.fastq +20 -0
- data/test/data/fastq/error_no_qual.fastq +20 -0
- data/test/data/fastq/error_qual_del.fastq +20 -0
- data/test/data/fastq/error_qual_escape.fastq +20 -0
- data/test/data/fastq/error_qual_null.fastq +0 -0
- data/test/data/fastq/error_qual_space.fastq +21 -0
- data/test/data/fastq/error_qual_tab.fastq +21 -0
- data/test/data/fastq/error_qual_unit_sep.fastq +20 -0
- data/test/data/fastq/error_qual_vtab.fastq +20 -0
- data/test/data/fastq/error_short_qual.fastq +20 -0
- data/test/data/fastq/error_spaces.fastq +20 -0
- data/test/data/fastq/error_tabs.fastq +21 -0
- data/test/data/fastq/error_trunc_at_plus.fastq +19 -0
- data/test/data/fastq/error_trunc_at_qual.fastq +19 -0
- data/test/data/fastq/error_trunc_at_seq.fastq +18 -0
- data/test/data/fastq/error_trunc_in_plus.fastq +19 -0
- data/test/data/fastq/error_trunc_in_qual.fastq +20 -0
- data/test/data/fastq/error_trunc_in_seq.fastq +18 -0
- data/test/data/fastq/error_trunc_in_title.fastq +17 -0
- data/test/data/fastq/illumina_full_range_as_illumina.fastq +8 -0
- data/test/data/fastq/illumina_full_range_as_sanger.fastq +8 -0
- data/test/data/fastq/illumina_full_range_as_solexa.fastq +8 -0
- data/test/data/fastq/illumina_full_range_original_illumina.fastq +8 -0
- data/test/data/fastq/longreads_as_illumina.fastq +40 -0
- data/test/data/fastq/longreads_as_sanger.fastq +40 -0
- data/test/data/fastq/longreads_as_solexa.fastq +40 -0
- data/test/data/fastq/longreads_original_sanger.fastq +120 -0
- data/test/data/fastq/misc_dna_as_illumina.fastq +16 -0
- data/test/data/fastq/misc_dna_as_sanger.fastq +16 -0
- data/test/data/fastq/misc_dna_as_solexa.fastq +16 -0
- data/test/data/fastq/misc_dna_original_sanger.fastq +16 -0
- data/test/data/fastq/misc_rna_as_illumina.fastq +16 -0
- data/test/data/fastq/misc_rna_as_sanger.fastq +16 -0
- data/test/data/fastq/misc_rna_as_solexa.fastq +16 -0
- data/test/data/fastq/misc_rna_original_sanger.fastq +16 -0
- data/test/data/fastq/sanger_full_range_as_illumina.fastq +8 -0
- data/test/data/fastq/sanger_full_range_as_sanger.fastq +8 -0
- data/test/data/fastq/sanger_full_range_as_solexa.fastq +8 -0
- data/test/data/fastq/sanger_full_range_original_sanger.fastq +8 -0
- data/test/data/fastq/solexa_full_range_as_illumina.fastq +8 -0
- data/test/data/fastq/solexa_full_range_as_sanger.fastq +8 -0
- data/test/data/fastq/solexa_full_range_as_solexa.fastq +8 -0
- data/test/data/fastq/solexa_full_range_original_solexa.fastq +8 -0
- data/test/data/fastq/wrapping_as_illumina.fastq +12 -0
- data/test/data/fastq/wrapping_as_sanger.fastq +12 -0
- data/test/data/fastq/wrapping_as_solexa.fastq +12 -0
- data/test/data/fastq/wrapping_original_sanger.fastq +24 -0
- data/test/data/meme/db +0 -0
- data/test/data/meme/mast +0 -0
- data/test/data/meme/mast.out +13 -0
- data/test/data/meme/meme.out +3 -0
- data/test/data/phyloxml/apaf.xml +666 -0
- data/test/data/phyloxml/bcl_2.xml +2097 -0
- data/test/data/phyloxml/made_up.xml +144 -0
- data/test/data/phyloxml/ncbi_taxonomy_mollusca_short.xml +65 -0
- data/test/data/phyloxml/phyloxml_examples.xml +415 -0
- data/test/data/sanger_chromatogram/test_chromatogram_abif.ab1 +0 -0
- data/test/data/sanger_chromatogram/test_chromatogram_scf_v2.scf +0 -0
- data/test/data/sanger_chromatogram/test_chromatogram_scf_v3.scf +0 -0
- data/test/functional/bio/appl/test_pts1.rb +7 -5
- data/test/functional/bio/io/test_ensembl.rb +4 -3
- data/test/functional/bio/io/test_pubmed.rb +9 -3
- data/test/functional/bio/io/test_soapwsdl.rb +5 -4
- data/test/functional/bio/io/test_togows.rb +5 -4
- data/test/functional/bio/sequence/test_output_embl.rb +6 -4
- data/test/functional/bio/test_command.rb +54 -5
- data/test/runner.rb +5 -3
- data/test/unit/bio/appl/bl2seq/test_report.rb +5 -4
- data/test/unit/bio/appl/blast/test_ncbioptions.rb +4 -2
- data/test/unit/bio/appl/blast/test_report.rb +5 -4
- data/test/unit/bio/appl/blast/test_rpsblast.rb +5 -4
- data/test/unit/bio/appl/gcg/test_msf.rb +5 -5
- data/test/unit/bio/appl/genscan/test_report.rb +8 -9
- data/test/unit/bio/appl/hmmer/test_report.rb +5 -4
- data/test/unit/bio/appl/iprscan/test_report.rb +6 -5
- data/test/unit/bio/appl/mafft/test_report.rb +6 -5
- data/test/unit/bio/appl/meme/mast/test_report.rb +46 -0
- data/test/unit/bio/appl/meme/test_mast.rb +103 -0
- data/test/unit/bio/appl/meme/test_motif.rb +38 -0
- data/test/unit/bio/appl/paml/codeml/test_rates.rb +5 -4
- data/test/unit/bio/appl/paml/codeml/test_report.rb +5 -4
- data/test/unit/bio/appl/paml/test_codeml.rb +5 -4
- data/test/unit/bio/appl/sim4/test_report.rb +5 -4
- data/test/unit/bio/appl/sosui/test_report.rb +6 -5
- data/test/unit/bio/appl/targetp/test_report.rb +5 -3
- data/test/unit/bio/appl/test_blast.rb +5 -4
- data/test/unit/bio/appl/test_fasta.rb +4 -2
- data/test/unit/bio/appl/test_pts1.rb +4 -2
- data/test/unit/bio/appl/tmhmm/test_report.rb +6 -5
- data/test/unit/bio/data/test_aa.rb +5 -3
- data/test/unit/bio/data/test_codontable.rb +5 -4
- data/test/unit/bio/data/test_na.rb +5 -3
- data/test/unit/bio/db/biosql/tc_biosql.rb +5 -1
- data/test/unit/bio/db/embl/test_common.rb +4 -2
- data/test/unit/bio/db/embl/test_embl.rb +6 -6
- data/test/unit/bio/db/embl/test_embl_rel89.rb +6 -6
- data/test/unit/bio/db/embl/test_embl_to_bioseq.rb +7 -8
- data/test/unit/bio/db/embl/test_sptr.rb +6 -8
- data/test/unit/bio/db/embl/test_uniprot.rb +6 -5
- data/test/unit/bio/db/fasta/test_format_qual.rb +346 -0
- data/test/unit/bio/db/kegg/test_compound.rb +146 -0
- data/test/unit/bio/db/kegg/test_drug.rb +194 -0
- data/test/unit/bio/db/kegg/test_enzyme.rb +241 -0
- data/test/unit/bio/db/kegg/test_genes.rb +32 -4
- data/test/unit/bio/db/kegg/test_glycan.rb +260 -0
- data/test/unit/bio/db/kegg/test_orthology.rb +50 -0
- data/test/unit/bio/db/kegg/test_reaction.rb +96 -0
- data/test/unit/bio/db/pdb/test_pdb.rb +4 -2
- data/test/unit/bio/db/sanger_chromatogram/test_abif.rb +76 -0
- data/test/unit/bio/db/sanger_chromatogram/test_scf.rb +98 -0
- data/test/unit/bio/db/test_aaindex.rb +6 -6
- data/test/unit/bio/db/test_fasta.rb +5 -46
- data/test/unit/bio/db/test_fastq.rb +829 -0
- data/test/unit/bio/db/test_gff.rb +4 -2
- data/test/unit/bio/db/test_lasergene.rb +7 -5
- data/test/unit/bio/db/test_medline.rb +4 -2
- data/test/unit/bio/db/test_newick.rb +6 -6
- data/test/unit/bio/db/test_nexus.rb +4 -2
- data/test/unit/bio/db/test_phyloxml.rb +769 -0
- data/test/unit/bio/db/test_phyloxml_writer.rb +328 -0
- data/test/unit/bio/db/test_prosite.rb +6 -5
- data/test/unit/bio/db/test_qual.rb +63 -0
- data/test/unit/bio/db/test_rebase.rb +5 -3
- data/test/unit/bio/db/test_soft.rb +7 -6
- data/test/unit/bio/io/flatfile/test_autodetection.rb +6 -7
- data/test/unit/bio/io/flatfile/test_buffer.rb +6 -5
- data/test/unit/bio/io/flatfile/test_splitter.rb +4 -4
- data/test/unit/bio/io/test_ddbjxml.rb +4 -3
- data/test/unit/bio/io/test_ensembl.rb +5 -3
- data/test/unit/bio/io/test_fastacmd.rb +4 -3
- data/test/unit/bio/io/test_flatfile.rb +6 -5
- data/test/unit/bio/io/test_soapwsdl.rb +4 -3
- data/test/unit/bio/io/test_togows.rb +4 -2
- data/test/unit/bio/sequence/test_aa.rb +5 -3
- data/test/unit/bio/sequence/test_common.rb +4 -2
- data/test/unit/bio/sequence/test_compat.rb +4 -2
- data/test/unit/bio/sequence/test_dblink.rb +5 -3
- data/test/unit/bio/sequence/test_na.rb +4 -2
- data/test/unit/bio/sequence/test_quality_score.rb +330 -0
- data/test/unit/bio/shell/plugin/test_seq.rb +5 -3
- data/test/unit/bio/test_alignment.rb +5 -3
- data/test/unit/bio/test_command.rb +4 -3
- data/test/unit/bio/test_db.rb +5 -3
- data/test/unit/bio/test_feature.rb +4 -2
- data/test/unit/bio/test_location.rb +4 -2
- data/test/unit/bio/test_map.rb +5 -3
- data/test/unit/bio/test_pathway.rb +4 -2
- data/test/unit/bio/test_reference.rb +4 -2
- data/test/unit/bio/test_sequence.rb +5 -3
- data/test/unit/bio/test_shell.rb +5 -3
- data/test/unit/bio/test_tree.rb +6 -6
- data/test/unit/bio/util/restriction_enzyme/analysis/test_calculated_cuts.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/analysis/test_cut_ranges.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/analysis/test_sequence_range.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_aligned_strands.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_location_pair_in_enzyme_notation.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/double_stranded/test_cut_locations_in_enzyme_notation.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/single_strand/test_cut_locations_in_enzyme_notation.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/test_analysis.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/test_cut_symbol.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/test_double_stranded.rb +4 -2
- data/test/unit/bio/util/restriction_enzyme/test_single_strand.rb +17 -13
- data/test/unit/bio/util/restriction_enzyme/test_single_strand_complement.rb +17 -13
- data/test/unit/bio/util/restriction_enzyme/test_string_formatting.rb +4 -2
- data/test/unit/bio/util/test_color_scheme.rb +5 -3
- data/test/unit/bio/util/test_contingency_table.rb +5 -3
- data/test/unit/bio/util/test_restriction_enzyme.rb +4 -2
- data/test/unit/bio/util/test_sirna.rb +6 -4
- metadata +147 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = sample/demo_litdb.rb - demonstration of Bio::LITDB
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (C) 2001 Toshiaki Katayama <k@bioruby.org>
|
|
5
|
+
# License:: The Ruby License
|
|
6
|
+
#
|
|
7
|
+
#
|
|
8
|
+
# == Description
|
|
9
|
+
#
|
|
10
|
+
# Demonstration of Bio::LITDB, LITDB literature database parser class.
|
|
11
|
+
#
|
|
12
|
+
# == Requirements
|
|
13
|
+
#
|
|
14
|
+
# Internet connection and/or OBDA (Open Bio Database Access) configuration.
|
|
15
|
+
#
|
|
16
|
+
# == Usage
|
|
17
|
+
#
|
|
18
|
+
# Simply run this script.
|
|
19
|
+
#
|
|
20
|
+
# $ ruby demo_litdb.rb
|
|
21
|
+
#
|
|
22
|
+
# == Development information
|
|
23
|
+
#
|
|
24
|
+
# The code was moved from lib/bio/db/litdb.rb.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
require 'bio'
|
|
28
|
+
|
|
29
|
+
#if __FILE__ == $0
|
|
30
|
+
|
|
31
|
+
entry = Bio::Fetch.query('litdb', '0308004')
|
|
32
|
+
puts entry
|
|
33
|
+
p Bio::LITDB.new(entry).reference
|
|
34
|
+
|
|
35
|
+
entry = Bio::Fetch.query('litdb', '0309094')
|
|
36
|
+
puts entry
|
|
37
|
+
p Bio::LITDB.new(entry).reference
|
|
38
|
+
|
|
39
|
+
entry = Bio::Fetch.query('litdb', '0309093')
|
|
40
|
+
puts entry
|
|
41
|
+
p Bio::LITDB.new(entry).reference
|
|
42
|
+
#end
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = sample/demo_locations.rb - demonstration of Bio::Locations
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (C) 2001, 2005 Toshiaki Katayama <k@bioruby.org>
|
|
5
|
+
# 2006 Jan Aerts <jan.aerts@bbsrc.ac.uk>
|
|
6
|
+
# 2008 Naohisa Goto <ng@bioruby.org>
|
|
7
|
+
# License:: The Ruby License
|
|
8
|
+
#
|
|
9
|
+
# == Description
|
|
10
|
+
#
|
|
11
|
+
# Demonstration of Bio::Locations, a parser class for the location string
|
|
12
|
+
# used in the INSDC Feature Table.
|
|
13
|
+
#
|
|
14
|
+
# == Usage
|
|
15
|
+
#
|
|
16
|
+
# Simply run this script.
|
|
17
|
+
#
|
|
18
|
+
# $ ruby demo_locations.rb
|
|
19
|
+
#
|
|
20
|
+
# == Development information
|
|
21
|
+
#
|
|
22
|
+
# The code was moved from lib/bio/location.rb.
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
require 'bio'
|
|
26
|
+
|
|
27
|
+
#if __FILE__ == $0
|
|
28
|
+
puts "Test new & span methods"
|
|
29
|
+
[
|
|
30
|
+
'450',
|
|
31
|
+
'500..600',
|
|
32
|
+
'join(500..550, 600..625)',
|
|
33
|
+
'complement(join(500..550, 600..625))',
|
|
34
|
+
'join(complement(500..550), 600..625)',
|
|
35
|
+
'754^755',
|
|
36
|
+
'complement(53^54)',
|
|
37
|
+
'replace(4792^4793,"a")',
|
|
38
|
+
'replace(1905^1906,"acaaagacaccgccctacgcc")',
|
|
39
|
+
'157..(800.806)',
|
|
40
|
+
'(67.68)..(699.703)',
|
|
41
|
+
'(45934.45974)..46135',
|
|
42
|
+
'<180..(731.761)',
|
|
43
|
+
'(88.89)..>1122',
|
|
44
|
+
'complement((1700.1708)..(1715.1721))',
|
|
45
|
+
'complement(<22..(255.275))',
|
|
46
|
+
'complement((64.74)..1525)',
|
|
47
|
+
'join((8298.8300)..10206,1..855)',
|
|
48
|
+
'replace((651.655)..(651.655),"")',
|
|
49
|
+
'one-of(898,900)..983',
|
|
50
|
+
'one-of(5971..6308,5971..6309)',
|
|
51
|
+
'8050..one-of(10731,10758,10905,11242)',
|
|
52
|
+
'one-of(623,627,632)..one-of(628,633,637)',
|
|
53
|
+
'one-of(845,953,963,1078,1104)..1354',
|
|
54
|
+
'join(2035..2050,complement(1775..1818),13..345,414..992,1232..1253,1024..1157)',
|
|
55
|
+
'join(complement(1..61),complement(AP000007.1:252907..253505))',
|
|
56
|
+
'complement(join(71606..71829,75327..75446,76039..76203))',
|
|
57
|
+
'order(3..26,complement(964..987))',
|
|
58
|
+
'order(L44135.1:(454.445)..>538,<1..181)',
|
|
59
|
+
'<200001..<318389',
|
|
60
|
+
].each do |pos|
|
|
61
|
+
p pos
|
|
62
|
+
# p Bio::Locations.new(pos)
|
|
63
|
+
# p Bio::Locations.new(pos).span
|
|
64
|
+
# p Bio::Locations.new(pos).range
|
|
65
|
+
Bio::Locations.new(pos).each do |location|
|
|
66
|
+
puts "class=" + location.class.to_s
|
|
67
|
+
puts "start=" + location.from.to_s + "\tend=" + location.to.to_s + "\tstrand=" + location.strand.to_s
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
puts "Test rel2abs/abs2rel method"
|
|
73
|
+
[
|
|
74
|
+
'6..15',
|
|
75
|
+
'join(6..10,16..30)',
|
|
76
|
+
'complement(join(6..10,16..30))',
|
|
77
|
+
'join(complement(6..10),complement(16..30))',
|
|
78
|
+
'join(6..10,complement(16..30))',
|
|
79
|
+
].each do |pos|
|
|
80
|
+
loc = Bio::Locations.new(pos)
|
|
81
|
+
p pos
|
|
82
|
+
# p loc
|
|
83
|
+
(1..21).each do |x|
|
|
84
|
+
print "absolute(#{x}) #=> ", y = loc.absolute(x), "\n"
|
|
85
|
+
print "relative(#{y}) #=> ", y ? loc.relative(y) : y, "\n"
|
|
86
|
+
print "absolute(#{x}, :aa) #=> ", y = loc.absolute(x, :aa), "\n"
|
|
87
|
+
print "relative(#{y}, :aa) #=> ", y ? loc.relative(y, :aa) : y, "\n"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
pos = 'join(complement(6..10),complement(16..30))'
|
|
92
|
+
loc = Bio::Locations.new(pos)
|
|
93
|
+
print "pos : "; p pos
|
|
94
|
+
print "`- loc[1] : "; p loc[1]
|
|
95
|
+
print " `- range : "; p loc[1].range
|
|
96
|
+
|
|
97
|
+
puts Bio::Location.new('5').<=>(Bio::Location.new('3'))
|
|
98
|
+
#end
|
|
99
|
+
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = sample/demo_ncbi_rest.rb - demonstration of Bio::NCBI::REST, NCBI E-Utilities client
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (C) 2008 Toshiaki Katayama <k@bioruby.org>
|
|
5
|
+
# License:: The Ruby License
|
|
6
|
+
#
|
|
7
|
+
#
|
|
8
|
+
# == Description
|
|
9
|
+
#
|
|
10
|
+
# Demonstration of Bio::NCBI::REST, NCBI E-Utilities client.
|
|
11
|
+
#
|
|
12
|
+
# == Requirements
|
|
13
|
+
#
|
|
14
|
+
# Internet connection is needed.
|
|
15
|
+
#
|
|
16
|
+
# == Usage
|
|
17
|
+
#
|
|
18
|
+
# Simply run this script.
|
|
19
|
+
#
|
|
20
|
+
# $ ruby demo_ncbi_rest.rb
|
|
21
|
+
#
|
|
22
|
+
# == Development information
|
|
23
|
+
#
|
|
24
|
+
# The code was moved from lib/bio/io/ncbirest.rb.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
require 'bio'
|
|
28
|
+
|
|
29
|
+
Bio::NCBI.default_email = 'staff@bioruby.org'
|
|
30
|
+
|
|
31
|
+
#if __FILE__ == $0
|
|
32
|
+
|
|
33
|
+
gbopts = {"db"=>"nuccore", "rettype"=>"gb"}
|
|
34
|
+
pmopts = {"db"=>"pubmed", "rettype"=>"medline"}
|
|
35
|
+
count = {"rettype" => "count"}
|
|
36
|
+
xml = {"retmode"=>"xml"}
|
|
37
|
+
max = {"retmax"=>5}
|
|
38
|
+
|
|
39
|
+
puts "=== class methods ==="
|
|
40
|
+
|
|
41
|
+
puts "--- Search NCBI by E-Utils ---"
|
|
42
|
+
|
|
43
|
+
puts Time.now
|
|
44
|
+
puts "# count of 'tardigrada' in nuccore"
|
|
45
|
+
puts Bio::NCBI::REST.esearch("tardigrada", gbopts.merge(count))
|
|
46
|
+
|
|
47
|
+
puts Time.now
|
|
48
|
+
puts "# max 5 'tardigrada' entries in nuccore"
|
|
49
|
+
puts Bio::NCBI::REST.esearch("tardigrada", gbopts.merge(max))
|
|
50
|
+
|
|
51
|
+
puts Time.now
|
|
52
|
+
puts "# count of 'yeast kinase' in nuccore"
|
|
53
|
+
puts Bio::NCBI::REST.esearch("yeast kinase", gbopts.merge(count))
|
|
54
|
+
|
|
55
|
+
puts Time.now
|
|
56
|
+
puts "# max 5 'yeast kinase' entries in nuccore (XML)"
|
|
57
|
+
puts Bio::NCBI::REST.esearch("yeast kinase", gbopts.merge(xml).merge(max))
|
|
58
|
+
|
|
59
|
+
puts Time.now
|
|
60
|
+
puts "# count of 'genome&analysis|bioinformatics' in pubmed"
|
|
61
|
+
puts Bio::NCBI::REST.esearch("(genome AND analysis) OR bioinformatics", pmopts.merge(count))
|
|
62
|
+
|
|
63
|
+
puts Time.now
|
|
64
|
+
puts "# max 5 'genome&analysis|bioinformatics' entries in pubmed (XML)"
|
|
65
|
+
puts Bio::NCBI::REST.esearch("(genome AND analysis) OR bioinformatics", pmopts.merge(xml).merge(max))
|
|
66
|
+
|
|
67
|
+
puts Time.now
|
|
68
|
+
Bio::NCBI::REST.esearch("(genome AND analysis) OR bioinformatics", pmopts.merge(max)).each do |x|
|
|
69
|
+
puts "# each of 5 'genome&analysis|bioinformatics' entries in pubmed"
|
|
70
|
+
puts x
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
puts "--- Retrieve NCBI entry by E-Utils ---"
|
|
74
|
+
|
|
75
|
+
puts Time.now
|
|
76
|
+
puts "# '185041' entry in nuccore"
|
|
77
|
+
puts Bio::NCBI::REST.efetch("185041", gbopts)
|
|
78
|
+
|
|
79
|
+
puts Time.now
|
|
80
|
+
puts "# 'J00231' entry in nuccore (XML)"
|
|
81
|
+
puts Bio::NCBI::REST.efetch("J00231", gbopts.merge(xml))
|
|
82
|
+
|
|
83
|
+
puts Time.now
|
|
84
|
+
puts "# 16381885 entry in pubmed"
|
|
85
|
+
puts Bio::NCBI::REST.efetch(16381885, pmopts)
|
|
86
|
+
|
|
87
|
+
puts Time.now
|
|
88
|
+
puts "# '16381885' entry in pubmed"
|
|
89
|
+
puts Bio::NCBI::REST.efetch("16381885", pmopts)
|
|
90
|
+
|
|
91
|
+
puts Time.now
|
|
92
|
+
puts "# [10592173,14693808] entries in pubmed"
|
|
93
|
+
puts Bio::NCBI::REST.efetch([10592173, 14693808], pmopts)
|
|
94
|
+
|
|
95
|
+
puts Time.now
|
|
96
|
+
puts "# [10592173,14693808] entries in pubmed (XML)"
|
|
97
|
+
puts Bio::NCBI::REST.efetch([10592173, 14693808], pmopts.merge(xml))
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
puts "=== instance methods ==="
|
|
101
|
+
|
|
102
|
+
ncbi = Bio::NCBI::REST.new
|
|
103
|
+
|
|
104
|
+
puts "--- Search NCBI by E-Utils ---"
|
|
105
|
+
|
|
106
|
+
puts Time.now
|
|
107
|
+
puts "# count of 'genome&analysis|bioinformatics' in pubmed"
|
|
108
|
+
puts ncbi.esearch("(genome AND analysis) OR bioinformatics", pmopts.merge(count))
|
|
109
|
+
|
|
110
|
+
puts Time.now
|
|
111
|
+
puts "# max 5 'genome&analysis|bioinformatics' entries in pubmed"
|
|
112
|
+
puts ncbi.esearch("(genome AND analysis) OR bioinformatics", pmopts.merge(max))
|
|
113
|
+
|
|
114
|
+
puts Time.now
|
|
115
|
+
ncbi.esearch("(genome AND analysis) OR bioinformatics", pmopts).each do |x|
|
|
116
|
+
puts "# each 'genome&analysis|bioinformatics' entries in pubmed"
|
|
117
|
+
puts x
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
puts "--- Retrieve NCBI entry by E-Utils ---"
|
|
121
|
+
|
|
122
|
+
puts Time.now
|
|
123
|
+
puts "# 16381885 entry in pubmed"
|
|
124
|
+
puts ncbi.efetch(16381885, pmopts)
|
|
125
|
+
|
|
126
|
+
puts Time.now
|
|
127
|
+
puts "# [10592173,14693808] entries in pubmed"
|
|
128
|
+
puts ncbi.efetch([10592173, 14693808], pmopts)
|
|
129
|
+
|
|
130
|
+
#end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = sample/demo_nucleicacid.rb - demonstration of Bio::NucleicAcid
|
|
3
|
+
#
|
|
4
|
+
# Copyright:: Copyright (C) 2001, 2005
|
|
5
|
+
# Toshiaki Katayama <k@bioruby.org>
|
|
6
|
+
# License:: The Ruby License
|
|
7
|
+
#
|
|
8
|
+
#
|
|
9
|
+
# == Description
|
|
10
|
+
#
|
|
11
|
+
# Demonstration of Bio::NucleicAcid, data related to nucleic acids.
|
|
12
|
+
#
|
|
13
|
+
# == Usage
|
|
14
|
+
#
|
|
15
|
+
# Simply run this script.
|
|
16
|
+
#
|
|
17
|
+
# $ ruby demo_nucleicacid.rb
|
|
18
|
+
#
|
|
19
|
+
# == Development information
|
|
20
|
+
#
|
|
21
|
+
# The code was moved from lib/bio/data/na.rb.
|
|
22
|
+
#
|
|
23
|
+
|
|
24
|
+
require 'bio'
|
|
25
|
+
|
|
26
|
+
#if __FILE__ == $0
|
|
27
|
+
|
|
28
|
+
puts "### na = Bio::NucleicAcid.new"
|
|
29
|
+
na = Bio::NucleicAcid.new
|
|
30
|
+
|
|
31
|
+
puts "# na.to_re('yrwskmbdhvnatgc')"
|
|
32
|
+
p na.to_re('yrwskmbdhvnatgc')
|
|
33
|
+
|
|
34
|
+
puts "# Bio::NucleicAcid.to_re('yrwskmbdhvnatgc')"
|
|
35
|
+
p Bio::NucleicAcid.to_re('yrwskmbdhvnatgc')
|
|
36
|
+
|
|
37
|
+
puts "# na.weight('A')"
|
|
38
|
+
p na.weight('A')
|
|
39
|
+
|
|
40
|
+
puts "# Bio::NucleicAcid.weight('A')"
|
|
41
|
+
p Bio::NucleicAcid.weight('A')
|
|
42
|
+
|
|
43
|
+
puts "# na.weight('atgc')"
|
|
44
|
+
p na.weight('atgc')
|
|
45
|
+
|
|
46
|
+
puts "# Bio::NucleicAcid.weight('atgc')"
|
|
47
|
+
p Bio::NucleicAcid.weight('atgc')
|
|
48
|
+
|
|
49
|
+
#end
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = sample/demo_pathway.rb - demonstration of Bio::Pathway
|
|
3
|
+
#
|
|
4
|
+
# Copyright: Copyright (C) 2001
|
|
5
|
+
# Toshiaki Katayama <k@bioruby.org>,
|
|
6
|
+
# Shuichi Kawashima <shuichi@hgc.jp>
|
|
7
|
+
# License:: The Ruby License
|
|
8
|
+
#
|
|
9
|
+
#
|
|
10
|
+
# == Description
|
|
11
|
+
#
|
|
12
|
+
# Demonstration of Bio::Pathway, an implementation of the graph data structure
|
|
13
|
+
# and graph algorithms.
|
|
14
|
+
#
|
|
15
|
+
# == Usage
|
|
16
|
+
#
|
|
17
|
+
# Simply run this script.
|
|
18
|
+
#
|
|
19
|
+
# $ ruby demo_pathway.rb
|
|
20
|
+
#
|
|
21
|
+
# == Development information
|
|
22
|
+
#
|
|
23
|
+
# The code was moved from lib/bio/pathway.rb.
|
|
24
|
+
#
|
|
25
|
+
|
|
26
|
+
require 'bio'
|
|
27
|
+
|
|
28
|
+
#if __FILE__ == $0
|
|
29
|
+
|
|
30
|
+
puts "--- Test === method true/false"
|
|
31
|
+
r1 = Bio::Relation.new('a', 'b', 1)
|
|
32
|
+
r2 = Bio::Relation.new('b', 'a', 1)
|
|
33
|
+
r3 = Bio::Relation.new('b', 'a', 2)
|
|
34
|
+
r4 = Bio::Relation.new('a', 'b', 1)
|
|
35
|
+
p r1 === r2
|
|
36
|
+
p r1 === r3
|
|
37
|
+
p r1 === r4
|
|
38
|
+
p [ r1, r2, r3, r4 ].uniq
|
|
39
|
+
p r1.eql?(r2)
|
|
40
|
+
p r3.eql?(r2)
|
|
41
|
+
|
|
42
|
+
# Sample Graph :
|
|
43
|
+
# +----------------+
|
|
44
|
+
# | |
|
|
45
|
+
# v |
|
|
46
|
+
# +---------(q)-->(t)------->(y)<----(r)
|
|
47
|
+
# | | | ^ |
|
|
48
|
+
# v | v | |
|
|
49
|
+
# +--(s)<--+ | (x)<---+ (u)<-----+
|
|
50
|
+
# | | | | |
|
|
51
|
+
# v | | v |
|
|
52
|
+
# (v)----->(w)<---+ (z)----+
|
|
53
|
+
|
|
54
|
+
data = [
|
|
55
|
+
[ 'q', 's', 1, ],
|
|
56
|
+
[ 'q', 't', 1, ],
|
|
57
|
+
[ 'q', 'w', 1, ],
|
|
58
|
+
[ 'r', 'u', 1, ],
|
|
59
|
+
[ 'r', 'y', 1, ],
|
|
60
|
+
[ 's', 'v', 1, ],
|
|
61
|
+
[ 't', 'x', 1, ],
|
|
62
|
+
[ 't', 'y', 1, ],
|
|
63
|
+
[ 'u', 'y', 1, ],
|
|
64
|
+
[ 'v', 'w', 1, ],
|
|
65
|
+
[ 'w', 's', 1, ],
|
|
66
|
+
[ 'x', 'z', 1, ],
|
|
67
|
+
[ 'y', 'q', 1, ],
|
|
68
|
+
[ 'z', 'x', 1, ],
|
|
69
|
+
]
|
|
70
|
+
|
|
71
|
+
ary = []
|
|
72
|
+
|
|
73
|
+
puts "--- List of relations"
|
|
74
|
+
data.each do |x|
|
|
75
|
+
ary << Bio::Relation.new(*x)
|
|
76
|
+
end
|
|
77
|
+
p ary
|
|
78
|
+
|
|
79
|
+
puts "--- Generate graph from list of relations"
|
|
80
|
+
graph = Bio::Pathway.new(ary)
|
|
81
|
+
p graph
|
|
82
|
+
|
|
83
|
+
puts "--- Test to_matrix method"
|
|
84
|
+
p graph.to_matrix
|
|
85
|
+
|
|
86
|
+
puts "--- Test dump_matrix method"
|
|
87
|
+
puts graph.dump_matrix(0)
|
|
88
|
+
|
|
89
|
+
puts "--- Test dump_list method"
|
|
90
|
+
puts graph.dump_list
|
|
91
|
+
|
|
92
|
+
puts "--- Labeling some nodes"
|
|
93
|
+
hash = { 'q' => "L1", 's' => "L2", 'v' => "L3", 'w' => "L4" }
|
|
94
|
+
graph.label = hash
|
|
95
|
+
p graph
|
|
96
|
+
|
|
97
|
+
puts "--- Extract subgraph by label"
|
|
98
|
+
p graph.subgraph
|
|
99
|
+
|
|
100
|
+
puts "--- Extract subgraph by list"
|
|
101
|
+
p graph.subgraph(['q', 't', 'x', 'y', 'z'])
|
|
102
|
+
|
|
103
|
+
puts "--- Test cliquishness of the node 'q'"
|
|
104
|
+
p graph.cliquishness('q')
|
|
105
|
+
|
|
106
|
+
puts "--- Test cliquishness of the node 'q' (undirected)"
|
|
107
|
+
u_graph = Bio::Pathway.new(ary, 'undirected')
|
|
108
|
+
p u_graph.cliquishness('q')
|
|
109
|
+
|
|
110
|
+
puts "--- Test small_world histgram"
|
|
111
|
+
p graph.small_world
|
|
112
|
+
|
|
113
|
+
puts "--- Test breadth_first_search method"
|
|
114
|
+
distance, predecessor = graph.breadth_first_search('q')
|
|
115
|
+
p distance
|
|
116
|
+
p predecessor
|
|
117
|
+
|
|
118
|
+
puts "--- Test bfs_shortest_path method"
|
|
119
|
+
step, path = graph.bfs_shortest_path('y', 'w')
|
|
120
|
+
p step
|
|
121
|
+
p path
|
|
122
|
+
|
|
123
|
+
puts "--- Test depth_first_search method"
|
|
124
|
+
timestamp, tree, back, cross, forward = graph.depth_first_search
|
|
125
|
+
p timestamp
|
|
126
|
+
print "tree edges : "; p tree
|
|
127
|
+
print "back edges : "; p back
|
|
128
|
+
print "cross edges : "; p cross
|
|
129
|
+
print "forward edges : "; p forward
|
|
130
|
+
|
|
131
|
+
puts "--- Test dfs_topological_sort method"
|
|
132
|
+
#
|
|
133
|
+
# Professor Bumstead topologically sorts his clothing when getting dressed.
|
|
134
|
+
#
|
|
135
|
+
# "undershorts" "socks"
|
|
136
|
+
# | | |
|
|
137
|
+
# v | v "watch"
|
|
138
|
+
# "pants" --+-------> "shoes"
|
|
139
|
+
# |
|
|
140
|
+
# v
|
|
141
|
+
# "belt" <----- "shirt" ----> "tie" ----> "jacket"
|
|
142
|
+
# | ^
|
|
143
|
+
# `---------------------------------------'
|
|
144
|
+
#
|
|
145
|
+
dag = Bio::Pathway.new([
|
|
146
|
+
Bio::Relation.new("undeershorts", "pants", true),
|
|
147
|
+
Bio::Relation.new("undeershorts", "shoes", true),
|
|
148
|
+
Bio::Relation.new("socks", "shoes", true),
|
|
149
|
+
Bio::Relation.new("watch", "watch", true),
|
|
150
|
+
Bio::Relation.new("pants", "belt", true),
|
|
151
|
+
Bio::Relation.new("pants", "shoes", true),
|
|
152
|
+
Bio::Relation.new("shirt", "belt", true),
|
|
153
|
+
Bio::Relation.new("shirt", "tie", true),
|
|
154
|
+
Bio::Relation.new("tie", "jacket", true),
|
|
155
|
+
Bio::Relation.new("belt", "jacket", true),
|
|
156
|
+
])
|
|
157
|
+
p dag.dfs_topological_sort
|
|
158
|
+
|
|
159
|
+
puts "--- Test dijkstra method"
|
|
160
|
+
distance, predecessor = graph.dijkstra('q')
|
|
161
|
+
p distance
|
|
162
|
+
p predecessor
|
|
163
|
+
|
|
164
|
+
puts "--- Test dijkstra method by weighted graph"
|
|
165
|
+
#
|
|
166
|
+
# 'a' --> 'b'
|
|
167
|
+
# | 1 | 3
|
|
168
|
+
# |5 v
|
|
169
|
+
# `----> 'c'
|
|
170
|
+
#
|
|
171
|
+
r1 = Bio::Relation.new('a', 'b', 1)
|
|
172
|
+
r2 = Bio::Relation.new('a', 'c', 5)
|
|
173
|
+
r3 = Bio::Relation.new('b', 'c', 3)
|
|
174
|
+
w_graph = Bio::Pathway.new([r1, r2, r3])
|
|
175
|
+
p w_graph
|
|
176
|
+
p w_graph.dijkstra('a')
|
|
177
|
+
|
|
178
|
+
puts "--- Test bellman_ford method by negative weighted graph"
|
|
179
|
+
#
|
|
180
|
+
# ,-- 'a' --> 'b'
|
|
181
|
+
# | | 1 | 3
|
|
182
|
+
# | |5 v
|
|
183
|
+
# | `----> 'c'
|
|
184
|
+
# | ^
|
|
185
|
+
# |2 | -5
|
|
186
|
+
# `--> 'd' ----'
|
|
187
|
+
#
|
|
188
|
+
r4 = Bio::Relation.new('a', 'd', 2)
|
|
189
|
+
r5 = Bio::Relation.new('d', 'c', -5)
|
|
190
|
+
w_graph.append(r4)
|
|
191
|
+
w_graph.append(r5)
|
|
192
|
+
p w_graph.bellman_ford('a')
|
|
193
|
+
p graph.bellman_ford('q')
|
|
194
|
+
|
|
195
|
+
#end
|
|
196
|
+
|