我有一个制表符分隔的.txt map.txt
文件,如下所示:
#SampleID BarcodeSequence LinkerPrimerSequence sample_type Description geneticSampleID
OSBS.087.39.M.32.18.20140227 TCCCTTGTCTCC CGGCTGCGTTCTTCATCGATGC soil Plate 1A1 OSBS_087-M-32-18-20140227-gen
OSBS.048.41.M.37.33.20140227 ACGAGACTGATT CGGCTGCGTTCTTCATCGATGC soil Plate 1A2 OSBS_048-M-37-33-20140227-gen
OSBS.048.23.M.15.31.20140227 GCTGTACGGATT CGGCTGCGTTCTTCATCGATGC soil Plate 1A3 OSBS_048-M-15-31-20140227-gen
OSBS.047.21.M.20.3.20140227 ATCACCAGGTGT CGGCTGCGTTCTTCATCGATGC soil Plate 1A4 OSBS_047-M-20-3-20140227-gen
OSBS.119.23.M.18.38.20140227 TGGTCAACGATA CGGCTGCGTTCTTCATCGATGC soil Plate 1A5 OSBS_119-M-18-38-20140227-gen
OSBS.047.41.M.22.36.20140227 ATCGCACAGTAA CGGCTGCGTTCTTCATCGATGC soil Plate 1A6 OSBS_047-M-22-36-20140227-gen
OSBS.087.41.M.40.21.20140227 GTCGTGTAGCCT CGGCTGCGTTCTTCATCGATGC soil Plate 1A7 OSBS_087-M-40-21-20140227-gen
OSBS.048.21.M.5.11.20140227 AGCGGAGGTTAG CGGCTGCGTTCTTCATCGATGC soil Plate 1A8 OSBS_048-M-5-11-20140227-gen
OSBS.119.39.M.27.5.20140227 ATCCTTTGGTTC CGGCTGCGTTCTTCATCGATGC soil Plate 1A9 OSBS_119-M-27-5-20140227-gen
我想生成一个新文件,其中第一行是geneticSampleID
中的条目,第二行是BarcodeSequence
,以便输出看起来像这样:
>OSBS_087-M-32-18-20140227-gen
TCCCTTGTCTCC
>OSBS_048-M-37-33-20140227-gen
ACGAGACTGATT
>OSBS_048-M-15-31-20140227-gen
GCTGTACGGATT
对于map.txt
中的所有行, ... etc。因此,如果map.txt
有100行(或标题有101行),那么output.txt
将有200行。
我知道这可能是一个微不足道的操作,但是我目前非常困惑。
答案 0 :(得分:1)
您可以使用此df.reindex(df['group'].str.len().sort_values(ascending=False).index)
:
awk
awk -F '\t' 'NR>1{printf ">%s\n%s\n", $6, $2}' file
答案 1 :(得分:1)
是的,很简单:
tail -n +2 map.txt | cut -f1,2 | tr '\t' '\n'
那给了我
OSBS.087.39.M.32.18.20140227
TCCCTTGTCTCC
OSBS.048.41.M.37.33.20140227
ACGAGACTGATT
OSBS.048.23.M.15.31.20140227
GCTGTACGGATT
OSBS.047.21.M.20.3.20140227
ATCACCAGGTGT
OSBS.119.23.M.18.38.20140227
TGGTCAACGATA
OSBS.047.41.M.22.36.20140227
ATCGCACAGTAA
OSBS.087.41.M.40.21.20140227
GTCGTGTAGCCT
OSBS.048.21.M.5.11.20140227
AGCGGAGGTTAG
OSBS.119.39.M.27.5.20140227
ATCCTTTGGTTC
tail
取出第一行。 cut
仅给出前两个字段。 tr
将制表符替换为回车符。