Dear Sirs.
Though I am not a professional programmer, bionformatics is very interesting interdisciplinary field for me.
I see it, the Python is a "standart language" in this field.
But when I solved problems at rosalind info, I used C++. So as a result a "lib of some function" has been borned.
The lib contains 3 groups of functions. The first one - input-output ones (in order to read-write vectors, matrixes, graphs from-to a file via only one commsnd as it is in Python).
The second group is "Working with strings". Contains some functions from computing GC-content, Edit Distance etc to finding all mutated strings in a given one.
The third is "Working with graphs". A data structure "Adjacency vector" is suggested. By the way, in general case, vertices may have negative integers assigned and graphs may have multiple loops and edges. Some function such as Eulerian Cycle, Path finding, topological sorting etc are implemented.
May it be useful for some tasks?
By the way, that algorithmic functions and problems should be included or maybe solved here?
I understand that this lib haven't a great majority of features. For example it is not able now to work with bioinformatic databases, but here I can not to implement it by myself only.
Free distributed source code and info is here: https://drive.google.com/open?id=1FQwsQm2kG_nTO45ab0yj52xtp6_B4IB2
(This is a link to directory (not to a file) that contains source code file and readme files)
My profile at Rosalind info http://rosalind.info/users/chernouhov/
Best regards, Chernouhov Sergey
Modifyed at 03 may 2019:
added to GitHub as users ask for it: https://github.com/chernouhov/CBioInfCpp-0-
But:
- GitHub is a new experience for me, so probably I DO some mistakes there.
- Why only GitHub is the trusted place? We may be free but only there?
I Do declare that I DO NOT clearly understand all about GitHub so nowdays I use it only as a filehosting as it is so popular place.
Best regards, Chernouhov Sergey
Hi, maybe you're interested in contributing to the c++ SeqAn library?
https://www.seqan.de/
Hi.
Thanks. It's a great idea. Why not?
By the way, maybe you use SeqAn library or maybe you participate in its development?
added to GitHub as users ask for it: https://github.com/chernouhov/CBioInfCpp-0-
But: - GitHub is a new experience for me, so probably I DO some mistakes there. - Why only GitHub is the trusted place? We may be free but only there?
I Do declare that I DO NOT clearly understand all about GitHub so nowdays I use it only as a filehosting as it is so popular place.
It’s not the only trusted place, its just become the most common/most well known. You can also see the source code directly, versus having to trust a file blindly.
Bitbucket, sourceforge, gitlab etc are all still used, just to varying and lesser extents.
Well, we DID talk about GitHub but we DID NOT talk about the lib itself. Nowadays it is hosted at GitHub. But it is not it's key feature, as it is for every item - both good and bad - isn't it?
There is no need to post the same comment multiple times (I know these threads can get a little disorganised over time, but once is enough).
I'm not sure I understand your question? There's nothing more to say regarding the lib or github as far as I can see? You've uploaded it in a nice, visible place. If people want to use it, they'll use it.
GitHub is not just a file hosting site, it hosts and helps manage Git projects. By Git projects, I mean Git repositories with issues, Pull Requests, etc. Git repositories are essentially version-controlled code directories allowing for concurrent development and change tracking along with a host of other amazing features. If you're new to Git, you should definitely learn it as it will better your approach to software development.
I would consider putting the code on Github, rather than distributing it as a google link. People are often wary of downloading code from behind random links without first being able to inspect the source.
Hi. Thanks. It is a good idea and I plan to do it a little later (as I haven't used Github yet).
But I must confess as nowadays the lib CBioInfCpp consists only one header file (as free source code) it is not so bad to use google drive too? Also there are 2 files - pdf and rtf - that contain the same description of the functions of CBioInfCpp in different formats (pdf and rtf). One may use any of them depending on preferable format.
Well, look at it this way: I haven't clicked on your link yet, even though I trust you, because I don't know if it will take me to a page, or will start a download immediately. If it starts a download immediately, I don't know if I'm getting a zip file, naked source code, or something masquerading as either.
If you want to contribute to projects, or have people contribute to improving your code, github (and its friends) is absolutely the way to go. To get started with github you need only three commands really:
git pull, git commit, git push
. Everything else is a bonus ;)There are plenty of good youtube tutorials etc to get you going.
I'll see it.
But there are no zip or immediat downloads, it is a link to a directory
Sure, but its hard to tell that from the link alone, so people are unlikely to click it.
I also don't think google drive is appropriate. Software in the days of google code, sourceforge etc was (and still in some cases is) far more poorly documented, intransparent, and unversioned. As a developer I think you'll enjoy github very much.
What jrj.healey said was the first thought to cross my mind. I'm not clicking on a google drive link. I really want to look at the code, the code structure and a README before I decide if something is worth a download.
As I see it, why do not to try to implement any tool, at least CBioInfCpp.h?
Maybe, there are any interesting problems for strings, graphs, etc?
As well why do not use for in/ out solving other tasks?
Please don't add answers unless you are responding to the opening post. This is just a comment so I have moved it.
That said, I don't really understand your comment - what are you asking?
As I said before, you've already uploaded your code, if people find it, and want to use it, they will - there's nothing more to be done...
It is my language troubles, I see.
I mean there may be some problems to solve and that it is interesting for me to solve such problems: both using this lib or no.