Camelia, the Perl 6 bug

IRC log for #cdk, 2010-06-19

| Channels | #cdk index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
05:25 jbrefort joined #cdk
05:53 egonw_ joined #cdk
06:14 sneumann joined #cdk
09:13 carsten joined #cdk
09:22 CIA-47 org.openscience.cdk: Arvid Berg bioclipse2.4 * r52fb75d / plugins/org.openscience.cdk.renderextra/src​/org/openscience/cdk/renderer/Renderer.java : Fix for verry small bond length when editing new molecule. - http://bit.ly/d30Dir
09:22 CIA-47 org.openscience.cdk: Egon Willighagen bioclipse2.4 * r252f607 / plugins/org.openscience.cdk.contro​lbasic/src/org/openscience/cdk/con​troller/AlterBondStereoModule.java : Added missing expected constructor (fixes #1998) - http://bit.ly/bSk5dQ
09:22 CIA-47 org.openscience.cdk: jonalv bioclipse2.4 * r35985f8 / plugins/org.openscience.cdk.ioformats/src/​org/openscience/cdk/io/FormatFactory.java :
09:22 CIA-47 org.openscience.cdk: specify fail behavior (returns null) in javadoc
09:22 CIA-47 org.openscience.cdk: Added @return to javadoc including a statement about behavior when failing. - http://bit.ly/atzV41
10:43 CIA-47 cdk: jonalv master * rbfd06db / src/main/org/openscience/cdk/io/FormatFactory.java :
10:43 CIA-47 cdk: specify fail behavior (returns null) in javadoc
10:43 CIA-47 cdk: Added @return to javadoc including a statement about behavior when failing.
10:43 CIA-47 cdk: Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net> - http://bit.ly/axIQS1
11:06 sneumann joined #cdk
12:09 sneumann joined #cdk
12:17 bag_ joined #cdk
14:05 jean_ joined #cdk
15:00 CIA-49 joined #cdk
16:26 jbrefort joined #cdk
16:56 egonw joined #cdk
18:10 maclean joined #cdk
20:37 rajarshi joined #cdk
20:38 rajarshi egonw: hi
20:38 egonw moin!
20:38 zarah hello egonw, you fantastic person you
20:40 egonw rajarshi: fingerprint -> 3.3.1
20:40 rajarshi ok
20:40 egonw any test suite I can run?
20:40 rajarshi are you sure that you have only a single version of rcdk installed on the system?
20:40 egonw to see if the basic stuff is working?
20:40 egonw no, I don't
20:40 rajarshi I have had this problem when one is installed system wide and one is installed in my own lib dir
20:40 rajarshi there is a test suite
20:41 rajarshi R CMD CHECK rcdk
20:41 rajarshi from above the rcdk directory
20:42 egonw exec: 62: CHECK: not found
20:42 egonw oh...
20:42 egonw ic
20:42 egonw mom
20:43 egonw ah, no... same message
20:43 rajarshi ??
20:43 egonw check in lower case
20:43 egonw Packages required but not available:
20:43 egonw xtable
20:43 rajarshi ok, install that
20:43 egonw it's elsewhere marked as optional
20:44 rajarshi oh and for some reason the dependencies for CHECK require them to be installed system wide
20:44 rajarshi I know - it's for the vignette
20:44 rajarshi but CHECK goes throgh everything and so it needs all dependencies
20:44 egonw system wide?
20:44 rajarshi try R CMD CHECK --no-vignettes
20:44 rajarshi correct
20:44 egonw Only *source* packages can be checked.
20:45 egonw but I get the point
20:45 rajarshi right - I assume you're working with the source package :)
20:45 egonw no was not :)
20:46 egonw but what do you make from that "Must supply an IAtomContainer" message?
20:46 rajarshi that error occured in previous versions due ot csting issues
20:47 rajarshi thisis the reason I post to cdk-devel to get rid of IMolecule :)
20:47 egonw ok, consider this:
20:47 egonw mol = parse.smiles("CCO")
20:47 rajarshi or else make everything take IAtomContainer
20:47 egonw attr(mol, "jclass")
20:47 egonw NULL
20:47 egonw it returns NULL
20:47 rajarshi > mol <- parse.smiles("CCC")
20:47 rajarshi > attr(mol, 'jclass')
20:47 rajarshi [1] "org/openscience/cdk/interfaces/IAtomContainer"
20:47 rajarshi >
20:48 egonw right, that's what I expected
20:48 egonw or interfaces/IMolecule
20:48 egonw or Molecule
20:48 egonw but not NULL
20:48 egonw this is where the problem seems to be
20:48 rajarshi I think you have a clash somewhere
20:48 rajarshi what jvm is this?
20:49 egonw how do I check?
20:49 rajarshi cn you show me the source of parse.smiles ? (Just type the function name on the R cmd line)
20:49 egonw function (smiles)
20:49 egonw {
20:49 egonw if (!is.character(smiles)) {
20:49 egonw stop("Must supply a character vector of SMILES strings")
20:49 egonw }
20:49 egonw parser <- get.smiles.parser()
20:49 egonw returnValue <- sapply(smiles, function(x) {
20:49 egonw mol <- .jcall(parser, "Lorg/openscience/cdk/interfaces/IMolecule;",
20:49 egonw "parseSmiles", x)
20:49 egonw if (is.null(mol)) {
20:50 egonw return(NA)
20:50 egonw }
20:50 egonw else {
20:50 egonw return(.jcast(mol, "org/openscience/cdk/interfaces/IAtomContainer"))
20:50 egonw }
20:50 egonw })
20:50 egonw return(returnValue)
20:50 egonw }
20:51 rajarshi hmm, damn
20:51 rajarshi I have two versions of rcdk installed
20:51 rajarshi let me reconfig
20:53 rajarshi aaargh!!!
20:53 rajarshi I recently updated parse.smiles to return a *list* of objects
20:53 rajarshi so attr(mol[[1]], 'jclass')  should work
20:54 rajarshi and then get.fingerprint(mol[[1]])
20:54 rajarshi sorry, should have caught on earlier
20:54 egonw yes
20:54 egonw that works
20:54 egonw ok, one down :)
20:54 rajarshi can you send me a signature output file
20:55 egonw # ../../../runrepos/data/qsar​/bpoint/boiling_points.sdf:
20:55 egonw {1, 2, 3}
20:55 egonw {3, 4, 5}
20:56 rajarshi > fp.read('~/tmp/sig.txt', size=82, header=FALSE, lf=cdk.lf)
20:56 rajarshi [[1]]
20:56 rajarshi Fingerprint object
20:56 rajarshi name =
20:56 rajarshi length =  82
20:56 rajarshi folded =  FALSE
20:56 rajarshi source =  cdk.lf
20:56 rajarshi bits on =  1 2 3
20:56 rajarshi [[2]]
20:56 rajarshi Fingerprint object
20:56 rajarshi name =
20:56 rajarshi length =  82
20:56 rajarshi folded =  FALSE
20:56 rajarshi source =  cdk.lf
20:56 rajarshi it seems to work
20:57 rajarshi can you email that file, so I can replicate
20:57 egonw oh, bugger
20:57 egonw yes, it works now
20:57 rajarshi ok, good
20:57 egonw your code on github was useful
20:57 rajarshi which version of cdk has the sig descs?
20:58 rajarshi thanks
20:58 egonw but the fp.read did the job
20:58 rajarshi it'd be good to include them
20:58 egonw ah... well, you'd have to do some reviewing ;)
20:59 rajarshi oh ok :)
20:59 egonw the signatures patch is online
20:59 rajarshi then I should get to it :)
20:59 egonw but, it does not include the fingerprint version
20:59 egonw because the fingerprint length depends on the data set
20:59 rajarshi oh ok -no hury, swamped anyway!
20:59 egonw it's basically a substructure-like FP
20:59 rajarshi how does the model look with signatures?
20:59 egonw but the substructures are only those found in the molecules
20:59 egonw for the BP?
20:59 rajarshi yes?
20:59 egonw dunno yet...
21:00 egonw I now have 'fingerprint' ...
21:00 rajarshi pretty easy to compare with CDK std/ext/pubchem etc fp's
21:00 egonw so, now I need to use those to make a matrix :)
21:00 rajarshi fp.to.matrix is your friend - send it a list of fingerprint objects
21:02 rajarshi or fp.read.to.matrix
21:03 maclean joined #cdk
21:05 egonw hi maclean!
21:05 maclean hi egon
21:05 egonw rajarshi: you are going to review the signature patch then?
21:05 rajarshi yes, sometime this weekend
21:06 egonw (fp.read.to.matrix)++
21:06 maclean cool, thanks rajarshi
21:06 rajarshi welcome
21:06 egonw maclean: I've calculated signature fingerprints, and gonna build a QSPR model tonite
21:06 maclean what is a signature fingerprint?
21:07 maclean (obviously, I know what a signature is :)
21:07 egonw maclean: see Faulon's signature 1 paper
21:07 maclean And I thought I knew what a fingerprint was...
21:07 maclean Oh, ok.
21:07 egonw it calculates atomic signature, and uses those at substructures in the fingerprint
21:07 egonw it calculates atomic signature, and uses those aS substructures in the fingerprint
21:08 maclean hmmm.
21:08 egonw according to the paper it works quite well...
21:08 egonw though I do not like every choice in the paper...
21:08 * maclean has been looking back at the HOSEcode predictions of C-NMR spectra, and is considering using signatures instead..
21:09 maclean Suddenly, every problem looks like a nail.
21:09 egonw maclean: yes, that would be really nice
21:09 egonw maclean: yes... you opened a can of possibilities!
21:09 rajarshi lol
21:09 egonw now, if signatures are indeed as good as Faulon says in the papers :)
21:09 maclean I'm trying to work out if there is anything special in hose codes that makes them good for NMR.
21:10 egonw maclean: not that I am aware of
21:10 egonw a HOSE code simply describes the environment too...
21:10 maclean They can be canonical, I think (the CDK uses its CanonicalLabel(l)er.
21:10 egonw yes, that's important for the NMR prediction
21:10 egonw otherwise you don't get the proper generalization
21:11 maclean But I'm not convinced of how canonical they are for rings.
21:11 rajarshi egon, how do I pull from your github branch into a local branch?
21:12 egonw git remote add egonw git://...
21:12 egonw git fetch egonw
21:12 egonw git checkout -b 155-signatures egonw/signatures
21:12 egonw maclean: agreed
21:16 egonw digging up a R script from his PhD work from 2005...
21:16 egonw still right there in his (git) repository, just where he left it :)
21:16 * egonw is pleased, as this is 4 machines later :)
21:18 egonw mmmm... that code is using an old PLS package
21:26 rajarshi reviewed. Looks good
21:27 rajarshi some issues regarding visibiity
21:27 egonw maclean: around?
21:27 maclean si
21:27 maclean rajarshi : visibility?
21:27 rajarshi public/private/protected etc
21:27 maclean sure
21:27 rajarshi with the aim of keeping API simple
21:28 rajarshi but I'll also admit that symmetry has always flown over my head, so I assume the code is OK :)
21:29 maclean The symmetry aspect is well tested, but that doesn't mean the api can't be improved.
21:30 maclean There's an annoying aspect of my design where the derived class (AtomSignature) has to implement abstract methods like getConnected from the AbstractVertexSignature
21:31 maclean but the user is not meant to actually call these methods.
21:32 maclean I guess that abstract methods can be private...
21:32 egonw would be good
21:32 egonw the less is visible, the less bug reports you will get
21:32 egonw 1) Is there a reason for the signature code to be in a separate jar file?
21:33 egonw What is in that file (the signature-SNAPSHOT)?
21:33 egonw :)
21:33 maclean All the code that I didn't want to write unit tests or javadocs for.
21:33 maclean :)
21:33 rajarshi ha ha
21:33 egonw maclean: well, and that part is actually toolkit independent, not?
21:34 maclean This is the official reason, yes.
21:34 rajarshi is the Molecule class in the jar file the same as the CDK one?
21:34 maclean I intend to try and persuade other java chemistry toolkit owners to have thier own implementation.
21:34 rajarshi abstract methos need not be private
21:35 maclean rajarshi : no, it's a 'toy' chemistry implmentation. It probably shouldn't be in the jar file.
21:35 rajarshi protected is usefil since all classes in that package can still access it
21:35 rajarshi but user generated docs won't show it
21:35 maclean I dislike using protected, but I agree that it can be useful.
21:35 rajarshi maclean: ah, ok. gien that it's in a separate jar file, probably doesn't matter
21:35 rajarshi maclean: whats your objection against protected?
21:36 maclean there's a problem with the docs, actually, where the javadoc tool doesn't pull in docs from other libraries.
21:36 maclean re: protected - not sure, really it's just that it is often seems a kind of vague descision.
21:37 maclean decision.
21:37 maclean Better than no visibility declaration at all (which does annoy me :)
21:37 rajarshi hmm
21:37 rajarshi well, private/protected are ok with me
21:38 rajarshi your choice :)
21:38 maclean Probably private, as I don't see much reason to subclass the AtomSignature (famous last words).
21:40 rajarshi ok
21:40 rajarshi off to the squash court
21:40 rajarshi ttyl
21:49 * egonw needs to go offline too...
21:51 egonw will continue the QSPR work tomorrow
21:51 egonw bye for now!
21:54 maclean bye

| Channels | #cdk index | Today | | Search | Google Search | Plain-Text | summary