Hence, I suggest to change in the TopologyReader class
if c.molname not in self.molecules:
self.molecules[c.molname] = _TempMolecule(c)
else:
# COPY OR DOMAIN
c._orig_fasta_file = self.molecules[c.molname].orig_component.fasta_file
c.fasta_id = self.molecules[c.molname].orig_component.fasta_id
self.molecules[c.molname].add_component(c,c.copyname)
to
if c.molname not in self.molecules:
self.molecules[c.molname] = _TempMolecule(c)
else:
# COPY OR DOMAIN
c._orig_fasta_file = self.molecules[c.molname].orig_component._orig_fasta_file
c.fasta_id = self.molecules[c.molname].orig_component.fasta_id
self.molecules[c.molname].add_component(c,c.copyname)
To produce components as likely originally intended.
When reading topology file by the reading routine IMP.pmi.topology.TopologyReader unexpected results are obtained when the fasta_dir argument is used.
For instance, for the topology file
returns
To me this is unexpected.
Hence, I suggest to change in the TopologyReader class
to
To produce components as likely originally intended.