See all
Members (321)

Stream

 
hi,

want to show off your machine learning skills (in #go ) ?
check this out:

===
High Energy Physics meets Machine Learning

http://higgsml.lal.in2p3.fr/

The Higgs Machine Learning Challenge was launched online Monday the 12th and within 24 hours, we had more than 40 teams signed up! Already, four teams have beaten our in-house benchmark. The Challenge continues till September. More updates to come!

#ATLAS #Higgs #CERN #Physics #MachineLearning #Kaggle
===

first prize is $7,000 :)
4
1
Mykola Aleshchanov's profile photoSebastien Binet's profile photo
 
and just for fun, here is a starting-kit in #go :
http://higgsml.lal.in2p3.fr/software/go-starting-kit/

go-get-able code:
https://github.com/sbinet/go-higgsml
Add a comment...
 
Hi all,
It has taken a while, but I made my library for computational chemistry stable. It can be found at:

gochem.org

Cheers!

Raul
7
Rauli Mertanen's profile photoBrendan Tracey's profile photo
2 comments
 
Thanks! I might make myself a t-shirt with it :D
Add a comment...
 
Are chplot and chutils (from chemical plot and chemical utils, respectively) too bad package names?
1
Rauli Mertanen's profile photoJeff Juozapaitis's profile photo
6 comments
 
True, I had not thought of that at all!
Add a comment...

Rauli Mertanen

Discussion  - 
 
Hi all, me asking for advice again.

My library has a type that is pretty much a gonum/matrix/mat64.Dense, with a few differences:

1) They represent a set of cartesian points, so they are always Nx3 matrices

2) They have a bunch of added methods (some 5-7), which I doubt are interesting enough to be added to the mat64.Dense type. They are mostly about dealing with coordinates: Adding one (row) vector to the whole matrix,  getting a new matrix with only some of the row vector which indexes are supplied in a slice, etc.

3) As the gonum main type might change in the future from row to column major, I have an abstract "Vec" which means row now but can change if the underlying API does.

Right now I am embedding mat64.Dense in my type, which causes problems with a few gonum functions (I solve this by writing wrappers to these functions). It would be nice to simply use th mat64.Dense type directly, but I would make difficult to check for shapes different from Nx3 and transforming all the methods into functions, which seems uglier to me. Opinions?

Thanks!
1
Rauli Mertanen's profile photoDan Kortschak's profile photo
3 comments
 
The most appropriate way would be to create some rewrite rules to change from the mat64 and la code so changes/bugfixes there are propagated.
Add a comment...
 
My slides from tonight's Boston Go language meet-up.

Arvados is an open-source platform for managing and analyzing genomic and biomedical big data. We are focusing on the Go language for back-end systems within Arvados. 

Summit Oct 22, 2013: arvados.org/summit 
Get paid to write free software: clinicalfuture.com/engineer 
6
Samuel Lampa's profile photo
2 comments
 
The background to my questions/thoughts above is that at +UPPNEX, what we have learned after taking care of 1 PB of NGS data from over 300 projects (colocated with a roughly equal number of projects from other domains), is the value of the Unix philosophy, of small independent tools, that do their job well, and are easily cooperating with all the other tools in the system.

Especially when interacting with a existing complex cluster infrastructures with multiple parallel file systems with proprietary drivers, resource managers etc that can not easily be changed, the general lesson is that only these general tools tend to be flexible enough to fit in nicely in whatever combination of the mentioned systems.

Anything that creates it's own "universe", with imposing it's own restrictions on how to handle storage, resource management etc etc (such as Galaxy), becomes a big hurdle to integrate, something that typically requires weeks of hacking and workarounds, which then easily becomes a maintenance nightmare.

We have thus been trying to find the tools that solve our problems in the most general way possible, and since we are co-locating bioinformatics and other domains, we don't even want it to be specific to the life sciences (and the basic problems aren't in fact), etc.

Thus, it would be interesting to hear a little on Arvado's philosophy regarding these issues?
Add a comment...

Samuel Lampa

Discussion  - 
 
Hi, who is maintaining this group?

I thought it'd be nice with a few sub-forums, to make it easier to filter the posts based on what one is working on mostly (everything will still show up on the front-page).

Suggestions for sub-forums:
- General discussions
- Packages for Physics
- Packages for Life Sciences
- Packages for other disciplines
- Tips & tricks
- Show and tell
- Help

Feedback?
1
John Asmuth's profile photoSamuel Lampa's profile photo
7 comments
 
+John Asmuth, right. But the point with G+ groups, is that everything is still visible in the main flow in the "home page" of the group, so it will not have the negative effects that e.g. dividing a forum into too many sub-forums typically has. 

It would only add the possibility to filter stuff a bit on what kind of info you are interested in. But of course, it is up to you to take that decision! :)
Add a comment...
 
I originally asked this question regarding the state of numerical libraries for Go in Go+, thanks to Fransisco Coelho for pointing me in the direction of go.science.
 
I am currently using Python for all of my scientific computing needs, relying heavily on NumPy (with some SciPy blended in) along with OpenCL. Recently I have considered making a transition to Go and I have tried to find whether there are some libraries that at least are stable and geared towards performance for Go. However, I have failed to find what would be considered to be "best practices" for Go and from what I understand the situation is a bit like Haskell was at least a few years ago, with twenty or so libraries created/maintained (to some extent) by language enthusiasts. Does anyone know if there are some libraries for Go out there that would suit my needs, or am I better off waiting? After all, from what I know Ruby for example still lacks proper scientific computing support.

tl:dr; What is recommended for linear algebra and Go?
1
Brendan Tracey's profile photo
 
Right now, some of us are working on gonum ( github.com/gonum ) , but none of the packages are stable (though geared toward performance once they are stable). If you need things now, you're better off waiting. If you're like many of us, and you'd rather build stuff in go than use another language, you're welcome to come help at https://groups.google.com/forum/#!forum/gonum-dev . As you said with Haskell, there are many stable libraries by language enthusiasts. See biogo, which has a lot of stuff in it.
Add a comment...
 
New Go library to calculate the PageRank of a directed graph. Check it out and contribute!
1
John Fries's profile photo
 
very cool!
Add a comment...
 
a small (probably riddled with bugs) pure #golang  package to read and write ARFF files:
 https://github.com/sbinet/go-arff

comments welcomed :}
1
Sebastien Binet's profile photo
 
and here is its little side-kick brother:

https://github.com/sbinet/go-arff2root

to convert an ARFF file into a ROOT n-tuple.

(evil twin brother, go-root2arff, is on the way)
Add a comment...

Dan Kortschak

Discussion  - 
 
Does anyone here have code for peak detection in a data series?
1
Add a comment...
 
#go in High Energy Physics... my slides from last Golang-Paris meetup.

talks.godoc.org/github.com/go-hep/talks/2014/golang-paris-gohep/gohep-en.slide#1
16
3
Walter Schulze's profile photoSebastien Binet's profile photoBrendan Tracey's profile photoLars Tørnes Hansen's profile photo
2 comments
 
done. (also fixed the frenglish, thanks.)
Add a comment...

Dan Kortschak

Discussion  - 
 
NCBI have published (quietly) a document outlining proposed changes to the XML output of BLAST service they run.

ftp://ftp.ncbi.nlm.nih.gov/blast/documents/NEWXML/

This change will break the current implementation of biogo.ncbi/blast
although it does add significant improvements to the information returned by a BLAST search. Changes required to allow continued operation of the package will very likely break client package code due to the retirement of some struct fields.

I would like people's input on how to deal with implementation of this
change. Currently the blast package code can be used to parse local
standalone blast instance output, this will break when if the package is updated to use the new schema unless standalone blast is also updated - it is not clear that this will happen from their documents.

I can see three ways to deal with this:

1. Break compatibility with the old schema and forget about it.
2. Have two packages with significant code duplication between them.
3. Alter the blast API so that the user can decide which schema is to be used.

My preferred options are 1. and 3. though I've not yet resolved which it
better (less worse), and there is little available data to start implementing the new structs.

Input from biogo.ncbi users appreciated.
1
Add a comment...
 
I've long been looking for this kind of community, and finally had to create it myself: A place to discuss infrastructure #software for enabling #science, rather than the scientific software itself, so much.

This is a growing field AFAIS but is not really identified with an own term. There is " #eScience ", but that is more about hardware (#HPC, #cloud and the like), while what I'm looking for, is the software side of that.

I wanted to ping about it here on go.science because I think many #Golang  developers are often working more on the infrastructure side ... and still, this topic is not confined to any particular programming language, like the discussions here on go.science.

So, welcome to join if you like!
(Infrastructure) Software for Enabling Science
Discuss existing and newly developed software powering research infrastructures, such as software for workflows, storage & virtualization.
View community
1
Add a comment...

Rauli Mertanen

Discussion  - 
 

Hi all,

I have a library that aims for compatibility with gonum.

I use a type which is pretty much gonum.Dense with a few extra methods for chemistry. One of them produces a view of a given row. I know that the Matrix.View method returns the view as a gonum.Blasser. I understand that there is no allocation problem, so this is a good idea.

I would like some advice for my own API, as I plan to make it stable soon.

I find important that the view produced doesn't have a fixed type as I want to avoid for users the need to convert back to my type every time, and also to their own defined types if they create them. I have a similar problem with another type not related at all to gonum, and for which I think it is not unlikely that a user would want to extend it. I would prefer that both types work in a similar way.

 At this point, for both cases I put the new view in the receiver, which means that users commonly create an empty container and apply this method on some other structure. I am not so happy with the fact that empty containers are created rather frequently, but I don't quite like returning a fixed type either.

Is the current situation too terrible? any ideas?

Thanks a lot,

Raúl
1
Rauli Mertanen's profile photoDan Kortschak's profile photo
2 comments
 
The mess which my library currently is is in github.com/rmera/gochem The important branch at this  point is devel.
Add a comment...
 
Anybody has a good overview of the available workflow / tool running systems written in Go? The only one I can remember that I stumbled over, is #golem Any more?
2
Alexander Wait Zaranek's profile photoSamuel Lampa's profile photo
4 comments
 
+Alexander Wait Zaranek, interesting! (Btw, the link does not work, should be http://arvados.org/ I guess :) ).

Actually, I was going to taking another look at Arvados recently, when I got a new use case for it, but had forgot the name, and lost the link, so thanks for reminding about it! :)
Add a comment...

Dan Kortschak

Discussion  - 
 
This is a talk I gave a while ago looking at using Go to perform reasonably large genomic analyses: http://talks.biogo.googlecode.com/git/illumination/illumination.pdf

You can get the talk slides and code by go getting code.google.com/p/biogo.talks/illumination (the talk can also be viewed at talks.godoc.org, though the examples code slides will not run).
3
Add a comment...

Dan Kortschak

Discussion  - 
 
The biogo NCBI webservice interface package entrez in biogo.ncbi now correctly handles all the test cases I've been able to generate (resolving the one outstanding bug I was unable to fix because of my xml interface design), thanks to Russ Cox fixing the encoding/xml API ready for Go1.2.

To avoid depending on the Go development branch, I have a fork of his changes in code.google.com/p/biogo.ncbi/xml.
2
Add a comment...
 
still on my path to provide a #golang  based stack of libraries for High Energy Physics (HEP) users, here is hplot.

A plotting package based on plotinum, but with default styles more in line with what HEP users are used to.
4
1
Dan Kortschak's profile photoSebastien Binet's profile photo
5 comments
 
Cool. Yes, I found it remarkably easy to do what I wanted even given how complex that goal was.
Add a comment...