我一直在使用grep -f从一个文件中获取模式并从另一个文件中提取行.结果如下:
1 11294199 11294322 40 10 123 0.0813008
1 11294199 11294322 41 6 123 0.0487805
1 11294199 11294322 42 10 123 0.0813008
1 11294199 11294322 43 2 123 0.0162602
1 11293454 11293544 51 1 90 0.0111111
1 11293454 11293544 52 2 90 0.0222222
1 11291356 11291491 54 6 135 0.0444444
1 11291356 11291491 55 8 135 0.0592593
1 11291356 11291491 56 3 135 0.0222222
Run Code Online (Sandbox Code Playgroud)
现在我需要根据前三列对结果进行分组,并为每个组计算第4列的总和:
1 11294199 11294322 (40+41+42+43)
1 11293454 11293544 (51+52)
1 11291356 11291491 (54+55+56) …Run Code Online (Sandbox Code Playgroud) 我试图在Python中的if语句中添加多个条件,如下所示:
if (h9 == h1 or h9 == h2 or h9 == h3 or h9 == h4 or h9 == h5 or h9 == h6 or h9 == h7 or h9 == h8) and (h10 == h1 or h10 == h2 or h10 == h3 or h10 == h4 or h10 == h5 or h10 == h6 or h10 == h7 or h10 == h8) :
do sth.
Run Code Online (Sandbox Code Playgroud)
基本上它是一个OR条件都h9和h10在同一时间.
但是,这不起作用,并给出如下错误:
IndentationError: unindent does not match any …
这是我的代码
在模块.py中:
def myFunc():
print('aaa')
Run Code Online (Sandbox Code Playgroud)
在 test_module.py 中:
def test_myFunc():
print('bbb')
myFunc()
Run Code Online (Sandbox Code Playgroud)
如果我运行pytest -s test_module.py然后我可以看到打印输出bbb;但我看不到打印输出aaa。其实我也尝试过import logging用logger玩,也没有运气。
所以基本上我的问题是,当触发时pytest,我们如何从 src 代码中看到打印输出?
在我本地,我已经运行了 mysql@5.7。我有一个依赖 mysql 的应用程序,但遇到了有趣的错误:
File "/xxx/lib/python3.7/site-packages/MySQLdb/__init__.py", line 18, in <module>
from . import _mysql
ImportError: dlopen(/xxx/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/mysql/lib/libmysqlclient.21.dylib
Referenced from: /xxx/lib/python3.7/site-packages/MySQLdb/_mysql.cpython-37m-darwin.so
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
现在只有 mysql@5.7 在我的本地运行,所以我可以看到我有/usr/local/opt/mysql@5.7/lib/libmysqlclient.20.dylib,但我从来没有/usr/local/opt/mysql/lib/libmysqlclient.21.dylib。为什么这里需要它?libmysqlclient.21.dylib仅由提供mysql8.0+
在site-packages/MySQLdb做什么?猜猜连接到我本地的mysql?那为什么要问21.dylib哪个不存在呢?
我已经在python脚本中插入了一些shell命令,如下所示:
#!/usr/bin/python
import os,sys,re
import gzip
import commands
path = "/home/x/nearline"
for file in os.listdir(path):
if re.match('.*\.recal.fastq.gz', file):
fullpath = os.path.join(path, file)
result = commands.getoutput('zcat fullpath |wc -l')
numseqs = int(result)/4.0
print numseqs
Run Code Online (Sandbox Code Playgroud)
zcat fullpath |wc -l 是插入的shell命令.
问题是,我fullpath在这里为所有fastq文件定义,但在被放入之后' ',似乎这fullpath不起作用.我怎么解决这个问题?
使用split命令时遇到问题.输入字符串如下:
080821_HWI-EAS301_0002_30ALBAAXX:1:8:1649:2027 83 chr10 42038185 255 36M = 42037995 -225 GCCAGGTTTAATAAATTATTTATAGAATACTGCATC @?DDEAEFDAD@FBG@CDA?DBCDEECD@D?CBA>A NM:i:0 MD:Z:36
Run Code Online (Sandbox Code Playgroud)
我想从这个字符串中抓取'2027'我的命令是:line.split(':',4)[1].split()[0]
但是,它不起作用.输出为'1'
然后我切换到line.split(':',4)
And输出仍为'1',我看到第一步拆分已经存在问题.
但是,当我尝试时line.split(':',1),我得到了预期的结果:
1:8:1649:2027 83 chr10 42038185 255 36M = 42037995-225 GCCAGGTTTAATAAATTATTTATAGAATACTGCATC @?DDEAEFDAD@FBG@CDA?DBCDEECD@D?CBA>A NM:i:0 MD:Z:36
Run Code Online (Sandbox Code Playgroud)
我对这个拆分命令感到困惑!(之前我问了类似的问题,当时分裂命令工作)谢谢
我正在尝试通过python制作直方图.我从以下代码段开始:
def histogram(L):
d = {}
for x in L:
if x in d:
d[x] += 1
else:
d[x] = 1
return d
Run Code Online (Sandbox Code Playgroud)
我理解它使用字典功能来解决问题.但我对第4行感到困惑:if x in d:
d是要构造的,还没有什么,所以如果x在d中怎么样?
最近我从一台服务器传输一组数据到hpcc(高性能计算)命令是这样的:
scp /folder1/*.fastq.gz xxx@hpcc:/home/
scp /folder2/*.fastq.gz xxx@hpcc:/home/
scp /folder3/*.fastq.gz xxx@hpcc:/home/
Run Code Online (Sandbox Code Playgroud)
我打开多个终端同时传输数据。我总共有大约 50 个这样的 fastq.gz 文件,每个文件大约 10GB。我只是想知道数据(特别是这么大的数据)在以上述方式传输时是否有可能被扭曲?
因为服务器上的数据是完好的;而一些数据被复制到hpcc后被扭曲了。
谢谢谢谢
我正在尝试使用'izip'同时从两个文件中读取行,但是出现如下错误:
>>> f1=open('/home/xug/scratch/test/test_1.fastq','r')
>>> f2=open('/home/xug/scratch/test/test_2.fastq','r')
>>> from itertools import izip
>>> for i,line1,line2 in izip(f1,f2):
... if i%4==3:
... print line1,line2
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: need more than 2 values to unpack
Run Code Online (Sandbox Code Playgroud)
我不知道为什么......什么是"需要2个以上的价值"?谢谢
hist() 将生成由许多"条形"组成的直方图
如何用一个点替换每个条形图,以便将多个点组合在一起看起来像一个连续的曲线?