我有一个文本文件(领结对齐文件)看起来像这样的递减和更新值的字段:蟒蛇:如何分隔文本
read_1 + 345995|PACid:16033981 599 AGTAGTAATCAGTCACCCGCAAGGTAGACAAGG qqqqqqqqqqqqqqqqqqqqq!!qqqqqqqqqq 0 read_2 + 949205|PACid:16054220 338 TACCAGCACTAATGCACCGGATCCCATCAGATC qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq!!q 0 31:A>T read_3 + 932004|PACid:16034380 1226 GGCACCTTATGAGAAATCAAAGTTTTTGGGTTC qqqqqqqqqqqqqqq!!qqqqqqqqqqqqq!!q 3
我要减一列#4(位置),并用更新的值打印每一行。
我可以读取文件,然后根据选项卡分隔字段,并将第4列标识为data[3]
,但之后我坚持从第4列的每个值中减去一个值,并打印每行中的所有字段更新了第4列的值。
我该如何使用Python来做到这一点?
我想是这样的:
in_file = open(sys.argv[1],'r')
out_file = open(sys.argv[2], 'w')
for line in in_file:
data = line.rstrip().split('\t')
position = int(float(data[3]) -1)
,但我不知道如何与打印与更新的位置的线进行。
问题的哪个部分卡住了? (阅读文件?识别第四列?减法?打印?) – Johnsyweb
嘿!我意识到这是我DNA序列的一部分。你从哪里得到那个的?高级互联网和它的隐私缺乏! :-) – paxdiablo
作为一个方面说明,是否有必要使用Python?因为awk很容易实现,比如'awk'BEGIN {OFS =“\ t”} NF> 0 {$ 4 - = 1;打印}' out.txt' –