Hi- Thanks for feedback! Here's some thoughts:
Separating the regex for "print" from that for "visible"
I see... I figured one would pretty much always want to see what you print and vice-versa. As a temporary work around, you could load the same gtf track twice. This can be done because the same file can be loaded more than once and the copies are independent of each other (which is a waste of resources, by the way...). Then for example assign visible transcript ^$ my.gtf#1 to one track to show only transcripts and visible transcript|exon ^$ my.gtf#2 to the other track to show both exons and transcripts (play around with regexes to be more specific).
Making "print" toggle printing on/off
True. The way it works now is a bit fiddly but it was easier to implement, but I should change it to toggle mode.
A shortcut for "zoom out to the highest level that the BAM tracks still display"
At the moment bam files are "turned off" when the window size is >100kb, which is an educated guess to trade off between speed and usefulness. I guess it should be possible to zoom out to span 100kb max, it's a good idea.
Being able to repeat other commands
I see... In fact having both f and ff is a bit redundant. I could put a f <float> to say "move forward <float> times the current window size", the same for other commands. Note that pressing enter without any argument will repeat the previous command.
gene name display on GTF tracks
Absolutely! There are quite a few things that should be improved in the visualisation of GTF records, this is one. Another is that CDSs are present also as exons in the gtf format and both are displayed which is unnecessary, only CDS should show. Also, each gtf line is independent of the others, there is no parsing into trascripts or genes (it was easier this way...) which means exons are not connected into transcripts.
zooming to both boundaries of a gene rather than just the start
To some extent this is implemented in the find_all command, for example find_all "ACTB" will find all records on the same chromosome containing ACTB (again, get the regex right).
But thanks! Keep testing and report back any issues!

It is actually a great idea. I prefer to use the terminal rather than opening the browser. Good work!
very cool ! which java library do you use to display on terminal, jcurses ?
Hi Pierre, thanks. I use jline to set up the console and enable some Unix shortcut like autocomplete and UP and DOWN keys to scroll commands. Otherwise colours are rendered simply by wrapping text in ANSI escape codes (see here). Does it answer your question?
Oh, and I got some code from jvarkit (see credits)!
ah, I see, I didn't test your program. As far as I understand what you said It "just" "print" dump the result, there is no interaction like in "samtools tview" (which requires the curses library to "gotoxy" ). Am I right ?
Mmm... There is user interaction in the sense that once ASCIIGenome is started you can navigate around the genome, find stuff etc. But yes, every time a command is issue (say
ff, move forward), the jline console clears the screen before new text is printed by means of simpleSystem.out.println(). As far as I can tell, from a user's perspective there is little difference with samtools tview, but under the hood the two programs might be handling things differently. (I'll have a look at jcurses)In your case, using System.out is fine,( furthermore jcurses requires a JNI library)
Fiiiiiinally :D Thank you Dariober! Awesome work!
wow! +100 for this. cool stuff.
Thank you all for positive feedback, at least the idea got good reception. But please, feel free to test it and report bugs, missing features, unclear docs, etc... As I said above, this is still early stages and virtually I am the only one having used it.
I've created a brew formula to install this, however it won't be accepted in homebrew/science because the github repository is not notable enough (<20 forks, <20 watchers and <50 stars). https://github.com/dariober/ASCIIGenome/issues/3
This really is a great viewer I must say!