C++ 模板与泛型编程

泛型编程旨在编写独立于数据类型的代码” 《c++ primer plus》(6th ed)

实现一种方法,可以用于各种类型的数据。

#include<iostream>

using namespace std;

template <class Nott>
class Stack{
  private:
    Nott arr[20];
    int num;
  public:
    Stack();
    void push(const Nott& ele);
    void print();
};


template <class Nott>
Stack<Nott>::Stack(){
  num = 0;
}

template <class Nott>
void Stack<Nott>::push(const Nott& ele){
  arr[num] = ele;
  num ++; 
}

template <class Nott>
void Stack<Nott>::print(){
  for(int i = 0;i < num;i ++) 
    cout << arr[i] << " ";
  cout << endl;
}

int main(){
  Stack<char> nott;
  nott.push('N');
  nott.push('O');
  nott.push('T');
  nott.push('T');
  nott.print();
  Stack<int> nottt;
  nottt.push(6);
  nottt.push(6);
  nottt.push(6);
  nottt.push(6);
  nottt.print();
  return 0;
}

输出结果:

I C B C
6 6 6 6

HOX gene

ref: 2013-the reg­u­la­tion of hox gene expres­sion dur­ing ani­mal devel­op­ment

 

home­o­sis the replace­ment of part of one seg­ment of an insect or oth­er sege­ment­ed ani­mal by a struc­ture char­ac­ter­is­tic of a dif­fer­ent seg­ment, espe­cial­ly through muta­tion.
home­obox any of a class of close­ly sim­i­lar sequences which occur in var­i­ous genes and are involved in reg­u­lat­ing embry­on­ic devel­op­ment in a wide range of species

 

 

GATK caveat

1. 选择/过滤

Vari­ant­Fil­tra­tion: Fil­ter vari­ant calls based on INFO and/or FORMAT anno­ta­tions
out­put: A fil­tered VCF in which pass­ing vari­ants are anno­tat­ed as PASS and fail­ing vari­ants are anno­tat­ed with the name(s) of the filter(s) they failed.
Select­Vari­ants:    Select a sub­set of vari­ants from a VCF file.
out­put:
1.如果一个值缺失,VariantFiltration会认为这条值所在的记录通过检查,而SelectVariants认为这条记录不能通过检查。

2.foobar

 

notes of ANNOVAR

1. 坐标系: By default, 1-based coor­di­nate sys­tem is used.

2. 核心程序: annotate_variation.pl

3. 注释类型: gene-based (-genean­no), region-based (-regio­nan­no) and fil­ter-based (-fil­ter) anno­ta­tions.

4. 输出结果:

a. The first file con­tains anno­ta­tion for all vari­ants, by adding two columns to the begin­ning of each input line.

b. The sec­ond out­put file con­tains the amino acid changes as a result of the exon­ic vari­ant.

5. 重点定位:

What about GFF3 file for new species?(http://annovar.openbioinformatics.org/en/latest/user-guide/gene/)

gff3­To­GenePred                                                                               (http://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/)

星露谷物语 玩法总结

首先,我们聊一聊,星露谷物语里面,一天可以怎么度过。

第一,你可以选择留在你的农场,你有很多事情可以做。去抚摸你的家畜、宠物;去搜集农产品;去整理生产设备;去清点物资;去布置房子;去对农作物进行再加工和生产,然后出售;去和你的妻子和孩子互动。

第二,你可以选择去和村民互动,拜访他们,给他们送礼;

第三,你可以选择去挖矿,砍树,搜集物资;

第四,你可以选择去钓鱼;在不同时间,不同的地点,可以钓上来不同的鱼。

第五,你可以选择去打怪。坐上潘姆开的车去沙漠,然后去沙漠山洞打怪,搜集物资。带上炸弹,才能够下的足够深。

Saccharomyces cerevisiae (yeast)

The bud­ding yeast Sac­cha­romyces cere­visi­ae is one of the major mod­el organ­isms for under­stand­ing cel­lu­lar and mol­e­c­u­lar process­es in eukary­otes. This sin­gle-celled organ­ism is also impor­tant in indus­try, where it is used to make bread, beer, wine, enzymes, and pharmaceuticals.The Sac­cha­romyces cere­visi­ae genome is approx­i­mate­ly 12 Mb, orga­nized in 16 chro­mo­somes.

新感悟-1胜3负

今天打了羽毛球以后非常开心,即使从体育馆出来就遇上了大雨,可是一点也没有影响我的心情。我感觉自己非常兴奋,非得找件事情释放自己的这些能量,于是,我就选择了下几盘围棋。虽然今天是1胜3负,但是还是很开心,收获很多,简单记录重点。

第一局获胜:对手开局两手三三,离题甚远;布局就开始围中腹;略有一些计算力,但是不如我;最后我攻破他的中腹以后,认输;

第二局失败:这一局的失败,是由于下到最后,一个地方,双方相互收气,我没想清楚怎么收气,并且是超时负;因为自己下棋太慢,需要思考的太多,导致时间不够。但是如果我不思考太多,也不会拥有这局获胜的可能;这局棋想要获胜有两种情况:1.自己注意到了此处还有死活问题,提前补一手;2.在开始对杀以后,迅速算清楚应该怎么下;不过这两点我都暂时做不到;

第三局失败,那是纯粹的,双方从布局开始就不在一个等级,对方的布局非常稳、防守非常稳;我不信,认输了以后再下了第四盘,我更加认真,也更保守,但是还是从布局开始就失利,对杀思考的深度也不够;第四局结束后,我还和对方对某一个战斗进行了讨论,对方思索和落子的速度,的确比我快很多,也的确比我更加周密。对手28岁,也是自己在慢慢看和学习。

最后,我决定,一定要开始好好学习布局,准备开始读棋书。

shell脚本路径问题

如何在shell的脚本内得知脚本所在的位置?有些命令当使用sh执行本脚本时可以成立,但是通过source执行本脚本的时候就不行了。下面详细论述各种情况。

1.参数传入

sh script.sh para1或者­source script.sh para1

在脚本里面可以通过$1来获得para1

2.

新的标志:战斗到最后,输13目

今天这局棋,执黑vs围棋宝典的五级电脑(1–10[最高]),全盘没有悔棋,每一步都考虑的很清楚,全局用时应该在一小时左右,所以也不算太长。但是犯了一个错误,没看到一条龙已经死了。因为那条龙死的时候,整盘棋已经定型了,后面推论,如果不死,一定会赢的。然后从那一步开始重下,其他位置基本没变,最后可以赢十目左右。感觉自己已经提升了很多了,下一次应该就可以一次性击败电脑了。

这一局棋的收获如下:

1.下每一手的时候,有意识地去推论:我的目的是什么;对手会如何应对;

2.有意识地将棋盘上不同的棋块做到一起;

3.有意识地避免自己被对手压制住而不好向外发展,有意识地去平衡了围空和发展外势之间的关系;

4.有意识地注意做活自己的棋;

5.收官的时候认真衡量了每一个位置的收益,尽可能选择最大收益的位置下;

6.攻击的时候不强求,认真根据对手的每一步反击,调整作战思路;

7.不一味进攻,有意识地对自己的棋型进行强化;有意识地进行了攻守之间的平衡计算;

8.不患得患失,不对暂时的棋面状况过分担心,相信自己能在后面的发展中获胜;

9.当棋面出现小的意外和波动时,不会想要用悔棋来解决,而是去接受这个现状,然后基于此尽可能减小损失;最后发现,意外其实可能没有想象中那么严重,首先是要预防以为,然后是出现意外之后,积极补救;

10.积极地、有策略地破坏对手的潜在围空。

11.每一手棋,都只能侧重一个点,对手不可能面面俱到,如果真的是,那一定是你眼瞎了。越是早期,每一手棋,越是只能侧重一个面,到了后期,确实棋都走在一起了,的确可以影响到全局。

12.降低对手下棋的效率,是获胜的关键点之一。