rcdk 0.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/README +46 -0
- data/Rakefile +100 -0
- data/java/cdk-20060714.jar +0 -0
- data/lib/java.rb +69 -0
- data/lib/rcdk.rb +34 -0
- data/test/test.rb +47 -0
- metadata +59 -0
data/README
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
=RCDK - The Ruby Interface for the Chemistry Development Kit (CDK)
|
2
|
+
|
3
|
+
RCDK makes it possible to use the CDK library, which is written in
|
4
|
+
Java, from Ruby.
|
5
|
+
|
6
|
+
==Typical Usage
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require_gem 'rcdk'
|
10
|
+
|
11
|
+
SmilesParser = import('org.openscience.cdk.smiles.SmilesParser')
|
12
|
+
|
13
|
+
parser = SmilesParser.new
|
14
|
+
smiles = 'c1ccccc1'
|
15
|
+
mol = parser.parseSmiles(smiles)
|
16
|
+
|
17
|
+
puts mol.getAtomCount # =>6
|
18
|
+
|
19
|
+
==Downloading
|
20
|
+
|
21
|
+
Both a RubyGems installation package and a full source package
|
22
|
+
can be obtained from:
|
23
|
+
|
24
|
+
http://rubyforge.org/projects/rcdk
|
25
|
+
|
26
|
+
==Requirements
|
27
|
+
|
28
|
+
RCDK was developed with Ruby 1.8.4. Earlier versions of Ruby
|
29
|
+
may also be compatible.
|
30
|
+
|
31
|
+
==Installing
|
32
|
+
|
33
|
+
The RubyGems package can be installed using the following command
|
34
|
+
(as root):
|
35
|
+
|
36
|
+
gem install rcdk
|
37
|
+
|
38
|
+
==License
|
39
|
+
RCDK is distributed under the GNU LGPL version 2.1 (see 'LICENSE').
|
40
|
+
It contains bytecode from the Chemistry Development Kit (CDK) distribution,
|
41
|
+
which is itself licensed under the LGPL. The complete source code for
|
42
|
+
the CDK can be obtained from http://sf.net/projects/cdk.
|
43
|
+
|
44
|
+
==Contact
|
45
|
+
|
46
|
+
More information can be found at http://rcdk.rubyforge.org.
|
data/Rakefile
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
# =============================================
|
2
|
+
# RCDK - The Chemistry Development Kit for Ruby
|
3
|
+
# =============================================
|
4
|
+
#
|
5
|
+
# Project Info: http://rcdk.rubyforge.org
|
6
|
+
#
|
7
|
+
# Copyright (C) 2006 Richard L. Apodaca
|
8
|
+
#
|
9
|
+
# This library is free software; you can redistribute it and/or
|
10
|
+
# modify it under the terms of the GNU Lesser General Public
|
11
|
+
# License version 2.1 as published by the Free Software
|
12
|
+
# Foundation.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
# Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public
|
20
|
+
# License along with this library; if not, write to the Free
|
21
|
+
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
|
22
|
+
# Boston, MA 02111-1301, USA.
|
23
|
+
|
24
|
+
require 'rake'
|
25
|
+
require 'rake/testtask'
|
26
|
+
require 'rake/rdoctask'
|
27
|
+
require 'rake/gempackagetask'
|
28
|
+
|
29
|
+
PKG_VERSION = "0.1.0"
|
30
|
+
|
31
|
+
PKG_FILES = FileList[
|
32
|
+
"Rakefile", "README",
|
33
|
+
"lib/**/*.rb",
|
34
|
+
"test/**/*",
|
35
|
+
"java/*.jar"
|
36
|
+
]
|
37
|
+
|
38
|
+
desc "Default task"
|
39
|
+
task :default => [:test]
|
40
|
+
|
41
|
+
desc "Clean up"
|
42
|
+
task :clean do
|
43
|
+
rm_rf "dist"
|
44
|
+
rm_rf "doc"
|
45
|
+
rm_rf "pkg"
|
46
|
+
end
|
47
|
+
|
48
|
+
desc "Create the source distribution"
|
49
|
+
task :dist do
|
50
|
+
rm_rf "dist"
|
51
|
+
|
52
|
+
mkdir "dist"
|
53
|
+
mkdir "dist/lib"
|
54
|
+
mkdir "dist/java"
|
55
|
+
mkdir "dist/test"
|
56
|
+
|
57
|
+
cp_r Dir.glob('*.rb'), 'dist'
|
58
|
+
cp_r Dir.glob('lib/*.rb'), 'dist/lib'
|
59
|
+
cp_r Dir.glob('java/*.jar'), 'dist/java'
|
60
|
+
cp_r Dir.glob('test/*.rb'), 'dist/test'
|
61
|
+
cp 'Rakefile', 'dist'
|
62
|
+
cp 'README', 'dist'
|
63
|
+
cp 'LICENSE', 'dist'
|
64
|
+
end
|
65
|
+
|
66
|
+
Rake::TestTask.new do |t|
|
67
|
+
t.libs << "test"
|
68
|
+
t.test_files = FileList['test/test*.rb']
|
69
|
+
t.verbose = true
|
70
|
+
end
|
71
|
+
|
72
|
+
Rake::RDocTask.new do |rdoc|
|
73
|
+
rdoc.rdoc_dir = 'doc'
|
74
|
+
rdoc.title = "Ruby CDK"
|
75
|
+
rdoc.rdoc_files.include('README')
|
76
|
+
rdoc.options << '--line-numbers'
|
77
|
+
rdoc.options << '--inline-source'
|
78
|
+
rdoc.options << '--main' << 'README'
|
79
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
80
|
+
end
|
81
|
+
|
82
|
+
spec = Gem::Specification.new do |s|
|
83
|
+
s.name = 'rcdk'
|
84
|
+
s.version = PKG_VERSION
|
85
|
+
s.author = "Richard Apodaca"
|
86
|
+
s.homepage = "http://rcdk.rubyforge.org"
|
87
|
+
s.platform = Gem::Platform::RUBY
|
88
|
+
s.require_path = 'lib'
|
89
|
+
s.autorequire = 'rcdk'
|
90
|
+
s.has_rdoc = true
|
91
|
+
s.files = PKG_FILES
|
92
|
+
s.summary = "A Ruby wrapper for the Chemistry Development Kit"
|
93
|
+
s.add_dependency("rjb", ">= 1.0.0")
|
94
|
+
end
|
95
|
+
|
96
|
+
Rake::GemPackageTask.new(spec) do |gem|
|
97
|
+
gem.need_tar = true
|
98
|
+
gem.need_tar_gz = true
|
99
|
+
gem.package_files += PKG_FILES
|
100
|
+
end
|
Binary file
|
data/lib/java.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# =============================================
|
2
|
+
# RCDK - The Chemistry Development Kit for Ruby
|
3
|
+
# =============================================
|
4
|
+
#
|
5
|
+
# Project Info: http://rcdk.rubyforge.org
|
6
|
+
#
|
7
|
+
# Copyright (C) 2006 Richard L. Apodaca
|
8
|
+
#
|
9
|
+
# This library is free software; you can redistribute it and/or
|
10
|
+
# modify it under the terms of the GNU Lesser General Public
|
11
|
+
# License version 2.1 as published by the Free Software
|
12
|
+
# Foundation.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
# Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public
|
20
|
+
# License along with this library; if not, write to the Free
|
21
|
+
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
|
22
|
+
# Boston, MA 02111-1301, USA.
|
23
|
+
|
24
|
+
require 'rubygems'
|
25
|
+
require_gem 'rjb'
|
26
|
+
require 'rjb'
|
27
|
+
|
28
|
+
# Returns the Java class represented by the fully qualified name
|
29
|
+
# <tt>klass</tt> via Ruby Java Bridge (RJB).
|
30
|
+
def import(klass)
|
31
|
+
Rjb::import(klass)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Configuration and use of Java classes through Ruby Java Bridge (RJB).
|
35
|
+
module Java
|
36
|
+
# Configuration of classpath.
|
37
|
+
class Classpath
|
38
|
+
# Appends <tt>path</tt> to the <tt>CLASSPATH</tt> environment variable.
|
39
|
+
def self.add(path)
|
40
|
+
if set?
|
41
|
+
ENV['CLASSPATH'] = ENV['CLASSPATH'] + File::PATH_SEPARATOR + path
|
42
|
+
else
|
43
|
+
ENV['CLASSPATH'] = path
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Returns false if the <tt>CLASSPATH</tt> variable is either null or
|
48
|
+
# empty, or otherwise true.
|
49
|
+
def self.set?
|
50
|
+
if !ENV['CLASSPATH']
|
51
|
+
return false
|
52
|
+
elsif ''.eql?(ENV['CLASSPATH'])
|
53
|
+
return false
|
54
|
+
end
|
55
|
+
|
56
|
+
true
|
57
|
+
end
|
58
|
+
|
59
|
+
# Returns the value of the <tt>CLASSPATH</tt> variable.
|
60
|
+
def self.get
|
61
|
+
ENV['CLASSPATH']
|
62
|
+
end
|
63
|
+
|
64
|
+
# Sets the value of the <tt>CLASSPATH</tt> varible to <tt>nil</tt>.
|
65
|
+
def self.clear!
|
66
|
+
ENV['CLASSPATH'] = nil
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/lib/rcdk.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# =============================================
|
2
|
+
# RCDK - The Chemistry Development Kit for Ruby
|
3
|
+
# =============================================
|
4
|
+
#
|
5
|
+
# Project Info: http://rcdk.rubyforge.org
|
6
|
+
#
|
7
|
+
# Copyright (C) 2006 Richard L. Apodaca
|
8
|
+
#
|
9
|
+
# This library is free software; you can redistribute it and/or
|
10
|
+
# modify it under the terms of the GNU Lesser General Public
|
11
|
+
# License version 2.1 as published by the Free Software
|
12
|
+
# Foundation.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
# Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public
|
20
|
+
# License along with this library; if not, write to the Free
|
21
|
+
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
|
22
|
+
# Boston, MA 02111-1301, USA.
|
23
|
+
|
24
|
+
require 'java'
|
25
|
+
|
26
|
+
RCDK_VERSION = '0.1.0'
|
27
|
+
CDK_VERSION = '20060714'
|
28
|
+
|
29
|
+
Java::Classpath.add(Gem.dir + File::SEPARATOR +
|
30
|
+
File.join('gems', 'rcdk-' + RCDK_VERSION, 'java', 'cdk-' +
|
31
|
+
CDK_VERSION + '.jar'))
|
32
|
+
|
33
|
+
|
34
|
+
|
data/test/test.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# =============================================
|
2
|
+
# RCDK - The Chemistry Development Kit for Ruby
|
3
|
+
# =============================================
|
4
|
+
#
|
5
|
+
# Project Info: http://rcdk.rubyforge.org
|
6
|
+
#
|
7
|
+
# Copyright (C) 2006 Richard L. Apodaca
|
8
|
+
#
|
9
|
+
# This library is free software; you can redistribute it and/or
|
10
|
+
# modify it under the terms of the GNU Lesser General Public
|
11
|
+
# License version 2.1 as published by the Free Software
|
12
|
+
# Foundation.
|
13
|
+
#
|
14
|
+
# This library is distributed in the hope that it will be useful,
|
15
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
# Lesser General Public License for more details.
|
18
|
+
#
|
19
|
+
# You should have received a copy of the GNU Lesser General Public
|
20
|
+
# License along with this library; if not, write to the Free
|
21
|
+
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
|
22
|
+
# Boston, MA 02111-1301, USA.
|
23
|
+
|
24
|
+
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
25
|
+
|
26
|
+
require 'rcdk'
|
27
|
+
require 'test/unit'
|
28
|
+
|
29
|
+
Java::Classpath.add(File.join('java', 'cdk-' + '20060714' + '.jar'))
|
30
|
+
|
31
|
+
SmilesParser = import('org.openscience.cdk.smiles.SmilesParser')
|
32
|
+
|
33
|
+
# A very simple test suite.
|
34
|
+
class BasicTest < Test::Unit::TestCase
|
35
|
+
|
36
|
+
# Loads the SMILES string for benzene and verifies that the resulting
|
37
|
+
# CDK molecule has six atoms.
|
38
|
+
def test_parse_smiles
|
39
|
+
parser = SmilesParser.new
|
40
|
+
smiles = 'c1ccccc1'
|
41
|
+
|
42
|
+
mol = parser.parseSmiles(smiles)
|
43
|
+
|
44
|
+
assert_equal(6, mol.getAtomCount)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
metadata
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.0
|
3
|
+
specification_version: 1
|
4
|
+
name: rcdk
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.1.0
|
7
|
+
date: 2006-09-13 00:00:00 -07:00
|
8
|
+
summary: A Ruby wrapper for the Chemistry Development Kit
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email:
|
12
|
+
homepage: http://rcdk.rubyforge.org
|
13
|
+
rubyforge_project:
|
14
|
+
description:
|
15
|
+
autorequire: rcdk
|
16
|
+
default_executable:
|
17
|
+
bindir: bin
|
18
|
+
has_rdoc: true
|
19
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.0.0
|
24
|
+
version:
|
25
|
+
platform: ruby
|
26
|
+
signing_key:
|
27
|
+
cert_chain:
|
28
|
+
post_install_message:
|
29
|
+
authors:
|
30
|
+
- Richard Apodaca
|
31
|
+
files:
|
32
|
+
- Rakefile
|
33
|
+
- README
|
34
|
+
- lib/rcdk.rb
|
35
|
+
- lib/java.rb
|
36
|
+
- test/test.rb
|
37
|
+
- java/cdk-20060714.jar
|
38
|
+
test_files: []
|
39
|
+
|
40
|
+
rdoc_options: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
executables: []
|
45
|
+
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
requirements: []
|
49
|
+
|
50
|
+
dependencies:
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: rjb
|
53
|
+
version_requirement:
|
54
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: 1.0.0
|
59
|
+
version:
|