Revision history of G-language System
v.1.8.x
v.1.8.6 in development
- fixed a bug in $gb→before_startcodon, after_startcodon, before_stopcodon, after_stopcodon, where the functions returned wrong sequence when the requested length was not available at sequence ends.
v.1.8.5 2008.11.01
- fixed a bug of seqinfo() in handling capitalized sequence data.
- fixed $gb→output() bug in handling '%'
- fixed multi-fasta related bug in G::IO::FastaI, and optimized
- fixed gcf file permission
- fixed a bug in GenBank parser. WARNING: previous versions may not have correctly parsed "join" definitions that span for multiple lines.
v.1.8.4 2008.05.16
- added "rep_origin" feature support for rep_ori_ter()
- refactored $gb→gene2id(), $gb→seq_info() and G::Seq::Util::seqinfo()
- refactoring of G::IO::Handler
- added $gb→disable_pseudogenes
- fixed a bug in new G() with "multiple locus" option, which probably was not working since 1.8.1.
- minor update for generateGMap()
- fixed a bug in G::DynamicLoader, which probably was not working for a long time…
- MacOS X release now includes EMBOSS, blastall, blat, clustalw2 preinstalled.
v.1.8.3 2008.04.21
- removed deprecated G::Seq::Usage, which was previously integrated to G::Seq::Codon
- added error handling for G::Seq::GCskew::gcsi for when genome size is too small
- $gb→find() is now case insensitive
- bug fix for arrow direction for G::Seq::GenomeMap::circular_map()
- added opt_list which shows the default options for Odyssay functions. This is in alpha state.
- major update to G::Seq::Primitive::shuffleseq() to support preservation of k-mer count.
- added $gb→reverse_strand(), $gb→relocate_origin()
- genomicskew() now returns array of references to result arrays
- added -at, -purine and -keto options for gcsi()
- updated bundled genomes
v.1.8.2 2008.02.27
- now requires MOBY::Client::Central
- added help -w for searching web services through BioMOBY.
- added G::Tools::WebServices::ws for running BioMOBY web services.
- this is mainly the result of BioHackathon 2008. Philosophy behind this implementation is documented here.
v.1.8.1 2008.02.14
- mionor fix for dnawalk, genome_map3, circular_map for Genome Projector
- G::Tools::GMap::generateGMap() can now handle levels greater than 6
- HTML::Form now required for installation
- added G::Tools::EMBOSS, with seqret() , and G::Tools::Blast::blastall() by Kazuki Oshita
- added seqret.pl which is a simple script that use seqret() which functions identically as EMBOSS seqret command.
- added blastall.pl which is a simple script that use blastall() which functions identically as blastall commandline tool, but with DDBJ REST web service (so not formatdb required!).
- help command now stores documentation in virtual memory, and does not build everytime.
- help shows documentation when there is only one possible entry
- G::IO now keeps the pointer to the last instance created by new G(), which can be accessed by lastInstance G() or lastInstance G::IO(). SubOpt::opt_as_gb() now returns this lastInstance when there is no argument specified, so you can now do analysis in G-language Shell without making a variable for the G instance, as follows:
G > load ecoli G > gcskew [ecoli graph comes up] G > load bsub G > gcskew [bsub graph comes up]
v.1.8.0 2008.01.09
- added -e option to G command (Shell). This is experimental.
- fixed loading bug (for .glang directory) in glang command
- fixed a bug in db_save
- This release is for KNOB 4.0 only.
v.1.7.x
v.1.7.8 2007.11.15
- introduced "load()" method, which is equivalent to "new G()", so something like the following is now preferred.
$gb = load "ecoli"
- removed G::Tools::Graph::_UniUniGrapher
- deprecated G::Tools::Graph::_UniMultiGrapher. Use G::Tools::Graph::grapher instead.
- always make data and graph directories when opt_get() is called
- added G::Seq::PatSearch::find_iteron() and find_pattern()
- in Shell, $gb is preloaded with "ecoli" data if $gb is not saved in workspace.
- added -length option for G::Seq::PatSearch::oligomer_counter()
- added G::Seq::PatSearch::signature() and updated G::Seq::Codon for documentation and for addition of Ew, P2, codon_mva, deletion of entropy_cu, entropy_scu, codon_pca. (thanks to Haruo Suzuki of Idaho Univ.!)
v.1.7.7 2007.11.05
- fixed bugs in find_dif(), find_ter(), find_dnaAbox() introduced or upgraded in 1.7.6.
- removed G::Tools::KEGG_API3 (merged with G::Tools::KEGG_API)
- lazy loading of external modules to achieve x2~x3 faster loading using x2-x3 less memory.
- first integration of Infinity (distributed computing) modules.
- code optimization. Now entire packages is less than 30,000 lines
v.1.7.6 2007.10.23
- fixed a bug in 1.7.5 installer
- removed G::Seq::PatSearch::find_seq()
- added G::Seq::PatSearch::oligomer_search(), and updated other functions in this class to use this function. Now oligomer_counter() can search oligomers using degenerate nucleotide alphabet or regular expressions. See the help for these functions for details.
- added find_ter(), upgraded find_dnaAbox(), find_dif() in G::Seq::PatSearch
- added scalar context return value for leading_strand()
- greatly improved the performance of G::Seq::GCskew::find_ori_ter()
- fixed SVG-related bugs in genome_map2() and plasmid_map()
- added circular_map(), a very good-looking SVG image generator by Nobuhiro Kido, used in GenomeProjector.
- added dnawalk(), by Keita Ikegami, used in GenomeProjector.
v.1.7.5 2007.09.26
- added $gb→around_startcodon() and $gb→around_stopcodon()
- removed G::Seq::Eliminate::eliminate_pat(). try the following instead:
foreach $cds ($gb->cds()){
next if ($gb->around_startcodon($cds, 50, 50) =~ /pattern/);
}
- removed G::Seq::Eliminate::valid_CDS(). try the following instead:
foreach $cds ($gb->cds()){
my $genelength = length($gb->get_geneseq($cds))
next if ($genelength > 10000 || $genelength < 20);
}
- moved G::Seq::Eliminate::eliminate_atg to G::Seq::Util::filter_cds_by_atg. G::Seq::Eliminate is deprecated.
- removed maskseq, pasteseq, cds_echo, print_gene_function_list, atgcon from G::Seq::Util
- removed find_identical_gene, pseudo_atg from G::Seq::ORF
- fixed new G("file", "longest orf annotation");
- moved and rewritten longest_ORF to G::Seq::Util. G::Seq::ORF is now removed.
- G::Tools::(PBS|H2v|EPCR) are now deprecated.
- G::System::STeP is now deprecated.
v.1.7.4 2007.09.09
- G::Prelude is renamed to G::IO::Handler
- G::Skyline is renamed to G::IO
- moved G::IO::Bioperl::convert to G::IO::_bp2gb. removed G::IO::Bioperl.
- bug with BioPerl instances fixed.
- G::DB::BDBI is renamed to G::DB::Handler
- G::DB::Boranch is merged with G::DB::SDB and is removed.
- minor modifications to G::DB::BDB
v.1.7.3 2007.09.08
- p, say, puts are moved to G::Messenger (from G::Shell::Log) and are exported by default.
- fixed line-break bug for $gb→output() (in G::IO::GenBankO) introduced by the 1.7.2 update.
- made $gb→cds() depend on $gb→feature()
- G::DB::BDB (codename: Bluebird and Orochi) implemented. Something like following works now:)
$db = db_load("gene",
-driver=>"mysql",
-database=>"mus_musculus_core_46_36g",
-host=>"ensembldb.ensembl.org",
-port=>3306,
-primarykey=>"gene_id"
);
say $db->{239967}->{status};
exported methods are:
db_dbi
db_exists
db_path
db_set_path
db_save
db_load
most work just like sdb in G::DB::SDB.
- G::DB::GDBI, G::DB::GDBAPI (previous versions of Orochi) are removed.
v.1.7.2 2007.08.30
- now requires DBD::SQLite.
- fixed importing bugs in G::Seq::GCSkew.
- fixed File::ShareDir related bugs in glang and g2s
- fixed set_operon() to match the current RegulonDB format. (patch by Hiroyuki Nakamura. Thanx:)
- fixed line-break problem for $gb→output() (in G::IO::GenBankO)
- added -circular option to $gb→getseq(), $gb→get_gbkseq() (see help command for details)
- $gb→get_cdsseq() correctly handles joined CDS entry which spans across the ends of circular chromosome
- $gb→{CDS$n} is no longer separate: it is now an alias (reference or pointer) to corresponding $gb→{FEATURE$i}.
- using the above, $gb→{locus_tag name} and $gb→{gene name} now works! For example, in E.coli, all of the following can access the same data.
$gb->{FEATURE4}->{translation}
$gb->{CDS2}->{translation}
$gb->{thrA}->{translation}
$gb->{b0002}->{translation}
- fixes in G::Prelude to take advantage of the above. For example, the following now works:
$gb->next_feature("thrA");
$gb->get_geneseq("thrA");
$gb->startcodon("thrA");
$gb->before_startcodon("thrA");
- added $gb→find(). This method allows to search within the genome database instance $gb. See help for details.
v.1.7.1 2007.07.20
- Perl 5.8 is required now.
- fixed persistant workspace bug for G-language Shell.
v.1.7.0 2007.07.10
- added sample genomes
- merged G-language Manager and g2s.pl to the package
v.1.6.x
v.1.6.13 2007.07.07
- enabled searching for all modules with help -s|-g|-b without any keyword
- G::Tools::GMap::generateGMap stopped tiling in the x-direction by default
- moved view_cds from G::Seq::GCskew to G::Seq::Util
- fixed the appearance of help -g
- tidying up of the codes of G::Seq::Util
- added -cumulative option for gcskew(), and cum_gcskew() is deprecated.
- added gcsi()
- added -filter option to find_ori_ter()
v.1.6.12 2007.06.23
- added clear_cache command to G-language Shell
- Math::FFT is now required.
- removed the following deprecated modules
G::SystemsBiology::Serizawa
G::SystemsBiology::EcellReader
G::SystemsBiology::Pathway
G::Tools::RCluster (this is moved to Rcmd::Clustering
- fixed line length bug in Rcmd.pm
- added G::Tools::GMap for generating Google Map View
- moved all methods related to GenomeMap to G::Seq::GenomeMap class
- added genome_map3
v.1.6.11 2007.06.13
- added documentation to G::Seq::Primitive
- added shuffleseq method
- made the "did you mean?" prediction of "help" smarter.
- help -s now showing abstract of the searched methods updated documentations to match this.
- added Ruby-style "p" for G-language Shell which prints the formatted data structures. "puts" also works in Ruby-style, and Perl6 "say" is a nice replacement of print, which prints lists separated by comma and also ending with a newline.
- added Rcmd::Clutering: $rcmd→kmeans(), $rcmd→som(), $rcmd→hclust() added. see help document for details.
- added Rcmd::Normality. $rcmd→normtest performs test of normality using Anderson-Darling, Kolmogorov-Smirnov Lilliefors, or Shapiro-Wilk method.
- modified Rcmd to have $rcmd→set_mode() for temporary usage. Rcmd now inherits Rcmd::Clustering and Rcmd::Normality
v.1.6.10 2007.06.10
- bug fixes of G-language Shell.
- packaging for MacOS X 10.4 (Intel)
v.1.6.9 2007.06.07
- added G::Tools::Statistics. exported methods are:
mean
sum
variance
standard_deviation
min
mindex
max
maxdex
median
least_squares_fit
cor
ttest
where cor include options for Spearman's, Pearson's, and Kendall's methods, and ttest supports both independent and paired Student's t-test.
v.1.6.8 2007.06.06
- cleaned up the codes of G-language Shell
- logging features are moved to G::Shell::Log logging now works quite nicely
- modified the loading message
- '-h' option shows help message for G command
- removed "without annotation" option for new G()
- removed "long sequence" option for new G()
- Fixed a bug in EMBL parser (multiple-locus, join)
v.1.6.7 2007.06.05
- added $gb→rRNA(), $gb→tRNA(), $gb→gene() or $gb→feature("rRNA"), $gb→feature("tRNA"), $gb→feature("gene") or $gb→feature("any feature type") which functions like $gb→cds()
- added $gb→previous_feature(), $gb→next_feature(), $gb→previous_cds(), $gb→next_cds() which returns the feature ID of the next or previous features or CDS. See help for details.
- added manual for 35 "prelude" methods
- removed G::G.pm
v.1.6.6 2007.06.01
- Added G::Shell::EUtils
- This module provides pubmed and entrez commands to search through NCBI Entrez from G-language Shell use the help function of G-language Shell for details.
v.1.6.5 2007.05.31
- Added help command to G-language Shell
- Added G::Shell::Help to do the above purpose
- help also searches for Bioperl functions

v.1.6.4 2007.05.29
- First package using Module::Install
- SIGINT (Control-C) trap in Shell
- added many shell commands for Shell
- caching of genome data, which speeds up the system by 5-10 fold
- use "no cache" option to use no caching, "force cache" option to rebuild cache in new G() when necessary.
- added the following methods
query_arm dist_in_cc set_strand genes_from_ori
v.1.6.3 2007.01.12
- G::Seq::, G::SystemsBiology::, G::Tools:: classes now use SelfLoader. This resulted in 20% speed-up.
v.1.6.2 2006.05.13
- porting to MacOS X
v.1.6.1 2006.04.11
- porting to KNOB (Knoppix for Bio)
< v.1.6
v.1.4.9 2004.11.14
- porting to Windows (final version for Windows)
We are no longer supporting Windows
- Included G-language Shell (Interpreter)
v.1.1.0 2002.07.31
- micro module core
The former 'Prelude' core has been subdivided into micro module cores each responsible for specific functions. This enables more Object Oriented style of architecture, and better flexibility in plugging. Another advantage is to use Skyline core functions without doing 'use G;'. This can be alternatively called internally as 'use G::Skyline'.
G::Skyline inherits G::IO::GenBankO, which inherits G::IO::GenBankI, which inherits G::Prelude.
The following is the explanation of [new|altered] modules:
G.pm Inherits G::Skyline. Now only responsible for 'new G()' options and output options G::Prelude Core of core. Base class with manipulation methods only. G::IO::GenBankI Inherits G::Prelude. Embedded with GenBank parsers. G::IO::GenBankO Inherits G::GenBankI. Responsible for GenBank flatfile output. G::IO::Bioperl Responsible for the conversion of Bio::Seq::RichSeq to G::Skyline G::IO::Annotation Embedded with annotation functions G::Skyline Dummy class that multiply inherit the above classes
complement() and translate() are moved to G::Seq::Primitive so that they can be 'use'-ed internally from odyssey modules.
As stated above, with stronger object oriented form, it is easier to expand the functions without risking new bugs, and G::IO:: can be plugged with new parsers, such as that for FASTA, EMBL, and so on for more speed.
- enhanced bioperl porting
Conversion of Bio::Seq::RichSeq object to G::Skyline object is further enhanced, now almost perfectly mirroring including the header and the 'join' field.
G::IO::Bioperl::convert(struct Bio::Seq::RichSeq, struct G::Skyline);
easily converts the bioperl object.
SubOpt protocol is also enhanced so that now it can take bioperl object as well as G object. Therefore, all odyssey functions can be directly accessed from bioperl as follows:
$in = new Bio::SeqIO('-file'=>"hoge.embl");
$bioperl = $in->next_seq();
gcskew($bioperl, -window=>1000, -output=>"show");
- new interpreter for loading options
Multiple options can now be used. For example,
$gb = new G("hoge.embl", "EMBL", "no msg", "without annotation", "longest ORF annotation", "multiple locus");
is now possible. Order can be random.
Database formats supported is also expanded, now supporting all of the following: GenBank, Fasta, SCF, PIR, EMBL, raw, GCG, ace, BSML, swiss, phd, game, qual. Moreover, file format option is now case insensitive. 'GENBANK', 'GenBank', 'genbank' all point to the same old GenBank. Furthermore, Skyline core can now automatically guess the format of the database even without the format options. Thus 'new G("hoge.gbk")' load genbank file, and 'new G("hoge.bsml")' automatically loads in BSML format. From now on, you probably do no have to care about the database formats at the input to G-language GAE.
Network retrieval is also automatically interpreted, and enhanced. Accession numbers starting with NC_ is taken from RefSeq in NCBI, and other accession numbers are taken from ordinary GenBank ftps. Again, here you do not have to enter 'net GenBank' option, although if you prefer that, you can.
- BSML and LabBook Genome XML Viewer (TM)
Because BSML output is enabled, annotated G object can directly be put into the LabBook Genome XML Viewer (TM) which is a free genome viewer and editer of BSML files. This enables graphical genome view, circular plasmid view, with zooming and refering functions. Also, it is worth noting that it is the first step of G-language GAE to be able to input/output XML formats of databases. GAME XML format is also supported.
- Bug fix and addition of modules
Bug in Prelude ($gb→del_key(), parsing of FT w/o value, -w switch compliancy) is fixed, and several new modules are incorporated into the Odyssey functions layer. The documentations for the new functions will be available at our website by the official release of version 2.
v.1.0.0 2001.09.11
- initial relase