Как удалить строки из файла и вывести измененный файл в R? - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть следующие данные. Это начало большого файла .SAM. Мне нужно удалить строки 24, 25 и 26 и записать вывод в тот же файл, что и файл .SAM. Есть ли простой способ сделать это?

@HD     VN:1.0  SO:unsorted
@SQ     SN:10   LN:130694993
@SQ     SN:11   LN:122082543
@SQ     SN:12   LN:120129022
@SQ     SN:13   LN:120421639
@SQ     SN:14   LN:124902244
@SQ     SN:15   LN:104043685
@SQ     SN:16   LN:98207768
@SQ     SN:17   LN:94987271
@SQ     SN:18   LN:90702639
@SQ     SN:19   LN:61431566
@SQ     SN:1    LN:195471971
@SQ     SN:2    LN:182113224
@SQ     SN:3    LN:160039680
@SQ     SN:4    LN:156508116
@SQ     SN:5    LN:151834684
@SQ     SN:6    LN:149736546
@SQ     SN:7    LN:145441459
@SQ     SN:8    LN:129401213
@SQ     SN:9    LN:124595110
@SQ     SN:X    LN:171031299
@SQ     SN:Y    LN:91744698
@PG     ID:bowtie2      PN:bowtie2      VN:2.3.4.1      CL:"/opt/rit/spack-app/linux-rhel7-x86_64/gcc-4.8.5/bowtie2-2.3.4.1-jl5zqymv3rkp64s5oovgymylg5eftfoi/bin/bowtie2-align-s --wrapper basic-0 -x /work/LAS/geetu-lab/hhvu/index_files/mm10/bowtie2-ensembl/mm10 -S /work/LAS/geetu-lab/hhvu/project1/chip-seq/1_bowtie2/I10_S64_L005.bam -U I10_S64_L005_R1_001.fastq"
@PG     ID:bowtie2-2F3DB176     PN:bowtie2      VN:2.3.4.1      CL:"/opt/rit/spack-app/linux-rhel7-x86_64/gcc-4.8.5/bowtie2-2.3.4.1-jl5zqymv3rkp64s5oovgymylg5eftfoi/bin/bowtie2-align-s --wrapper basic-0 -x /work/LAS/geetu-lab/hhvu/index_files/mm10/bowtie2-ensembl/mm10 -S /work/LAS/geetu-lab/hhvu/project1/chip-seq/1_bowtie2/I10_S64_L006.bam -U I10_S64_L006_R1_001.fastq"
@PG     ID:bowtie2-54BA705F     PN:bowtie2      VN:2.3.4.1      CL:"/opt/rit/spack-app/linux-rhel7-x86_64/gcc-4.8.5/bowtie2-2.3.4.1-jl5zqymv3rkp64s5oovgymylg5eftfoi/bin/bowtie2-align-s --wrapper basic-0 -x /work/LAS/geetu-lab/hhvu/index_files/mm10/bowtie2-ensembl/mm10 -S /work/LAS/geetu-lab/hhvu/project1/chip-seq/1_bowtie2/I10_S64_L007.bam -U I10_S64_L007_R1_001.fastq"
@PG     ID:bowtie2-31E64087     PN:bowtie2      VN:2.3.4.1      CL:"/opt/rit/spack-app/linux-rhel7-x86_64/gcc-4.8.5/bowtie2-2.3.4.1-jl5zqymv3rkp64s5oovgymylg5eftfoi/bin/bowtie2-align-s --wrapper basic-0 -x /work/LAS/geetu-lab/hhvu/index_files/mm10/bowtie2-ensembl/mm10 -S /work/LAS/geetu-lab/hhvu/project1/chip-seq/1_bowtie2/I10_S64_L008.bam -U I10_S64_L008_R1_001.fastq"
J00102:65:HF3WFBBXY:6:1101:2777:1806    16      12      77384783        1       50M     *       0       0       TCCTTTCCCAATCTGTTGGTGGTCTTTTTGTCTTACTGACGGTGTCTTTT      FFJFF7JJJFAJJJFJJJFA-JJJJJJJJFFJJJJJJJJJJJJJJFAFAA      AS:i:0  XS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:50 YT:Z:UU
J00102:65:HF3WFBBXY:8:1101:2341:1965    0       13      73416403        40      50M     *       0       0       GAGAAGGGAAGGGAACAATTGGAAGGGGGATTTGTGAGATGACGATTGGG      AAF<AFJ<7FFJJJJFFJJJJJJ<JJJJJA<FFJF-<A7<-F-<7-<A-A      AS:i:-6 XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:40C1A7     YT:Z:UU

1 Ответ

1 голос
/ 11 февраля 2020

Считать файл как вектор строк:

file_path <- "foo.SAM"
fh <- file(file_path)
file_content <- readLines(fh)
close(fh)

Редактировать вектор строки:

new_content <- file_content[-c(24, 25, 26), ]

Записать свернутый вектор строки обратно на диск:

cat(paste0(new_content, collapse="\n"), file="foo.SAM", "\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...