The source tree: Difference between revisions
From genomewiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
The source tree is the collection of all code used by the genome browser group. You can find information [in the help pages http://genome.ucsc.edu/admin/jk-install.html | The source tree is the collection of all code used by the genome browser group. You can find information [in the help pages http://genome.ucsc.edu/admin/jk-install.html on how to install it and [[Source tree compilation on Debian/Ubuntu|in this wiki]] for Debian/Ubuntu. | ||
"If you can conceive of a bioinformatics job that could be done, it probably already has been done in the kent source tree." | "If you can conceive of a bioinformatics job that could be done, it probably already has been done in the kent source tree." |
Revision as of 14:56, 16 September 2009
The source tree is the collection of all code used by the genome browser group. You can find information [in the help pages http://genome.ucsc.edu/admin/jk-install.html on how to install it and in this wiki for Debian/Ubuntu.
"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