test Rmarkdown
This post is to test whether Rmarkdown can be deployed correctly
data(cars)
plot(dist ~ speed, data=cars)
[Resource] Open courses
With the soaring advance of internet, now we can access courses remotely. Better than that, many courses from the most reputable universities provide free courses online.
Start from today, I will update the list of open courses in this post.
General Name URL Description MIT OpenCourseWare https://ocw.mit.edu/index.htm the main site of hosting MIT open courses Harvard Online Learning https://online-learning.harvard.edu/ not all courses free Class central https://www.
[Biology] Data resources
In the big-data era, data are a key to drive innovation. In this page, I will continue to update the biological resources I find in my research, hoping it helps others.
Databases Name URL Category Description OncoKB http://oncokb.org Cancer compilation of mutations, drugs, and other tumor data. factorbook http://www.factorbook.org Regulation TF binding and histone marks compiled by ENCODE consortium ClinGen https://www.
[Linux] Find all filenames pointing to the same file
In Linux/Unix systems, the same file can have multiple copies with different names, termed hardlinks. This provides convenience of modifying all the copies by modifying any copy. Today, I will introduce how to find all the hardlinks for a file.
How many copies does a file have? One can find this information by using the following command:
1 2 3 ls -l sample-file.txt # output # -rwxrw-r--. 2 user hacker 3351 Oct 23 11:11 sample-file.
[Python]Generators
Definition Generators are special python objects that have the following features:
iteratable. so one can use next() or with for loop to get the elements. return elements when asked, one element each time; unlike list, the elements are not generated until asked for. the local state is saved after each call/request, so it can resume when next call arrives. Advantages Because of the above features, generators are more memory efficient than lists, and thus used in handling large datastream.
[Linux Tips] get absolute paths
In my research, I frequently fell into occasions when I want to solve some tiny tasks or to solve tasks more efficiently. Facing the situations, the first thing I did was google search. However, from today on, I will record these solutions in my blog: for one thing, I can revisit them when I need them in future (very likely), and for another, others may also benefit from the compiled list of tips.
UCSC Genome Mappability: a resource for analyzing NGS data
Often, mapping sequenced reads to a reference genome is the first step of analyzing next-generation sequencing data. However, a genome may contain many pieces of similar regions, making the reads derived from these similar regions difficult to map back – having no idea which region they are from. But with the information of similar regions in mind, one may pay attention to such regions and make data analysis clearer.
In fact, the UCSC genome browser has provided such resources: Mappability and Uniqueness of genomes.
My software CUA is cited by a Cell Reports paper
Very exciting: my software CUA is cited by a paper published at Cell Reports. This is very encouraging for me to further improve the software.
My paper describes the software was published at BioRxiv. You can also find documentation (including a tutorial) at CPAN.
Recently, more and more studies show that codon usage is, in addition to translation, relevant to mRNA stability, transcription, etc, making the observation of codon usage bias in many genomes more mysterious.
[Python] Parse command arguments with orgparse
Parsing command-line arguments is common in programming. In Bash, one can use getopts. In Perl, one can use the module Getopt::Long. In Python, we can use the package argparse.
The major steps of using the package include 3 steps:
Create a parser.
Add arguments.
Parse the arguments.
Here I will describe each step in details, particularly the options of the functions.
Create a parser
Below is a simple example of creating a parser object.
WSL -- a perfect replacement of Cygwin and Mingw
As a program developer, I love working on the command of Linux for its richment in convenient tools, such as sed, awk, grep, vi, etc.
Every time when I bought a new windows computer, I would install cygwin or MinGW for using these linux tools. With windows 10 (version Fall Creators update or later), one can install Windows Subsystem for Linux (WSL) in windows 10 from store, just like installing an app.