Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

rtg_pairs.py 1.3KB

5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
5 anos atrás
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import itertools
  2. import pandas as pd
  3. import sys,argparse,os
  4. parser = argparse.ArgumentParser(description="this script is to preform combination on vcf files, get any two of three replicates for next jaccard index calculation")
  5. parser.add_argument('-vcf', '--vcffile', type=str, help='input vcf file', required=True)
  6. args = parser.parse_args()
  7. # Rename input:
  8. vcf_input = args.vcffile
  9. file = pd.read_csv(vcf_input,header=None,sep='\t')
  10. location_com = list(itertools.combinations(file[0],2))
  11. name_com = list(itertools.combinations(file[1],2))
  12. num = len(name_com)
  13. outfile = open('rtg_pairs.txt','w')
  14. for i in range(0,num):
  15. # prepare a
  16. one = name_com[i][0]
  17. strings_one = one.split('_')
  18. sequenceTechA = strings_one[0] + strings_one[1]
  19. sequenceSiteA = strings_one[2]
  20. sampleA = strings_one[3]
  21. repA = strings_one[4]
  22. # prepare b
  23. two = name_com[i][1]
  24. strings_two = two.split('_')
  25. sequenceTechB = strings_two[0] + strings_two[1]
  26. sequenceSiteB = strings_two[2]
  27. sampleB = strings_two[3]
  28. repB = strings_two[4]
  29. folder = one + '-' + two
  30. ## add annotation
  31. # sequencing technology
  32. if (sequenceTechA == sequenceTechB) and (sequenceSiteA == sequenceSiteB) and (sampleA == sampleB) and (repA != repB):
  33. outline = location_com[i][0] + '\t' + location_com[i][1] + '\t' + folder + '\n'
  34. outfile.write(outline)
  35. else:
  36. pass
  37. outfile.close()