linux一些学习心得
sh 和 py结尾的都是脚本文件,一般放在scripts文件夹里面,可以运行。例如最近用到的mergeSAM.py ,cat打开以后可以看到详细的使用参数:
def usage():
"""Usage function"""
print("Usage : python mergeSAM.py")
print("-f/--forward <forward read mapped file>")
print("-r/--reverse <reverse read mapped file>")
print("[-o/--output] <Output file. Default is stdin>")
print("[-s/--single] <report singleton>")
print("[-m/--multi] <report multiple hits>")
print("[-q/--qual] <minimum reads mapping quality>")
print("[-t/--stat] <generate a stat file>")
print("[-v/--verbose] <Verbose>")
print("[-h/--help] <Help>")
return
这里就教了你如何去使用这个py文件,我们用这个代码去运行它:
python mergeSAM.py -f 文件1 -r 文件2
这个点是我在运行hic-pro软件遇到问题时候琢磨出来的,最大的体会是更进一步地理解了一个软件下面各个包的作用,比如scripts就是放一些运行脚本,
/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。
Makefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在 Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数
如果我们学会使用 Makefile 就不一样了,它会彻底简化编译的操作。把要链接的库文件放在 Makefile 中,制定相应的规则和对应的链接顺序。这样只需要执行 make 命令,工程就会自动编译。每次想要编译工程的时候就执行 make ,省略掉手动编译中的参数选项和命令,非常的方便。
此外还有config-install.txt,config-system,txt,config-hicpro.txt。
install文件里面主要包含了这个软件下载依赖的软件的绝对路径,hicpro文件主要包含了整个软件运行过程需要的一些设置和匹配的文件路径等等,system文件一般不用修改。