The source tree: Difference between revisions

From genomewiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 13: Line 13:
** Use the bash construct "2>&1" if you want to pipe help messages to less. By default help goes to stderr and is not readable. <br> Example: ''overlapSelect | less'' does not work, ''overlapSelect 2>&1 | less'' is a better idea.
** Use the bash construct "2>&1" if you want to pipe help messages to less. By default help goes to stderr and is not readable. <br> Example: ''overlapSelect | less'' does not work, ''overlapSelect 2>&1 | less'' is a better idea.


; src/java: You better hate Java if you're dealing with UCSC. Repeat: "[http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html I love pointers!]".
; src/java: You better hate Java if you're dealing with the UCSC genome browser. Repeat: "[http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html I love pointers!]".
; src/product: Very important info on how to install the gbdb on your own computer
; src/product: Very important info on how to install the gbdb on your own computer
; src/utils: Various small tools, not especially related to a particular genome  
; src/utils: Various small tools, not especially related to a particular genome  

Revision as of 11:22, 12 January 2008

"If you can conceive of a bioinformatics job that could be done, it probably already has been done in the kent source tree." (Hiram)

"The truth is in the source" (slightly adapted from Angie's "Chains Nets"-article)

The intent of this page is just to give an impression of the source tree's layout. See Implementation_Notes for details about the programs.

  • Tools to explore the source tree:
    • you can use ctags to index the source tree
    • and use cscope to search in the source tree (any better ideas for searching?)
    • midnight commander and a rainy day to explore the source tree...
    • Hiram has a nice list created from the help infos
    • Use the bash construct "2>&1" if you want to pipe help messages to less. By default help goes to stderr and is not readable.
      Example: overlapSelect | less does not work, overlapSelect 2>&1 | less is a better idea.
src/java
You better hate Java if you're dealing with the UCSC genome browser. Repeat: "I love pointers!".
src/product
Very important info on how to install the gbdb on your own computer
src/utils
Various small tools, not especially related to a particular genome
src/hg
Almost all tools related to any kind of genome
src/hg/mousestuff
everything related to chaining, netting and whole-genome alignments
src/hg/makeDb
Tools and scripts (!) that were used to load data into the databases. Most of them in subdirs here in the format hgLoadx with x for maf/bed/wiggle/axt/net/chain/out/etc. If you understand these, you can build your own genome browser. :-) Here are also the trackDb.ra-files, something like a list of all tracks, their descriptions and instructions on how to display them.
src/parasol
Jim's parasol cluster system with documentation
kent/src/hg/psl
Everyhing that has to do with psls ("psl stands for ps-Layout, where ps stands for PatSpace (presumably from Pattern-Space) which comes from a sort of earlier predecessor of blat", Galt)
  • UCSC terms:
    • axt: some aligner, maybe called faAlign? Also the name of a file format for local alignments.
    • psl file: A format for local alignment hits used by blat. (axt and psl are convertible with axtToPsl, blastToPsl is also possible (but not tblastx))
    • chaining: post-treating local alignments to see if two aligned regions that were located close on the query are located close to each other on the subject. Here is more info: Chains Nets
    • chain file: positions of identical nucleotides (=an alignment, you can use pslToChain to create it), ->Chains Nets
    • netting: post-treating chains to group together many chains to see where regions do align (the alignment is lost), ->Chains Nets
    • net file: positions of alignable regions
    • Xa file: ? pslToXa ? What is Xa?


Cool Files:

  • /kent/src/oneShot/testScripters: cool collection of scripts to test the speed of various languages, result as expected: C with Jim's libs is much faster than anything else