python 基础知识
- write()需要传入一个字符串做为参数,否则会报错
- writelines()既可以传入字符串又可以传入一个字符序列,并将该字符序列写入文件
- 注意必须传入的是字符序列,不能是数字序列(卡在这里搞了半天)
lambda作为一个表达式,定义了一个匿名函数
1 | >>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] |
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方:
1 | >>> [x * x for x in range(1, 11) if x % 2 == 0] |
还可以使用两层循环,可以生成全排列:
1 | >>> [m + n for m in 'ABC' for n in 'XYZ'] |
任务
用文件名(存在列表当值),生成json配置文件
1 | { |
json 模块
示例:
1 | >>> import json |
原创脚本
1 | #!/usr/bin/env python3 |
输出
1 | { |
JBrowse 结果
其他
安装制定版本为3.6,为什么python的版本是3.5.5
1 | (py3.6) [qi@localhost ~]$ python --version |
1 | conda install -c anaconda ipython # su |
说明这个目录权限太高了,所有人都能够访问、修改、删除、运行。
正常情况,应该是Owner可以读写,all可读,root可以修改可执行权限才对。
正常情况,对于目录,应该权限设定为744,对于文件默认权限应该设定为644。
用户私有文件,权限应该设定为600。
更改文件拥有者
1 | ls -ld html/ |
py3.6的环境,我安装了samtools,也用不了。自然也就用不了,bgzip和tabix。
1 | (py3.6) [qi@localhost vcf]$ conda list | grep samtools |