The source tree
From genomewiki
Jump to navigationJump to search
"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 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 UCSC. 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. :-)
- src/parasol
- Jim's parasol cluster system with documentation
- 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)
- 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.
- chain file: positions of identical nucleotides (=an alignment, you can use pslToChain to create it)
- netting: post-treating chains to group together many chains to see where regions do align (the alignment is lost)
- net file: positions of alignable regions
- Xa file: ? pslToXa ?
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